merge with stable
authorAugie Fackler <augie@google.com>
Wed, 06 Jun 2018 13:31:24 -0400
changeset 38239 ead71b15efd5
parent 38238 2b8c8b8d1a06 (current diff)
parent 38197 0a3ff7af24a9 (diff)
child 38240 c2456a7726c1
merge with stable
hgext/rebase.py
i18n/ja.po
i18n/pt_BR.po
mercurial/cmdutil.py
mercurial/configitems.py
mercurial/debugcommands.py
mercurial/httppeer.py
mercurial/localrepo.py
mercurial/lock.py
mercurial/revset.py
mercurial/templatefuncs.py
tests/hghave.py
tests/test-clonebundles.t
tests/test-help.t
tests/test-hgweb.t
tests/test-http-bad-server.t
tests/test-lfs-serve-access.t
tests/test-lfs-serve.t
tests/test-obsolete.t
tests/test-phases-exchange.t
tests/test-rebase-obsolete.t
--- a/.hgsigs	Sat May 26 03:01:14 2018 +0530
+++ b/.hgsigs	Wed Jun 06 13:31:24 2018 -0400
@@ -164,3 +164,4 @@
 ed5448edcbfa747b9154099e18630e49024fd47b 0 iQJEBAABCAAuFiEEK8zhT1xnJaouqK63ucncgkqlvdUFAlrXnuoQHHJhZkBkdXJpbjQyLmNvbQAKCRC5ydyCSqW91fSHEACBVg4FsCE2nN5aEKAQb7l7rG4XTQ9FbvoTYB3tkvmsLQSRfh2GB2ZDBOI7Vswo2UxXupr4qSkUQbeHrwrk9A1s5b/T5e4wSKZuFJOrkwLVZDFfUHumKomqdoVj/D8+LDt7Rz+Wm7OClO/4dTAsl2E4rkl7XPtqjC3jESGad8IBANlPVBhNUMER4eFcPZzq1qi2MrlJKEKpdeZEWJ/ow7gka/aTLqHMfRwhA3kS5X34Yai17kLQZGQdWISWYiM9Zd2b/FSTHZGy8rf9cvjXs3EXfEB5nePveDrFOfmuubVRDplO+/naJjNBqwxeB99jb7Fk3sekPZNW/NqR/w1jvQFA3OP9fS2g1OwfXMWyx6DvBJNfQwppNH3JUvA5PEiorul4GJ2nuubXk+Or1yzoRJtwOGz/GQi2BcsPKaL6niewrInFw18jMVhx/4Jbpu+glaim4EvT/PfJ5KdSwF7pJxsoiqvw7A2C2/DsZRbCeal9GrTulkNf/hgpCJOBK1DqVVq1O5MI/oYQ69HxgMq9Ip1OGJJhse3qjevBJbpNCosCpjb3htlo4go29H8yyGJb09i05WtNW2EQchrTHrlruFr7mKJ5h1mAYket74QQyaGzqwgD5kwSVnIcwHpfb8oiJTwA5R+LtbAQXWC/fFu1g1KEp/4hGOQoRU04+mYuPsrzaA==
 1ec874717d8a93b19e0d50628443e0ee5efab3a9 0 iQJEBAABCAAuFiEEK8zhT1xnJaouqK63ucncgkqlvdUFAlraM3wQHHJhZkBkdXJpbjQyLmNvbQAKCRC5ydyCSqW91RAJEACSnf/HWwS0/OZaqz4Hfh0UBgkXDmH1IC90Pc/kczf//WuXu5AVnnRHDziOlCYYZAnZ2iKu0EQI6GT2K2garaWkaEhukOnjz4WADVys6DAzJyw5iOXeEpIOlZH6hbYbsW3zVcPjiMPo8cY5tIYEy4E/8RcVly1SDtWxvt/nWYQd2MxObLrpU7bPP6a2Db4Vy8WpGRbZRJmOvDNworld5rB5M/OGgHyMa9hg2Hjn+cLtQSEJY4O92A6h2hix9xpDC7zzfoluD2piDslocTm/gyeln2BJJBAtr+aRoHO9hI0baq5yFRQLO8aqQRJJP8dXgYZIWgSU/9oVGPZoGotJyw24iiB37R/YCisKE+cEUjfVclHTDFCkzmYP2ZMbGaktohJeF7EMau0ZJ8II5F0ja3bj6GrwfpGGY5OOcQrzIYW7nB0msFWTljb34qN3nd7m+hQ5hji3Hp9CFXEbCboVmm46LqwukSDWTmnfcP8knxWbBlJ4xDxySwTtcHAJhnUmKxu7oe3D/0Ttdv7HscI40eeMdr01pLQ0Ee3a4OumQ1hn+oL+o+tlqg8PKT20q528CMHgSJp6aIlU7pEK81b+Zj6B57us4P97qSL6XLNUIfubADCaf/KUDwh1HvKhHXV2aRli1GX1REFsy0ItGZn0yhQxIDJKc/FKsEMBKvlVIHGQFw==
 6614cac550aea66d19c601e45efd1b7bd08d7c40 0 iQJVBAABCAA/FiEEOoFVFj0OIKUw/LeGR6Z/+qNGqs4FAlruOCQhHGtidWxsb2NrK21lcmN1cmlhbEByaW5nd29ybGQub3JnAAoJEEemf/qjRqrOENQQAI1ttaffqYucUEyBARP1GDlZMIGDJgNG7smPMU4Sw7YEzB9mcmxnBFlPx/9n973ucEnLJVONBSZq0VWIKJwPp1RMBpAHuGrMlhkMvYIAukg5EBN3YpA1UogHYycwLj2Ye7fNgiN5FIkaodt9++c4d1Lfu658A2pAeg8qUn5uJ77vVcZRp988u9eVDQfubS8P6bB4KZc87VDAUUeXy+AcS9KHGBmdRAabwU4m09VPZ4h8NEj3+YUPnKXBaNK9pXK5pnkmB8uFePayimnw6St6093oylQTVw/tfxGLBImnHw+6KCu2ut9r5PxXEVxVYpranGbS4jYqpzRtpQBxyo/Igu7fqrioR2rGLQL5NcHsoUEdOC7VW+0HgHjXKtRy7agmcFcgjFco47D3hor7Y16lwgm+RV2EWQ/u2M4Bbo1EWj1oxQ/0j5DOM5UeAJ3Jh64gb4sCDqJfADR8NQaxh7QiqYhn69IcjsEfzU/11VuqWXlQgghJhEEP/bojRyM0qee87CKLiTescafIfnRsNQhyhsKqdHU1QAp29cCqh3mzNxJH3PDYg4fjRaGW4PM7K5gmSXFn/Ifeza0cuZ4XLdYZ76Z1BG80pqBpKZy1unGob+RpItlSmO5jQw7OoRuf0q3Id92gawUDDLuQ7Xg3zOVqV8/wJBlHM7ZUz162bnNsO5Hn
+9c5ced5276d6e7d54f7c3dadf5247b7ee98ec79c 0 iQJEBAABCAAuFiEEK8zhT1xnJaouqK63ucncgkqlvdUFAlsYGdAQHHJhZkBkdXJpbjQyLmNvbQAKCRC5ydyCSqW91S3fEACmrG3S5eAUhnKqkXFe+HZUwmUvLKRhyWDLlWQzEHaJZQCFWxqSM1ag7JtAx3WkWwmWrOZ0+T/w/xMv81h9JAv9RsoszUT/RH4RsnWoc2ddcK93Q/PrNJ29kFjvC8j3LF42WfHEIeNqAki5c3GbprUL86KG7XVYuMvpPI/SeNSz8siPaKjXo6sg6bAupPCyapisTmeRHcCUc5UfeTTq4YQdS9UI0p9Fo8/vcqmnWY6XnQCRYs2U8Y2I2QCJBHBE5p4KrxrFsAdPWMCg0dJT0goSbzpfDjukPHQaAnUKjCtXCwrzA/KY8fDH9hm5tt1FnC6nl6BRpEHRoHqTfE1ag2QktJZTn5+JWpzz85qFDl5ktmxj1gS80jkOUJ2699RykBy7NACu+TtLJdBk+E1TN0pAU+zsrTSGiteuikEBjQP/8i4whUZCFIHLPgVlxrHWwn0/oszj1Q/u86sCxnYTflR2GLZs3fbSGBEKDDrjqwetxMlwi/3Qhf0PN9aAI7S13YnA89tGLGRLTsVsOoKiQoTExQaCUpE5jFYBLVjsTPh2AjPhG3Zaf7R5ZIvW4CbVYORNTMaYhFNnFyczILJLRid+INHLVifNiJuaLiAFD5Izq9Me4H+GpwB5AI7aG1r+01Si2KbqqpdfoK430UeDV+U/MvEU7v0RoeF30M7uVYv+kg==
--- a/.hgtags	Sat May 26 03:01:14 2018 +0530
+++ b/.hgtags	Wed Jun 06 13:31:24 2018 -0400
@@ -177,3 +177,4 @@
 ed5448edcbfa747b9154099e18630e49024fd47b 4.6rc0
 1ec874717d8a93b19e0d50628443e0ee5efab3a9 4.6rc1
 6614cac550aea66d19c601e45efd1b7bd08d7c40 4.6
+9c5ced5276d6e7d54f7c3dadf5247b7ee98ec79c 4.6.1
--- a/contrib/python-zstandard/setup.py	Sat May 26 03:01:14 2018 +0530
+++ b/contrib/python-zstandard/setup.py	Wed Jun 06 13:31:24 2018 -0400
@@ -33,7 +33,7 @@
 
 if '--warnings-as-errors' in sys.argv:
     WARNINGS_AS_ERRORS = True
-    sys.argv.remote('--warning-as-errors')
+    sys.argv.remove('--warning-as-errors')
 
 # Code for obtaining the Extension instance is in its own module to
 # facilitate reuse in other projects.
--- a/contrib/python-zstandard/setup_zstd.py	Sat May 26 03:01:14 2018 +0530
+++ b/contrib/python-zstandard/setup_zstd.py	Wed Jun 06 13:31:24 2018 -0400
@@ -123,6 +123,8 @@
         compiler_type = 'unix'
     elif compiler.compiler_type == 'msvc':
         compiler_type = 'msvc'
+    elif compiler.compiler_type == 'mingw32':
+        compiler_type = 'mingw32'
     else:
         raise Exception('unhandled compiler type: %s' %
                         compiler.compiler_type)
@@ -141,7 +143,7 @@
         extra_args.append('-DZSTD_LEGACY_SUPPORT=1')
 
     if warnings_as_errors:
-        if compiler_type == 'unix':
+        if compiler_type in ('unix', 'mingw32'):
             extra_args.append('-Werror')
         elif compiler_type == 'msvc':
             extra_args.append('/WX')
--- a/hgext/lfs/wireprotolfsserver.py	Sat May 26 03:01:14 2018 +0530
+++ b/hgext/lfs/wireprotolfsserver.py	Wed Jun 06 13:31:24 2018 -0400
@@ -18,6 +18,7 @@
 
 from mercurial import (
     pycompat,
+    util,
 )
 
 from . import blobstore
@@ -40,6 +41,9 @@
     if not rctx.repo.ui.configbool('experimental', 'lfs.serve'):
         return False
 
+    if not util.safehasattr(rctx.repo.svfs, 'lfslocalblobstore'):
+        return False
+
     if not req.dispatchpath:
         return False
 
--- a/hgext/lfs/wrapper.py	Sat May 26 03:01:14 2018 +0530
+++ b/hgext/lfs/wrapper.py	Wed Jun 06 13:31:24 2018 -0400
@@ -37,8 +37,9 @@
 def _capabilities(orig, repo, proto):
     '''Wrap server command to announce lfs server capability'''
     caps = orig(repo, proto)
-    # XXX: change to 'lfs=serve' when separate git server isn't required?
-    caps.append('lfs')
+    if util.safehasattr(repo.svfs, 'lfslocalblobstore'):
+        # XXX: change to 'lfs=serve' when separate git server isn't required?
+        caps.append('lfs')
     return caps
 
 def bypasscheckhash(self, text):
@@ -118,16 +119,18 @@
 def filelogaddrevision(orig, self, text, transaction, link, p1, p2,
                        cachedelta=None, node=None,
                        flags=revlog.REVIDX_DEFAULT_FLAGS, **kwds):
-    textlen = len(text)
-    # exclude hg rename meta from file size
-    meta, offset = revlog.parsemeta(text)
-    if offset:
-        textlen -= offset
+    # The matcher isn't available if reposetup() wasn't called.
+    lfstrack = self.opener.options.get('lfstrack')
 
-    lfstrack = self.opener.options['lfstrack']
+    if lfstrack:
+        textlen = len(text)
+        # exclude hg rename meta from file size
+        meta, offset = revlog.parsemeta(text)
+        if offset:
+            textlen -= offset
 
-    if lfstrack(self.filename, textlen):
-        flags |= revlog.REVIDX_EXTSTORED
+        if lfstrack(self.filename, textlen):
+            flags |= revlog.REVIDX_EXTSTORED
 
     return orig(self, text, transaction, link, p1, p2, cachedelta=cachedelta,
                 node=node, flags=flags, **kwds)
@@ -247,6 +250,9 @@
 def _prefetchfiles(repo, revs, match):
     """Ensure that required LFS blobs are present, fetching them as a group if
     needed."""
+    if not util.safehasattr(repo.svfs, 'lfslocalblobstore'):
+        return
+
     pointers = []
     oids = set()
     localstore = repo.svfs.lfslocalblobstore
@@ -266,10 +272,18 @@
         blobstore.remote(repo).readbatch(pointers, localstore)
 
 def _canskipupload(repo):
+    # Skip if this hasn't been passed to reposetup()
+    if not util.safehasattr(repo.svfs, 'lfsremoteblobstore'):
+        return True
+
     # if remotestore is a null store, upload is a no-op and can be skipped
     return isinstance(repo.svfs.lfsremoteblobstore, blobstore._nullremote)
 
 def candownload(repo):
+    # Skip if this hasn't been passed to reposetup()
+    if not util.safehasattr(repo.svfs, 'lfsremoteblobstore'):
+        return False
+
     # if remotestore is a null store, downloads will lead to nothing
     return not isinstance(repo.svfs.lfsremoteblobstore, blobstore._nullremote)
 
@@ -389,13 +403,16 @@
 def upgradefinishdatamigration(orig, ui, srcrepo, dstrepo, requirements):
     orig(ui, srcrepo, dstrepo, requirements)
 
-    srclfsvfs = srcrepo.svfs.lfslocalblobstore.vfs
-    dstlfsvfs = dstrepo.svfs.lfslocalblobstore.vfs
+    # Skip if this hasn't been passed to reposetup()
+    if (util.safehasattr(srcrepo.svfs, 'lfslocalblobstore') and
+        util.safehasattr(dstrepo.svfs, 'lfslocalblobstore')):
+        srclfsvfs = srcrepo.svfs.lfslocalblobstore.vfs
+        dstlfsvfs = dstrepo.svfs.lfslocalblobstore.vfs
 
-    for dirpath, dirs, files in srclfsvfs.walk():
-        for oid in files:
-            ui.write(_('copying lfs blob %s\n') % oid)
-            lfutil.link(srclfsvfs.join(oid), dstlfsvfs.join(oid))
+        for dirpath, dirs, files in srclfsvfs.walk():
+            for oid in files:
+                ui.write(_('copying lfs blob %s\n') % oid)
+                lfutil.link(srclfsvfs.join(oid), dstlfsvfs.join(oid))
 
 def upgraderequirements(orig, repo):
     reqs = orig(repo)
--- a/hgext/rebase.py	Sat May 26 03:01:14 2018 +0530
+++ b/hgext/rebase.py	Wed Jun 06 13:31:24 2018 -0400
@@ -1815,7 +1815,8 @@
                 # If 'srcrev' has a successor in rebase set but none in
                 # destination (which would be catched above), we shall skip it
                 # and its descendants to avoid divergence.
-                if any(nodemap[s] in destmap for s in successors):
+                if any(nodemap[s] in destmap for s in successors
+                       if s in nodemap):
                     obsoletewithoutsuccessorindestination.add(srcrev)
 
     return (
--- a/i18n/ja.po	Sat May 26 03:01:14 2018 +0530
+++ b/i18n/ja.po	Wed Jun 06 13:31:24 2018 -0400
@@ -1,7 +1,7 @@
 # Japanese translation for Mercurial
 # Mercurial 日本語翻訳
 #
-# Copyright (C) 2009-2017 the Mercurial team
+# Copyright (C) 2009-2018 the Mercurial team
 #
 # ========================================
 # 【翻訳用語集】
@@ -171,8 +171,8 @@
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@mercurial-scm.org>\n"
-"POT-Creation-Date: 2017-04-29 22:12+0900\n"
-"PO-Revision-Date: 2017-05-01 07:00+0900\n"
+"POT-Creation-Date: 2017-08-01 21:59+0900\n"
+"PO-Revision-Date: 2018-05-01 18:00+0900\n"
 "Last-Translator: Japanese translation team <mercurial-ja@googlegroups.com>\n"
 "Language-Team: Japanese\n"
 "Language: ja\n"
@@ -645,6 +645,48 @@
 msgstr ""
 "acl: ユーザ \"%s\" はファイル \"%s\" が許可されていません(リビジョン \"%s\")"
 
+#, fuzzy
+msgid "provide the amend command (EXPERIMENTAL)"
+msgstr "    (実験的実装)"
+
+msgid ""
+"This extension provides an ``amend`` command that is similar to\n"
+"``commit --amend`` but does not prompt an editor.\n"
+msgstr ""
+
+msgid "mark new/missing files as added/removed before committing"
+msgstr "新規/不在ファイルを、コミット前に登録/除外対象化"
+
+msgid "invoke editor on commit messages"
+msgstr "コミットログ入力にエディタを起動"
+
+msgid "use interactive mode"
+msgstr "操作対象変更の対話的な選択"
+
+msgid "store a note on the amend"
+msgstr ""
+
+msgid "[OPTION]... [FILE]..."
+msgstr "[OPTION]... [FILE]..."
+
+#, fuzzy
+msgid "amend the working copy parent with all or specified outstanding changes"
+msgstr "作業領域の変更が未コミットです"
+
+msgid ""
+"    Similar to :hg:`commit --amend`, but reuse the commit message without\n"
+"    invoking editor, unless ``--edit`` was set."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    See :hg:`help commit` for more details.\n"
+"    "
+msgstr "詳細は :hg:`help color` を参照してください。\n"
+
+msgid "cannot store a note of more than 255 bytes"
+msgstr ""
+
 msgid "check for unrecorded moves at commit time (EXPERIMENTAL)"
 msgstr "ファイル移動のコミット時自動検出 (実験的実装)"
 
@@ -852,10 +894,11 @@
 "Bugzilla へのアクセスで使用されるユーザ名で、 メールが送信されます。\n"
 "サポート対象の全ての版の Bugzilla で、 バグの状態を「解決」にできます。"
 
+#, fuzzy
 msgid ""
 "Access via the REST-API needs either a Bugzilla username and password\n"
 "or an apikey specified in the configuration. Comments are made under\n"
-"the given username or the user assoicated with the apikey in Bugzilla."
+"the given username or the user associated with the apikey in Bugzilla."
 msgstr ""
 "REST-API での利用には、 Bugzilla のユーザ名とパスワード、 または、\n"
 "設定への APIKEY 記述のいずれかが必要です。 コメントの作成は、\n"
@@ -1583,8 +1626,9 @@
 msgid "    Please use :hg:`log` instead::"
 msgstr "    本コマンドの代わりに :hg:`log` を使うようにしてください::"
 
-msgid ""
-"        hg children => hg log -r \"children()\"\n"
+#, fuzzy
+msgid ""
+"        hg children => hg log -r \"children(.)\"\n"
 "        hg children -r REV => hg log -r \"children(REV)\""
 msgstr ""
 "        hg children => hg log -r \"children()\"\n"
@@ -1679,9 +1723,10 @@
 msgid "    Examples::"
 msgstr "    例::"
 
+#, fuzzy
 msgid ""
 "      # display count of changed lines for every committer\n"
-"      hg churn -t \"{author|email}\""
+"      hg churn -T \"{author|email}\""
 msgstr ""
 "      # ユーザ毎の変更行数の表示\n"
 "      hg churn -t \"{author|email}\""
@@ -1740,7 +1785,8 @@
 "\"clonebundles\" is a server-side extension used to advertise the existence\n"
 "of pre-generated, externally hosted bundle files to clients that are\n"
 "cloning so that cloning can be faster, more reliable, and require less\n"
-"resources on the server."
+"resources on the server. \"pullbundles\" is a related feature for sending\n"
+"pre-generated bundle files to clients as part of pull operations."
 msgstr ""
 
 msgid ""
@@ -1756,8 +1802,13 @@
 msgstr ""
 
 msgid ""
-"This extension provides server operators the ability to offload potentially\n"
-"expensive clone load to an external service. Here's how it works."
+"This extension provides server operators the ability to offload\n"
+"potentially expensive clone load to an external service. Pre-generated\n"
+"bundles also allow using more CPU intensive compression, reducing the\n"
+"effective bandwidth requirements."
+msgstr ""
+
+msgid "Here's how clone bundles work:"
 msgstr ""
 
 msgid ""
@@ -1776,7 +1827,7 @@
 "7. The client reconnects to the original server and performs the equivalent\n"
 "   of :hg:`pull` to retrieve all repository data not in the bundle. (The\n"
 "   repository could have been updated between when the bundle was created\n"
-"   and when the client started the clone.)"
+"   and when the client started the clone.) This may use \"pullbundles\"."
 msgstr ""
 
 msgid ""
@@ -1789,15 +1840,33 @@
 "clones to less than 1% of original."
 msgstr ""
 
+msgid "Here's how pullbundles work:"
+msgstr ""
+
+msgid ""
+"1. A manifest file listing available bundles and describing the revisions\n"
+"   is added to the Mercurial repository on the server.\n"
+"2. A new-enough client informs the server that it supports partial pulls\n"
+"   and initiates a pull.\n"
+"3. If the server has pull bundles enabled and sees the client advertising\n"
+"   partial pulls, it checks for a matching pull bundle in the manifest.\n"
+"   A bundle matches if the format is supported by the client, the client\n"
+"   has the required revisions already and needs something from the bundle.\n"
+"4. If there is at least one matching bundle, the server sends it to the "
+"client.\n"
+"5. The client applies the bundle and notices that the server reply was\n"
+"   incomplete. It initiates another pull."
+msgstr ""
+
 msgid "To work, this extension requires the following of server operators:"
 msgstr ""
 
 msgid ""
 "* Generating bundle files of repository content (typically periodically,\n"
 "  such as once per day).\n"
-"* A file server that clients have network access to and that Python knows\n"
-"  how to talk to through its normal URL handling facility (typically an\n"
-"  HTTP server).\n"
+"* Clone bundles: A file server that clients have network access to and that\n"
+"  Python knows how to talk to through its normal URL handling facility\n"
+"  (typically an HTTP/HTTPS server).\n"
 "* A process for keeping the bundles manifest in sync with available bundle\n"
 "  files."
 msgstr ""
@@ -1818,7 +1887,7 @@
 
 msgid ""
 ":hg:`debugcreatestreamclonebundle` can be used to produce a special\n"
-"*streaming clone bundle*. These are bundle files that are extremely "
+"*streaming clonebundle*. These are bundle files that are extremely "
 "efficient\n"
 "to produce and consume (read: fast). However, they are larger than\n"
 "traditional bundle formats and require that clients support the exact set\n"
@@ -1836,12 +1905,11 @@
 "manifest``\n"
 "file containing the list of available bundle files suitable for seeding\n"
 "clones. If this file does not exist, the repository will not advertise the\n"
-"existence of clone bundles when clients connect."
-msgstr ""
-
-msgid ""
-"The manifest file contains a newline (\n"
-") delimited list of entries."
+"existence of clone bundles when clients connect. For pull bundles,\n"
+"``.hg/pullbundles.manifest`` is used."
+msgstr ""
+
+msgid "The manifest file contains a newline (\\n) delimited list of entries."
 msgstr ""
 
 msgid ""
@@ -1858,6 +1926,11 @@
 msgstr ""
 
 msgid ""
+"For pull bundles, the URL is a path under the ``.hg`` directory of the\n"
+"repository."
+msgstr ""
+
+msgid ""
 "Keys in UPPERCASE are reserved for use by Mercurial and are defined below.\n"
 "All non-uppercase keys can be used by site installations. An example use\n"
 "for custom properties is to use the *datacenter* attribute to define which\n"
@@ -1930,13 +2003,25 @@
 msgstr ""
 
 msgid ""
+"heads\n"
+"   Used for pull bundles. This contains the ``;`` separated changeset\n"
+"   hashes of the heads of the bundle content."
+msgstr ""
+
+msgid ""
+"bases\n"
+"   Used for pull bundles. This contains the ``;`` separated changeset\n"
+"   hashes of the roots of the bundle content. This can be skipped if\n"
+"   the bundle was created without ``--base``."
+msgstr ""
+
+msgid ""
 "Manifests can contain multiple entries. Assuming metadata is defined, "
 "clients\n"
 "will filter entries from the manifest that they don't support. The "
 "remaining\n"
 "entries are optionally sorted by client preferences\n"
-"(``experimental.clonebundleprefers`` config option). The client then "
-"attempts\n"
+"(``ui.clonebundleprefers`` config option). The client then attempts\n"
 "to fetch the bundle at the first URL in the remaining list."
 msgstr ""
 
@@ -1972,25 +2057,30 @@
 "Mercurial server when the bundle hosting service fails.\n"
 msgstr ""
 
-msgid "enable Mercurial color mode (DEPRECATED)"
-msgstr "Mercurial の出力のカラー化 (非推奨)"
-
-msgid ""
-"This extension enables Mercurial color mode. The feature is now directly\n"
-"available in Mercurial core. You can access it using::"
-msgstr ""
-"本エクステンションは Mercurial 出力をカラー化します。 カラー化機能は、\n"
-"Mercurial のコア機能に取り込まれたため、 以下の設定のみで利用可能です::"
-
-msgid ""
-"  [ui]\n"
-"  color = auto"
-msgstr ""
-"  [ui]\n"
-"  color = auto"
-
-msgid "See :hg:`help color` for details.\n"
-msgstr "詳細は :hg:`help color` を参照してください。\n"
+msgid "adds a new flag extras to commit (ADVANCED)"
+msgstr ""
+
+msgid "KEY=VALUE"
+msgstr "キーワード=値"
+
+#, fuzzy
+msgid "set a changeset's extra values"
+msgstr "電子メールによる変更内容のパッチ送付"
+
+#, python-format
+msgid "unable to parse '%s', should follow KEY=VALUE format"
+msgstr ""
+
+#, python-format
+msgid "unable to parse '%s', keys can't be empty"
+msgstr ""
+
+msgid "keys can only contain ascii letters, digits, '_' and '-'"
+msgstr ""
+
+#, python-format
+msgid "key '%s' is used internally, can't be set manually"
+msgstr ""
 
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr "他の構成管理ツールから Mercurial への履歴取り込み"
@@ -2294,11 +2384,12 @@
 msgid "      original_branch_name new_branch_name"
 msgstr "      変換元ブランチ名 変換先ブランチ名"
 
+#, fuzzy
 msgid ""
 "    where \"original_branch_name\" is the name of the branch in the\n"
 "    source repository, and \"new_branch_name\" is the name of the branch\n"
-"    is the destination repository. No whitespace is allowed in the\n"
-"    branch names. This can be used to (for instance) move code in one\n"
+"    is the destination repository. No whitespace is allowed in the new\n"
+"    branch name. This can be used to (for instance) move code in one\n"
 "    repository from \"default\" to a named branch."
 msgstr ""
 "    \"変換元ブランチ名\" が変換元リポジトリにおけるブランチ名で、\n"
@@ -2403,6 +2494,14 @@
 "        不十分な恐れがあります。"
 
 msgid ""
+"    :convert.cvsps.logencoding: Specify encoding name to be used for\n"
+"        transcoding CVS log messages. Multiple encoding names can be\n"
+"        specified as a list (see :hg:`help config.Syntax`), but only\n"
+"        the first acceptable encoding in the list is used per CVS log\n"
+"        entries. This transcoding is executed before cvslog hook below."
+msgstr ""
+
+msgid ""
 "    :convert.cvsps.mergeto: Specify a regular expression to which\n"
 "        commit log messages are matched. If a match occurs, then the\n"
 "        conversion process will insert a dummy revision merging the\n"
@@ -3110,6 +3209,14 @@
 msgid "%d log entries\n"
 msgstr "%d 件のログエントリ\n"
 
+#, fuzzy
+msgid "check convert.cvsps.logencoding configuration"
+msgstr "%s 設定を確認してください"
+
+#, python-format
+msgid "no encoding can transcode CVS log message for %s of %s"
+msgstr ""
+
 msgid "creating changesets\n"
 msgstr "リビジョン作成中\n"
 
@@ -3755,6 +3862,13 @@
 "スナップショットディレクトリへのパス) を使って起動されます。"
 
 msgid ""
+"If there is more than one file being compared and the \"child\" revision\n"
+"is the working directory, any modifications made in the external diff\n"
+"program will be copied back to the working directory from the temporary\n"
+"directory."
+msgstr ""
+
+msgid ""
 "The extdiff extension also allows you to configure new diff commands, so\n"
 "you do not need to type :hg:`extdiff -p kdiff3` always. ::"
 msgstr ""
@@ -4018,9 +4132,6 @@
 msgid "a specific revision you would like to pull"
 msgstr "取り込み対象リビジョンの指定"
 
-msgid "invoke editor on commit messages"
-msgstr "コミットログ入力にエディタを起動"
-
 msgid "edit commit message (DEPRECATED)"
 msgstr "コミットログの編集 (非推奨)"
 
@@ -4110,6 +4221,160 @@
 msgid "new changeset %d:%s merges remote changes with local\n"
 msgstr "新規リビジョン %d:%s により、連携先とローカルのリビジョンをマージ\n"
 
+#, fuzzy
+msgid "rewrite file content in changesets or working copy (EXPERIMENTAL)"
+msgstr ""
+"``wdir``\n"
+"    作業領域ディレクトリを表す値 (実験的実装)"
+
+msgid ""
+"Provides a command that runs configured tools on the contents of modified "
+"files,\n"
+"writing back any fixes to the working copy or replacing changesets."
+msgstr ""
+
+msgid ""
+"Here is an example configuration that causes :hg:`fix` to apply automatic\n"
+"formatting fixes to modified lines in C++ code::"
+msgstr ""
+
+msgid ""
+"  [fix]\n"
+"  clang-format:command=clang-format --assume-filename={rootpath}\n"
+"  clang-format:linerange=--lines={first}:{last}\n"
+"  clang-format:fileset=set:**.cpp or **.hpp"
+msgstr ""
+
+msgid ""
+"The :command suboption forms the first part of the shell command that will "
+"be\n"
+"used to fix a file. The content of the file is passed on standard input, and "
+"the\n"
+"fixed file content is expected on standard output. If there is any output "
+"on\n"
+"standard error, the file will not be affected. Some values may be "
+"substituted\n"
+"into the command::"
+msgstr ""
+
+msgid ""
+"  {rootpath}  The path of the file being fixed, relative to the repo root\n"
+"  {basename}  The name of the file being fixed, without the directory path"
+msgstr ""
+
+msgid ""
+"If the :linerange suboption is set, the tool will only be run if there are\n"
+"changed lines in a file. The value of this suboption is appended to the "
+"shell\n"
+"command once for every range of changed lines in the file. Some values may "
+"be\n"
+"substituted into the command::"
+msgstr ""
+
+msgid ""
+"  {first}   The 1-based line number of the first line in the modified range\n"
+"  {last}    The 1-based line number of the last line in the modified range"
+msgstr ""
+
+msgid ""
+"The :fileset suboption determines which files will be passed through each\n"
+"configured tool. See :hg:`help fileset` for possible values. If there are "
+"file\n"
+"arguments to :hg:`fix`, the intersection of these filesets is used."
+msgstr ""
+
+msgid ""
+"There is also a configurable limit for the maximum size of file that will "
+"be\n"
+"processed by :hg:`fix`::"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"  [fix]\n"
+"  maxfilesize=2MB"
+msgstr ""
+"  [largefiles]\n"
+"  minsize = 2"
+
+msgid "fix all non-public non-obsolete revisions"
+msgstr ""
+
+msgid ""
+"revisions to diff against (overrides automatic selection, and applies to "
+"every revision being fixed)"
+msgstr ""
+
+#, fuzzy
+msgid "revisions to fix"
+msgstr "移植対象リビジョン"
+
+#, fuzzy
+msgid "fix the working directory"
+msgstr "作業領域の変更"
+
+msgid "always fix every line of a file"
+msgstr ""
+
+#, fuzzy
+msgid "rewrite file content in changesets or working directory"
+msgstr "%s は作業領域の祖先ではありません"
+
+msgid ""
+"    Runs any configured tools to fix the content of files. Only affects "
+"files\n"
+"    with changes, unless file arguments are provided. Only affects changed "
+"lines\n"
+"    of files, unless the --whole flag is used. Some tools may always affect "
+"the\n"
+"    whole file regardless of --whole."
+msgstr ""
+
+msgid ""
+"    If revisions are specified with --rev, those revisions will be checked, "
+"and\n"
+"    they may be replaced with new revisions that have fixed file content.  "
+"It is\n"
+"    desirable to specify all descendants of each specified revision, so that "
+"the\n"
+"    fixes propagate to the descendants. If all descendants are fixed at the "
+"same\n"
+"    time, no merging, rebasing, or evolution will be required."
+msgstr ""
+
+msgid ""
+"    If --working-dir is used, files with uncommitted changes in the working "
+"copy\n"
+"    will be fixed. If the checked-out revision is also fixed, the working\n"
+"    directory will update to the replacement revision."
+msgstr ""
+
+msgid ""
+"    When determining what lines of each file to fix at each revision, the "
+"whole\n"
+"    set of revisions being fixed is considered, so that fixes to earlier\n"
+"    revisions are not forgotten in later ones. The --base flag can be used "
+"to\n"
+"    override this default behavior, though it is not usually desirable to do "
+"so.\n"
+"    "
+msgstr ""
+
+#, fuzzy
+msgid "cannot specify both \"--rev\" and \"--all\""
+msgstr "--noupdate と --updaterev は併用できません"
+
+#, fuzzy, python-format
+msgid "ignoring file larger than %s: %s\n"
+msgstr "不正な文字セットを無視します: %s\n"
+
+#, fuzzy
+msgid "can only fix a changeset together with all its descendants"
+msgstr "対象の全子孫が編集対象に含まれる場合のみリビジョンの編集が可能です。"
+
+msgid "wdir"
+msgstr ""
+
 msgid "Faster status operations with the Watchman file monitor (EXPERIMENTAL)"
 msgstr ""
 
@@ -4131,6 +4396,11 @@
 "https://facebook.github.io/watchman/ and make sure it is in your PATH."
 msgstr ""
 
+msgid ""
+"fsmonitor is incompatible with the largefiles and eol extensions, and\n"
+"will disable itself if any of those are active."
+msgstr ""
+
 msgid "The following configuration options exist:"
 msgstr ""
 
@@ -4188,8 +4458,25 @@
 msgstr ""
 
 msgid ""
-"fsmonitor is incompatible with the largefiles and eol extensions, and\n"
-"will disable itself if any of those are active."
+"    [fsmonitor]\n"
+"    warn_when_unused = (boolean)"
+msgstr ""
+
+msgid ""
+"Whether to print a warning during certain operations when fsmonitor would "
+"be\n"
+"beneficial to performance but isn't enabled."
+msgstr ""
+
+msgid ""
+"    [fsmonitor]\n"
+"    warn_update_file_count = (integer)"
+msgstr ""
+
+msgid ""
+"If ``warn_when_unused`` is set and fsmonitor isn't enabled, a warning will\n"
+"be printed during working directory updates if this many files will be\n"
+"created.\n"
 msgstr ""
 
 msgid "unknown"
@@ -4224,13 +4511,181 @@
 "disabled.\n"
 msgstr ""
 
-#, python-format
-msgid "type '%s' has no property '%s'"
-msgstr ""
-
 msgid "warning: unable to write out fsmonitor state\n"
 msgstr ""
 
+msgid "try mapping git commands to Mercurial commands"
+msgstr ""
+
+msgid "Tries to map a given git command to a Mercurial command:"
+msgstr ""
+
+msgid ""
+"  $ hg githelp -- git checkout master\n"
+"  hg update master"
+msgstr ""
+
+msgid ""
+"If an unknown command or parameter combination is detected, an error is\n"
+"produced.\n"
+msgstr ""
+
+msgid "hg githelp"
+msgstr ""
+
+msgid "suggests the Mercurial equivalent of the given git command"
+msgstr ""
+
+msgid ""
+"    Usage: hg githelp -- <git command>\n"
+"    "
+msgstr ""
+
+msgid "missing git command - usage: hg githelp -- <git command>"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "ignoring unknown option %s\n"
+msgstr "未知の改行形式 '%s' (%s 由来) を無視\n"
+
+msgid ""
+"note: Mercurial will commit when complete, as there is no staging area in "
+"Mercurial"
+msgstr ""
+
+msgid "note: use hg addremove to remove files that have been deleted."
+msgstr ""
+
+#, fuzzy
+msgid "See 'hg help bisect' for how to use bisect."
+msgstr "詳細は 'hg help histedit' を参照"
+
+msgid "Mercurial has no concept of upstream branches\n"
+msgstr ""
+
+msgid "note: use --no-backup to avoid creating .orig files"
+msgstr ""
+
+msgid "note: hg graft does not have --abort."
+msgstr ""
+
+msgid ""
+"note: Mercurial does not have bare clones. -U will clone the repo without "
+"checking out a commit"
+msgstr ""
+
+msgid ""
+"note: Mercurial doesn't have a staging area, so there is no --all. -A will "
+"add and remove files for you though."
+msgstr ""
+
+msgid ""
+"This command has been deprecated in the git project, thus isn't supported by "
+"this tool."
+msgstr ""
+
+msgid ""
+"note: Mercurial has no concept of a staging area, so --cached does nothing."
+msgstr ""
+
+msgid ""
+"Mercurial does not enable external difftool by default. You need to enable "
+"the extdiff extension in your .hgrc file by adding\n"
+"extdiff =\n"
+"to the [extensions] section and then running"
+msgstr ""
+
+msgid "hg extdiff -p <program>"
+msgstr ""
+
+#, fuzzy
+msgid "See 'hg help extdiff' and 'hg help -e extdiff' for more information.\n"
+msgstr ""
+"    用法等の詳細は :hg:`help qnew` および :hg:`help record`\n"
+"    を参照してください。"
+
+msgid ""
+"note: Mercurial doesn't have refspecs. -r can be used to specify which "
+"commits you want to pull. -B can be used to specify which bookmark you want "
+"to pull."
+msgstr ""
+
+msgid ""
+"note: -v prints the entire commit message like Git does. To print just the "
+"first line, drop the -v."
+msgstr ""
+
+#, fuzzy
+msgid "note: see hg help revset for information on how to filter log output."
+msgstr "    衝突の扱いに関する詳細は :hg:`help resolve` を参照してください。"
+
+msgid ""
+"note: --format format:??? equates to Mercurial's --template. See hg help "
+"templates for more info."
+msgstr ""
+
+msgid ""
+"note: --pretty/format/oneline equate to Mercurial's --style or --template. "
+"See hg help templates for more info."
+msgstr ""
+
+msgid "note: Mercurial doesn't have a staging area, ignoring --stage\n"
+msgstr ""
+
+msgid "NOTE: ancestors() is part of the revset language.\n"
+msgstr ""
+
+msgid "Learn more about revsets with 'hg help revsets'"
+msgstr ""
+
+msgid ""
+"note: Mercurial doesn't have refspecs. -r can be used to specify which "
+"commits you want to push. -B can be used to specify which bookmark you want "
+"to push."
+msgstr ""
+
+msgid "note: hg histedit does not perform a rebase. It just edits history."
+msgstr ""
+
+msgid ""
+"also note: 'hg histedit' will automatically detect your stack, so no second "
+"argument is necessary."
+msgstr ""
+
+msgid ""
+"note: if you're trying to lift a commit off one branch, try hg rebase -d "
+"<destination commit> -s <commit to be lifted>"
+msgstr ""
+
+msgid ""
+"note: in hg commits can be deleted from repo but we always have backups.\n"
+msgstr ""
+
+msgid "NOTE: --mixed has no meaning since Mercurial has no staging area"
+msgstr ""
+
+msgid "NOTE: --soft has no meaning since Mercurial has no staging area"
+msgstr ""
+
+msgid "note: hg backout doesn't support multiple commits at once"
+msgstr ""
+
+#, fuzzy
+msgid "note: hg root prints the root of the repository"
+msgstr "    現リポジトリのルートディレクトリ位置を表示します。"
+
+msgid "note: see hg help revset for how to refer to commits\n"
+msgstr ""
+
+msgid ""
+"note: Mercurial doesn't have equivalents to the git stash branch, show, "
+"clear, or create actions."
+msgstr ""
+
+#, fuzzy, python-format
+msgid "error: unknown git svn command %s\n"
+msgstr "hg: 未知のコマンド '%s'\n"
+
 msgid "commands to sign and verify changesets"
 msgstr "リビジョンへの署名および検証コマンド"
 
@@ -4641,6 +5096,7 @@
 " pick 030b686bedc4 Add gamma\n"
 " pick 7c2fd3b9020c Add delta"
 
+#, fuzzy
 msgid ""
 " # Edit history between c561b4e977df and 7c2fd3b9020c\n"
 " #\n"
@@ -4653,6 +5109,7 @@
 " #  r, roll = like fold, but discard this commit's description and date\n"
 " #  d, drop = remove commit from history\n"
 " #  m, mess = edit commit message without changing commit content\n"
+" #  b, base = checkout changeset and apply further changesets from there\n"
 " #"
 msgstr ""
 " # リビジョン c561b4e977df から 7c2fd3b9020c にかけての履歴の改変\n"
@@ -4966,6 +5423,10 @@
 msgid "histedit"
 msgstr "histedit"
 
+#, fuzzy, python-format
+msgid "invalid changeset %s"
+msgstr "リビジョン %s の展開中"
+
 #, python-format
 msgid "unknown changeset %s listed"
 msgstr "未知のリビジョン %s が指定されました"
@@ -5029,6 +5490,9 @@
 msgstr ""
 "%s: 併合できません - 作業領域は直前のコミット %s の子孫ではありません\n"
 
+msgid "checkout changeset and apply further changesets from there"
+msgstr ""
+
 #, python-format
 msgid "%s \"%s\" changeset was an edited list candidate"
 msgstr "%s の適用対象が編集対象リビジョン \"%s\" です"
@@ -5130,6 +5594,11 @@
 msgid "    - `edit` to edit this changeset (preserving date)"
 msgstr "    - `edit` で変更内容を再編集 (日付は保持)"
 
+#, fuzzy
+msgid ""
+"    - `base` to checkout changeset and apply further changesets from there"
+msgstr "リポジトリからの、 特定リビジョンおよびその子孫の除外"
+
 msgid "    There are a number of ways to select the root changeset:"
 msgstr "    改変対象リビジョンの指定には、 以下の様な方法があります:"
 
@@ -5359,6 +5828,10 @@
 msgid "warning: histedit rules saved to: .hg/histedit-last-edit.txt\n"
 msgstr "警告: histedit の操作指示は .hg/histedit-last-edit.txt に保存\n"
 
+#, fuzzy, python-format
+msgid "first changeset cannot use verb \"%s\""
+msgstr "リビジョン %s をそれ自身で廃止することはできません"
+
 msgid "no rules provided"
 msgstr "処理内容指定が空です"
 
@@ -5376,10 +5849,6 @@
 "てください。"
 
 #, python-format
-msgid "histedit: moving bookmarks %s from %s to %s\n"
-msgstr "histedit: ブックマーク %s を %s から %s に移動中\n"
-
-#, python-format
 msgid "histedit in progress, can't strip %s"
 msgstr "histedit による履歴改変が未完了のため、%s を除外できません"
 
@@ -5401,8 +5870,184 @@
 msgid "hg histedit --continue"
 msgstr "hg histedit --continue"
 
-msgid "checkout changeset and apply further changesets from there"
-msgstr ""
+#, fuzzy
+msgid " store some pushes in a remote blob store on the server (EXPERIMENTAL)"
+msgstr "共有元情報を相対パスで保持 (実験的実装)"
+
+msgid ""
+"    [infinitepush]\n"
+"    # Server-side and client-side option. Pattern of the infinitepush "
+"bookmark\n"
+"    branchpattern = PATTERN"
+msgstr ""
+
+msgid ""
+"    # Server or client\n"
+"    server = False"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Possible values: 'disk' or 'sql'. Fails if not "
+"set\n"
+"    indextype = disk"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=sql.\n"
+"    # Format: 'IP:PORT:DB_NAME:USER:PASSWORD'\n"
+"    sqlhost = IP:PORT:DB_NAME:USER:PASSWORD"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=disk.\n"
+"    # Filesystem path to the index store\n"
+"    indexpath = PATH"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Possible values: 'disk' or 'external'\n"
+"    # Fails if not set\n"
+"    storetype = disk"
+msgstr ""
+
+msgid ""
+"    # Server-side option.\n"
+"    # Path to the binary that will save bundle to the bundlestore\n"
+"    # Formatted cmd line will be passed to it (see `put_args`)\n"
+"    put_binary = put"
+msgstr ""
+
+msgid ""
+"    # Serser-side option. Used only if storetype=external.\n"
+"    # Format cmd-line string for put binary. Placeholder: {filename}\n"
+"    put_args = {filename}"
+msgstr ""
+
+msgid ""
+"    # Server-side option.\n"
+"    # Path to the binary that get bundle from the bundlestore.\n"
+"    # Formatted cmd line will be passed to it (see `get_args`)\n"
+"    get_binary = get"
+msgstr ""
+
+msgid ""
+"    # Serser-side option. Used only if storetype=external.\n"
+"    # Format cmd-line string for get binary. Placeholders: {filename} "
+"{handle}\n"
+"    get_args = {filename} {handle}"
+msgstr ""
+
+msgid ""
+"    # Server-side option\n"
+"    logfile = FIlE"
+msgstr ""
+
+msgid ""
+"    # Server-side option\n"
+"    loglevel = DEBUG"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=sql.\n"
+"    # Sets mysql wait_timeout option.\n"
+"    waittimeout = 300"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=sql.\n"
+"    # Sets mysql innodb_lock_wait_timeout option.\n"
+"    locktimeout = 120"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=sql.\n"
+"    # Name of the repository\n"
+"    reponame = ''"
+msgstr ""
+
+msgid ""
+"    # Client-side option. Used by --list-remote option. List of remote "
+"scratch\n"
+"    # patterns to list if no patterns are specified.\n"
+"    defaultremotepatterns = ['*']"
+msgstr ""
+
+msgid ""
+"    # Instructs infinitepush to forward all received bundle2 parts to the\n"
+"    # bundle for storage. Defaults to False.\n"
+"    storeallparts = True"
+msgstr ""
+
+msgid ""
+"    # routes each incoming push to the bundlestore. defaults to False\n"
+"    pushtobundlestore = True"
+msgstr ""
+
+msgid ""
+"    [remotenames]\n"
+"    # Client-side option\n"
+"    # This option should be set only if remotenames extension is enabled.\n"
+"    # Whether remote bookmarks are tracked by remotenames extension.\n"
+"    bookmarks = True\n"
+msgstr ""
+
+msgid "please set infinitepush.sqlhost"
+msgstr ""
+
+msgid "please set infinitepush.reponame"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "invalid log level %s"
+msgstr "不正なローカルアドレス: %s"
+
+#, fuzzy, python-format
+msgid "unknown infinitepush store type specified %s"
+msgstr "--type に未知のバンドル種別が指定されました"
+
+#, fuzzy, python-format
+msgid "unknown infinitepush index type specified %s"
+msgstr "--type に未知のバンドル種別が指定されました"
+
+#, fuzzy
+msgid "force push to go to bundle store (EXPERIMENTAL)"
+msgstr "表示対象リビジョン"
+
+msgid "default repository not configured!"
+msgstr "デフォルトの連携先が設定されていません"
+
+msgid "see 'hg help config.paths'"
+msgstr "詳細は 'hg help config.paths' 参照"
+
+#, fuzzy
+msgid "infinitepush bookmark '{}' does not exist in path '{}'"
+msgstr "ブックマーク '%s' は存在しません"
+
+msgid "no changes found\n"
+msgstr "差分はありません\n"
+
+#, fuzzy
+msgid "storing changesets on the bundlestore\n"
+msgstr "連携先リポジトリに含まれないリビジョンの表示"
+
+msgid "cannot push more than one head to a scratch branch"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "pushing %d commit%s:\n"
+msgstr "%s への反映中\n"
+
+#, fuzzy
+msgid "no commits to push"
+msgstr "リビジョン指定は空です"
+
+#, fuzzy, python-format
+msgid "no server support for %r"
+msgstr "%s 機能が未サポートです"
+
+#, fuzzy
+msgid "nothing to push"
+msgstr "rebase の必要はありません"
 
 msgid "track previous positions of bookmarks (EXPERIMENTAL)"
 msgstr ""
@@ -6028,79 +6673,6 @@
 "最初の大容量ファイルを追加登録する際には、 :hg:`add` に明示的に --large \n"
 "を指定する必要があります。\n"
 
-msgid "convert a normal repository to a largefiles repository"
-msgstr "既存リポジトリから largefiles を利用するリポジトリへの変換"
-
-msgid ""
-"    Convert repository SOURCE to a new repository DEST, identical to\n"
-"    SOURCE except that certain files will be converted as largefiles:\n"
-"    specifically, any file that matches any PATTERN *or* whose size is\n"
-"    above the minimum size threshold is converted as a largefile. The\n"
-"    size used to determine whether or not to track a file as a\n"
-"    largefile is the size of the first version of the file. The\n"
-"    minimum size can be specified either with --size or in\n"
-"    configuration as ``largefiles.size``."
-msgstr ""
-"    リポジトリ SOURCE を変換し、 新規リポジトリ DEST を生成します。\n"
-"    SOURCE に対する DEST の違いは、 指定パターンへの名前の合致、 または、\n"
-"    指定閾値以上のサイズのファイルが、 大容量ファイル扱いになっている、\n"
-"    という点です。 大容量ファイル扱いの要否判定に使用するサイズ値には、\n"
-"    各ファイルが最初に登録された時点のサイズが使用されます。\n"
-"    サイズ閾値の指定は、 --size か、 ``largefiles.size``\n"
-"    設定によって行います。"
-
-msgid ""
-"    After running this command you will need to make sure that\n"
-"    largefiles is enabled anywhere you intend to push the new\n"
-"    repository."
-msgstr ""
-"    このコマンドの実施後は、 変換後リポジトリの連携先リポジトリでも、\n"
-"    largefiles エクステンションが有効になっている事を確認してください。"
-
-msgid ""
-"    Use --to-normal to convert largefiles back to normal files; after\n"
-"    this, the DEST repository can be used without largefiles at all."
-msgstr ""
-"    largefiles エクステンションを使用しないリポジトリへの変換には、\n"
-"    --to-normal を指定します。 変換後リポジトリは、 largefiles\n"
-"    エクステンション無しでも使用できます。"
-
-msgid "pull largefiles for the specified revisions from the specified source"
-msgstr "指定リビジョンに関連する大容量ファイルの取り込み"
-
-msgid ""
-"    Pull largefiles that are referenced from local changesets but missing\n"
-"    locally, pulling from a remote repository to the local cache."
-msgstr ""
-"    作業中リポジトリ中にある指定リビジョンに関連する大容量ファイルのうち、\n"
-"    未取得のものを取り込み、 キャッシュ領域に保存します。"
-
-msgid ""
-"    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See :hg:`help urls` for more information."
-msgstr ""
-"    連携先が省略された場合、 'default' パスが連携先として使用されます。\n"
-"    詳細は :hg:`help urls` を参照してください。"
-
-msgid "      Some examples:"
-msgstr "      例:"
-
-msgid "      - pull largefiles for all branch heads::"
-msgstr "      - 全名前付きブランチのヘッドに関連する大容量ファイルを取得::"
-
-msgid "          hg lfpull -r \"head() and not closed()\""
-msgstr "          hg lfpull -r \"head() and not closed()\""
-
-msgid "      - pull largefiles on the default branch::"
-msgstr "      - default ブランチのリビジョンに関連する大容量ファイルを取得::"
-
-msgid ""
-"          hg lfpull -r \"branch(default)\"\n"
-"    "
-msgstr ""
-"          hg lfpull -r \"branch(default)\"\n"
-"    "
-
 #, python-format
 msgid "error getting id %s from url %s for file %s: %s\n"
 msgstr "識別子 %s (連携先 %s のファイル %s) に対するエラー: %s\n"
@@ -6141,6 +6713,43 @@
 msgid "hg lfconvert SOURCE DEST [FILE ...]"
 msgstr "hg lfconvert SOURCE DEST [FILE ...]"
 
+msgid "convert a normal repository to a largefiles repository"
+msgstr "既存リポジトリから largefiles を利用するリポジトリへの変換"
+
+msgid ""
+"    Convert repository SOURCE to a new repository DEST, identical to\n"
+"    SOURCE except that certain files will be converted as largefiles:\n"
+"    specifically, any file that matches any PATTERN *or* whose size is\n"
+"    above the minimum size threshold is converted as a largefile. The\n"
+"    size used to determine whether or not to track a file as a\n"
+"    largefile is the size of the first version of the file. The\n"
+"    minimum size can be specified either with --size or in\n"
+"    configuration as ``largefiles.size``."
+msgstr ""
+"    リポジトリ SOURCE を変換し、 新規リポジトリ DEST を生成します。\n"
+"    SOURCE に対する DEST の違いは、 指定パターンへの名前の合致、 または、\n"
+"    指定閾値以上のサイズのファイルが、 大容量ファイル扱いになっている、\n"
+"    という点です。 大容量ファイル扱いの要否判定に使用するサイズ値には、\n"
+"    各ファイルが最初に登録された時点のサイズが使用されます。\n"
+"    サイズ閾値の指定は、 --size か、 ``largefiles.size``\n"
+"    設定によって行います。"
+
+msgid ""
+"    After running this command you will need to make sure that\n"
+"    largefiles is enabled anywhere you intend to push the new\n"
+"    repository."
+msgstr ""
+"    このコマンドの実施後は、 変換後リポジトリの連携先リポジトリでも、\n"
+"    largefiles エクステンションが有効になっている事を確認してください。"
+
+msgid ""
+"    Use --to-normal to convert largefiles back to normal files; after\n"
+"    this, the DEST repository can be used without largefiles at all."
+msgstr ""
+"    largefiles エクステンションを使用しないリポジトリへの変換には、\n"
+"    --to-normal を指定します。 変換後リポジトリは、 largefiles\n"
+"    エクステンション無しでも使用できます。"
+
 #, python-format
 msgid "%s is not a local Mercurial repo"
 msgstr "%s はローカルの Mercurial リポジトリではありません"
@@ -6207,11 +6816,47 @@
 msgid "-r REV... [-e CMD] [--remotecmd CMD] [SOURCE]"
 msgstr "-r REV... [-e CMD] [--remotecmd CMD] [SOURCE]"
 
+msgid "pull largefiles for the specified revisions from the specified source"
+msgstr "指定リビジョンに関連する大容量ファイルの取り込み"
+
+msgid ""
+"    Pull largefiles that are referenced from local changesets but missing\n"
+"    locally, pulling from a remote repository to the local cache."
+msgstr ""
+"    作業中リポジトリ中にある指定リビジョンに関連する大容量ファイルのうち、\n"
+"    未取得のものを取り込み、 キャッシュ領域に保存します。"
+
+msgid ""
+"    If SOURCE is omitted, the 'default' path will be used.\n"
+"    See :hg:`help urls` for more information."
+msgstr ""
+"    連携先が省略された場合、 'default' パスが連携先として使用されます。\n"
+"    詳細は :hg:`help urls` を参照してください。"
+
+msgid "      Some examples:"
+msgstr "      例:"
+
+msgid "      - pull largefiles for all branch heads::"
+msgstr "      - 全名前付きブランチのヘッドに関連する大容量ファイルを取得::"
+
+msgid "          hg lfpull -r \"head() and not closed()\""
+msgstr "          hg lfpull -r \"head() and not closed()\""
+
+msgid "      - pull largefiles on the default branch::"
+msgstr "      - default ブランチのリビジョンに関連する大容量ファイルを取得::"
+
+msgid ""
+"          hg lfpull -r \"branch(default)\"\n"
+"    "
+msgstr ""
+"          hg lfpull -r \"branch(default)\"\n"
+"    "
+
 msgid "no revisions specified"
 msgstr "リビジョン指定がありません"
 
-#, python-format
-msgid "pulling largefiles for revision %s\n"
+#, fuzzy, python-format
+msgid "pulling largefiles for revision %d\n"
 msgstr "リビジョン %s に関連する大容量ファイルの取得中\n"
 
 #, python-format
@@ -6483,6 +7128,298 @@
 msgid "download all versions of all largefiles"
 msgstr "全リビジョンに関連する大容量ファイルを取得"
 
+#, fuzzy
+msgid "lfs - large file support (EXPERIMENTAL)"
+msgstr "当該テンプレートで表示をカスタマイズ (実験的実装)"
+
+msgid ""
+"This extension allows large files to be tracked outside of the normal\n"
+"repository storage and stored on a centralized server, similar to the\n"
+"``largefiles`` extension.  The ``git-lfs`` protocol is used when\n"
+"communicating with the server, so existing git infrastructure can be\n"
+"harnessed.  Even though the files are stored outside of the repository,\n"
+"they are still integrity checked in the same manner as normal files."
+msgstr ""
+
+msgid ""
+"The files stored outside of the repository are downloaded on demand,\n"
+"which reduces the time to clone, and possibly the local disk usage.\n"
+"This changes fundamental workflows in a DVCS, so careful thought\n"
+"should be given before deploying it.  :hg:`convert` can be used to\n"
+"convert LFS repositories to normal repositories that no longer\n"
+"require this extension, and do so without changing the commit hashes.\n"
+"This allows the extension to be disabled if the centralized workflow\n"
+"becomes burdensome.  However, the pre and post convert clones will\n"
+"not be able to communicate with each other unless the extension is\n"
+"enabled on both."
+msgstr ""
+
+msgid ""
+"To start a new repository, or to add LFS files to an existing one, just\n"
+"create an ``.hglfs`` file as described below in the root directory of\n"
+"the repository.  Typically, this file should be put under version\n"
+"control, so that the settings will propagate to other repositories with\n"
+"push and pull.  During any commit, Mercurial will consult this file to\n"
+"determine if an added or modified file should be stored externally.  The\n"
+"type of storage depends on the characteristics of the file at each\n"
+"commit.  A file that is near a size threshold may switch back and forth\n"
+"between LFS and normal storage, as needed."
+msgstr ""
+
+msgid ""
+"Alternately, both normal repositories and largefile controlled\n"
+"repositories can be converted to LFS by using :hg:`convert` and the\n"
+"``lfs.track`` config option described below.  The ``.hglfs`` file\n"
+"should then be created and added, to control subsequent LFS selection.\n"
+"The hashes are also unchanged in this case.  The LFS and non-LFS\n"
+"repositories can be distinguished because the LFS repository will\n"
+"abort any command if this extension is disabled."
+msgstr ""
+
+msgid ""
+"Committed LFS files are held locally, until the repository is pushed.\n"
+"Prior to pushing the normal repository data, the LFS files that are\n"
+"tracked by the outgoing commits are automatically uploaded to the\n"
+"configured central server.  No LFS files are transferred on\n"
+":hg:`pull` or :hg:`clone`.  Instead, the files are downloaded on\n"
+"demand as they need to be read, if a cached copy cannot be found\n"
+"locally.  Both committing and downloading an LFS file will link the\n"
+"file to a usercache, to speed up future access.  See the `usercache`\n"
+"config setting described below."
+msgstr ""
+
+msgid ".hglfs::"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    The extension reads its configuration from a versioned ``.hglfs``\n"
+"    configuration file found in the root of the working directory. The\n"
+"    ``.hglfs`` file uses the same syntax as all other Mercurial\n"
+"    configuration files. It uses a single section, ``[track]``."
+msgstr ""
+"本エクステンションは、 作業領域のルート直下のファイル ``.hgeol``\n"
+"(履歴管理可能) から設定を読み込みます。 ``.hgeol`` ファイルの文法は、\n"
+"他の Mercurial 設定ファイルと同じです。 本設定ファイルでは、\n"
+"``[patterns]`` と ``[repository]`` の2つのセクションを記述可能です。"
+
+msgid ""
+"    The ``[track]`` section specifies which files are stored as LFS (or\n"
+"    not). Each line is keyed by a file pattern, with a predicate value.\n"
+"    The first file pattern match is used, so put more specific patterns\n"
+"    first.  The available predicates are ``all()``, ``none()``, and\n"
+"    ``size()``. See \"hg help filesets.size\" for the latter."
+msgstr ""
+
+#, fuzzy
+msgid "    Example versioned ``.hglfs`` file::"
+msgstr "``.hgeol`` ファイルの記述例::"
+
+msgid ""
+"      [track]\n"
+"      # No Makefile or python file, anywhere, will be LFS\n"
+"      **Makefile = none()\n"
+"      **.py = none()"
+msgstr ""
+
+msgid ""
+"      **.zip = all()\n"
+"      **.exe = size(\">1MB\")"
+msgstr ""
+
+msgid ""
+"      # Catchall for everything not matched above\n"
+"      ** = size(\">10MB\")"
+msgstr ""
+
+msgid "Configs::"
+msgstr ""
+
+msgid ""
+"    [lfs]\n"
+"    # Remote endpoint. Multiple protocols are supported:\n"
+"    # - http(s)://user:pass@example.com/path\n"
+"    #   git-lfs endpoint\n"
+"    # - file:///tmp/path\n"
+"    #   local filesystem, usually for testing\n"
+"    # if unset, lfs will assume the remote repository also handles blob "
+"storage\n"
+"    # for http(s) URLs.  Otherwise, lfs will prompt to set this when it "
+"must\n"
+"    # use this value.\n"
+"    # (default: unset)\n"
+"    url = https://example.com/repo.git/info/lfs"
+msgstr ""
+
+msgid ""
+"    # Which files to track in LFS.  Path tests are \"**.extname\" for file\n"
+"    # extensions, and \"path:under/some/directory\" for path prefix.  Both\n"
+"    # are relative to the repository root.\n"
+"    # File size can be tested with the \"size()\" fileset, and tests can be\n"
+"    # joined with fileset operators.  (See \"hg help filesets.operators\".)\n"
+"    #\n"
+"    # Some examples:\n"
+"    # - all()                       # everything\n"
+"    # - none()                      # nothing\n"
+"    # - size(\">20MB\")               # larger than 20MB\n"
+"    # - !**.txt                     # anything not a *.txt file\n"
+"    # - **.zip | **.tar.gz | **.7z  # some types of compressed files\n"
+"    # - path:bin                    # files under \"bin\" in the project "
+"root\n"
+"    # - (**.php & size(\">2MB\")) | (**.js & size(\">5MB\")) | **.tar.gz\n"
+"    #     | (path:bin & !path:/bin/README) | size(\">1GB\")\n"
+"    # (default: none())\n"
+"    #\n"
+"    # This is ignored if there is a tracked '.hglfs' file, and this setting\n"
+"    # will eventually be deprecated and removed.\n"
+"    track = size(\">10M\")"
+msgstr ""
+
+msgid ""
+"    # how many times to retry before giving up on transferring an object\n"
+"    retry = 5"
+msgstr ""
+
+msgid ""
+"    # the local directory to store lfs files for sharing across local "
+"clones.\n"
+"    # If not set, the cache is located in an OS specific cache location.\n"
+"    usercache = /path/to/global/cache\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "parse error in .hglfs: %s"
+msgstr "hg: %s での解析エラー: %s\n"
+
+#. i18n: "lfs" is a keyword
+#, fuzzy
+msgid "lfs takes no arguments"
+msgstr "all には引数が指定できません"
+
+#, fuzzy
+msgid "upload large files introduced by REV"
+msgstr "大容量ファイルの転送中"
+
+#, fuzzy
+msgid "upload lfs blobs added by the working copy parent or given revisions"
+msgstr "指定リビジョンへの署名の付与"
+
+#, fuzzy, python-format
+msgid "corrupt remote lfs object: %s"
+msgstr "%r オブジェクトが %s から読み込めません"
+
+#, fuzzy, python-format
+msgid "lfs: adding %s to the usercache\n"
+msgstr "パッチ %s を追加中\n"
+
+#, fuzzy, python-format
+msgid "lfs: found %s in the usercache\n"
+msgstr "%s はシステムキャッシュに取得済み\n"
+
+#, fuzzy, python-format
+msgid "lfs: found %s in the local lfs store\n"
+msgstr "%s はリポジトリに取得済み\n"
+
+#, python-format
+msgid "LFS HTTP error: %s (action=%s)"
+msgstr ""
+
+#, python-format
+msgid "LFS server returns invalid JSON: %s"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "LFS server error for \"%s\": %s"
+msgstr "hg: %s での解析エラー: %s\n"
+
+#, python-format
+msgid "LFS server error. Unsolicited response for oid %s"
+msgstr ""
+
+#, python-format
+msgid "detected corrupt lfs object: %s"
+msgstr ""
+
+msgid "run hg verify"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "HTTP error: %s (oid=%s, action=%s)"
+msgstr "エラー: フック %s による例外発生: %s\n"
+
+msgid "lfs uploading"
+msgstr ""
+
+msgid "lfs downloading"
+msgstr ""
+
+#, python-format
+msgid "lfs: need to transfer %d objects (%s)\n"
+msgstr ""
+
+#, python-format
+msgid "lfs: downloading %s (%s)\n"
+msgstr ""
+
+#, python-format
+msgid "lfs: uploading %s (%s)\n"
+msgstr ""
+
+#, python-format
+msgid "lfs: failed: %r (remaining retry %d)\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "lfs: processed: %s\n"
+msgstr "履歴反映が拒否されました: %s"
+
+#, python-format
+msgid "lfs: uploaded %d files (%s)\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "lfs: downloaded %d files (%s)\n"
+msgstr "%d ファイルを再リンク (%s バイトの節約)\n"
+
+#, fuzzy
+msgid "lfs.url needs to be configured"
+msgstr "デフォルトの連携先が設定されていません"
+
+#, fuzzy, python-format
+msgid "lfs: assuming remote store: %s\n"
+msgstr "連携先での新規ブックマーク %s を追加中\n"
+
+#, fuzzy, python-format
+msgid "lfs: unknown url scheme: %s"
+msgstr "%s: 未知のバンドル機能 %s"
+
+#, python-format
+msgid "cannot parse git-lfs text: %r"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "unexpected value: %s=%r"
+msgstr "%r に対する旧値の指定は想定外です"
+
+#, fuzzy, python-format
+msgid "unexpected key: %s"
+msgstr "想定外の記述: %s"
+
+#, fuzzy, python-format
+msgid "missed keys: %s"
+msgstr "定義位置: %s\n"
+
+msgid "enable the lfs extension on the server"
+msgstr ""
+
+#, python-format
+msgid "lfs: corrupted pointer (%s@%s): %s\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "copying lfs blob %s\n"
+msgstr "%s を %s にコピー中\n"
+
 msgid "send ui.log() data to a subprocess (EXPERIMENTAL)"
 msgstr ""
 
@@ -8083,6 +9020,183 @@
 msgid "operate on patch repository"
 msgstr "パッチ管理リポジトリへの操作"
 
+msgid ""
+"create clones which fetch history data for subset of files (EXPERIMENTAL)"
+msgstr ""
+
+msgid "no common changegroup version"
+msgstr "利用可能な共通のバンドル形式バージョンがありません"
+
+msgid ""
+"server does not advertise changegroup version, can't negotiate support for "
+"ellipsis nodes"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "depth must be positive, got %d"
+msgstr "制限には正数を指定してください"
+
+msgid "{} configuration for user {} is empty"
+msgstr ""
+
+msgid "The following includes are not accessible for {}: {}"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "unexpected changespec node chunk type: %s"
+msgstr "想定外の revspec フォーマット文字 %s"
+
+msgid "adding branch\n"
+msgstr "ブランチを追加中\n"
+
+#, python-format
+msgid "error removing %s: %s\n"
+msgstr "ファイル %s の破棄に失敗: %s\n"
+
+msgid "uncompressed size of bundle content:\n"
+msgstr "バンドルファイル内容の非圧縮サイズ:\n"
+
+msgid "changesets"
+msgstr "リビジョン"
+
+#, python-format
+msgid "%8.i (changelog)\n"
+msgstr "%8.i (履歴情報)\n"
+
+#, fuzzy
+msgid "create a narrow clone of select files"
+msgstr "バンドルファイルの生成"
+
+msgid "limit the history fetched by distance from heads"
+msgstr ""
+
+msgid "specifically fetch this file/directory"
+msgstr ""
+
+msgid "do not fetch this file/directory, even if included"
+msgstr ""
+
+#, fuzzy
+msgid "server doesn't support narrow clones"
+msgstr "連携先リポジトリはブックマークが未サポートです\n"
+
+#, fuzzy
+msgid "looking for local changes to affected paths\n"
+msgstr "パッチ対象ファイルに対する作業領域中の変更を破棄"
+
+msgid ""
+"The following changeset(s) or their ancestors have local changes not on the "
+"remote:\n"
+msgstr ""
+
+#, python-format
+msgid "...and %d more, use --verbose to list all\n"
+msgstr ""
+
+msgid "local changes found"
+msgstr "作業領域に変更があります"
+
+msgid "use --force-delete-local-changes to ignore"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "deleting %s\n"
+msgstr "%s の復旧中\n"
+
+#, fuzzy
+msgid "new paths to include"
+msgstr "当該テンプレートで表示をカスタマイズ"
+
+#, fuzzy
+msgid "old paths to no longer include"
+msgstr "word にはインデックス値を数値で指定してください"
+
+#, fuzzy
+msgid "new paths to exclude"
+msgstr "当該テンプレートで表示をカスタマイズ"
+
+msgid "old paths to no longer exclude"
+msgstr ""
+
+msgid "whether to replace the existing narrowspec"
+msgstr ""
+
+msgid "forces deletion of local changes when narrowing"
+msgstr ""
+
+#, fuzzy
+msgid "[OPTIONS]... [REMOTE]"
+msgstr "[OPTION]... [TEXT]"
+
+#, fuzzy
+msgid "show or change the current narrowspec"
+msgstr "現行パッチの名前表示"
+
+msgid ""
+"    With no argument, shows the current narrowspec entries, one per line. "
+"Each\n"
+"    line will be prefixed with 'I' or 'X' for included or excluded "
+"patterns,\n"
+"    respectively."
+msgstr ""
+
+msgid ""
+"    The narrowspec is comprised of expressions to match remote files and/or\n"
+"    directories that should be pulled into your client.\n"
+"    The narrowspec has *include* and *exclude* expressions, with excludes "
+"always\n"
+"    trumping includes: that is, if a file matches an exclude expression, it "
+"will\n"
+"    be excluded even if it also matches an include expression.\n"
+"    Excluding files that were never included has no effect."
+msgstr ""
+
+msgid ""
+"    Each included or excluded entry is in the format described by\n"
+"    'hg help patterns'."
+msgstr ""
+
+msgid ""
+"    The options allow you to add or remove included and excluded expressions."
+msgstr ""
+
+msgid ""
+"    If --clear is specified, then all previous includes and excludes are "
+"DROPPED\n"
+"    and replaced by the new ones specified to --addinclude and --"
+"addexclude.\n"
+"    If --clear is specified without any further options, the narrowspec will "
+"be\n"
+"    empty and will not match any files.\n"
+"    "
+msgstr ""
+
+msgid ""
+"The narrow command is only supported on respositories cloned with --narrow.\n"
+msgstr ""
+
+#, fuzzy
+msgid "The --clear option is not yet supported.\n"
+msgstr "圧縮形式 %s は未サポートです"
+
+#, python-format
+msgid "cannot track '%s' - it is outside the narrow clone"
+msgstr ""
+
+#, python-format
+msgid "merge affects file '%s' outside narrow, which is not yet supported"
+msgstr ""
+
+msgid "merging in the other direction may work"
+msgstr ""
+
+#, python-format
+msgid "conflict in file '%s' is outside narrow clone"
+msgstr ""
+
+msgid "expanding narrowspec\n"
+msgstr ""
+
 msgid "hooks for sending email push notifications"
 msgstr "電子メールによる push 通知送信用フック集"
 
@@ -8316,6 +9430,17 @@
 "  メール本文に含める、 差分情報の最大行数。 0 の場合は、 差分が含まれず、\n"
 "  -1 の場合は、 全差分行が含まれます。 デフォルト値は 300。"
 
+#, fuzzy
+msgid ""
+"notify.maxdiffstat\n"
+"  Maximum number of diffstat lines to include in notification email. Set to "
+"-1\n"
+"  to include all of it. Default: -1."
+msgstr ""
+"notify.maxdiff\n"
+"  メール本文に含める、 差分情報の最大行数。 0 の場合は、 差分が含まれず、\n"
+"  -1 の場合は、 全差分行が含まれます。 デフォルト値は 300。"
+
 msgid ""
 "notify.maxsubject\n"
 "  Maximum number of characters in email's subject line. Default: 67."
@@ -8387,6 +9512,14 @@
 msgid "notify: sending %d subscribers %d changes\n"
 msgstr "notify: %d 購読者に %d 変更を送信中\n"
 
+#, fuzzy, python-format
+msgid ""
+"\n"
+"diffstat (truncated from %d to %d lines):"
+msgstr ""
+"\n"
+"差分 (%d 行から %d 行に切り詰め):"
+
 #, python-format
 msgid ""
 "\n"
@@ -8609,9 +9742,6 @@
 msgid "this patch series consists of %d patches."
 msgstr "一連のパッチは %d 個のパッチから構成されています。"
 
-msgid "no changes found\n"
-msgstr "差分はありません\n"
-
 msgid "send patches as inline message text (default)"
 msgstr "インラインメッセージとしてパッチを送信 (デフォルト)"
 
@@ -8672,6 +9802,10 @@
 msgid "send changes not in target as a binary bundle"
 msgstr "対象リポジトリに無いリビジョンをバンドル形式で送信"
 
+#, fuzzy
+msgid "send changes only reachable by given bookmark"
+msgstr "指定ブックマークから、 到達可能なリビジョンのみを除外"
+
 msgid "name of the bundle attachment file"
 msgstr "バンドル形式添付ファイルのファイル名"
 
@@ -8748,6 +9882,11 @@
 "    インラインまたは通常の添付ファイルから、 選択することができます。"
 
 msgid ""
+"    With -B/--bookmark changesets reachable by the given bookmark are\n"
+"    selected."
+msgstr ""
+
+msgid ""
 "    With -o/--outgoing, emails will be generated for patches not found\n"
 "    in the destination repository (or only those which are ancestors\n"
 "    of the specified revisions if any are provided)"
@@ -8827,6 +9966,10 @@
 "      hg email -o -r 3000 DEST  # 3000 以前で DEST 側に無いリビジョン"
 
 msgid ""
+"      hg email -B feature       # send all ancestors of feature bookmark"
+msgstr ""
+
+msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
 "      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
@@ -8863,12 +10006,17 @@
 "    を参照してください。 (※ 訳注: :hg:`help config` でも参照可能)\n"
 "    "
 
-msgid "specify at least one changeset with -r or -o"
+#, fuzzy
+msgid "specify at least one changeset with -B, -r or -o"
 msgstr "-r 又は -o を使用してリビジョンを指定してください"
 
 msgid "--outgoing mode always on with --bundle; do not re-specify --outgoing"
 msgstr "--bundle 指定で暗黙に有効となりますので --outgoing 指定は不要です"
 
+#, fuzzy
+msgid "-r and -B are mutually exclusive"
+msgstr "--message と --logfile は同時に指定できません"
+
 msgid "too many destinations"
 msgstr "対象指定が多過ぎです"
 
@@ -8876,6 +10024,10 @@
 msgstr "リビジョン指定は単一の形式で行ってください"
 
 #, python-format
+msgid "bookmark '%s' not found"
+msgstr "ブックマーク '%s' がありません"
+
+#, python-format
 msgid "unable to access public repo: %s\n"
 msgstr "publicurl で指定された公開リポジトリにアクセスできません: %s\n"
 
@@ -9043,6 +10195,10 @@
 "詳細は以下を参照してください:\n"
 "https://mercurial-scm.org/wiki/RebaseExtension\n"
 
+#, python-format
+msgid "ambiguous automatic rebase: %r could end up on any of %r"
+msgstr ""
+
 msgid "rebase"
 msgstr "rebase"
 
@@ -9071,6 +10227,10 @@
 msgid "can't rebase public changeset %s"
 msgstr "public フェーズのリビジョン %s は移動できません"
 
+#, fuzzy
+msgid "--collapse does not work with multiple destinations"
+msgstr "p4 形式からの変換では、複数リビジョン指定は未サポートです"
+
 #, python-format
 msgid "reopening closed branch head %s\n"
 msgstr "閉鎖済みブランチヘッド %s の閉鎖状態を解除中\n"
@@ -9078,16 +10238,33 @@
 msgid "cannot collapse multiple named branches"
 msgstr "複数の名前付きブランチの単一化はできません"
 
+msgid "rebasing"
+msgstr "移動中"
+
+msgid "rebase merging completed\n"
+msgstr "移動のマージ処理が完了\n"
+
+#, fuzzy, python-format
+msgid "already rebased %s\n"
+msgstr "%s は %s として移動済みです\n"
+
+#, fuzzy, python-format
+msgid ""
+"note: not rebasing %s and its descendants as this would cause divergence\n"
+msgstr "備考: %s は既に %s として移動済みなので移動しません\n"
+
+#, python-format
+msgid "note: not rebasing %s, it has no successor\n"
+msgstr "備考: 廃止済みで後継リビジョンを持たない %s は移動しません\n"
+
+#, python-format
+msgid "note: not rebasing %s, already in destination as %s\n"
+msgstr "備考: %s は既に %s として移動済みなので移動しません\n"
+
 #, python-format
 msgid "rebasing %s\n"
 msgstr "リビジョン '%s' を移動中\n"
 
-msgid "rebasing"
-msgstr "移動中"
-
-msgid "changesets"
-msgstr "リビジョン"
-
 msgid "unresolved conflicts (see hg resolve, then hg rebase --continue)"
 msgstr ""
 "衝突が未解消です ('hg resolve' での衝突解消後に、'hg rebase --continue' を実"
@@ -9098,24 +10275,9 @@
 msgstr "備考: リビジョン %d:%s は移動先で空になるため無視されます\n"
 
 #, python-format
-msgid "not rebasing ignored %s\n"
-msgstr "無視対象のリビジョン '%s' は移動されません\n"
-
-#, python-format
-msgid "note: not rebasing %s, already in destination as %s\n"
-msgstr "備考: %s は既に %s として移動済みなので移動しません\n"
-
-#, python-format
-msgid "note: not rebasing %s, it has no successor\n"
-msgstr "備考: 廃止済みで後継リビジョンを持たない %s は移動しません\n"
-
-#, python-format
 msgid "already rebased %s as %s\n"
 msgstr "%s は %s として移動済みです\n"
 
-msgid "rebase merging completed\n"
-msgstr "移動のマージ処理が完了\n"
-
 msgid "update back to initial working directory parent\n"
 msgstr "移動先の親リビジョンで作業領域を更新\n"
 
@@ -9126,49 +10288,6 @@
 msgid "%d revisions have been skipped\n"
 msgstr "%d 個のリビジョンをスキップ\n"
 
-msgid "rebase the specified changeset and descendants"
-msgstr "指定リビジョンとその子孫の移動"
-
-msgid "rebase everything from branching point of specified changeset"
-msgstr "指定リビジョンの枝分かれ元以降のリビジョンの移動"
-
-msgid "rebase these revisions"
-msgstr "指定リビジョン群の移動"
-
-msgid "rebase onto the specified changeset"
-msgstr "移動先リビジョン"
-
-msgid "collapse the rebased changesets"
-msgstr "移動後に移動リビジョンを単一化"
-
-msgid "use text as collapse commit message"
-msgstr "指定テキストを要約コミットログとして使用"
-
-msgid "read collapse commit message from file"
-msgstr "要約コミットログをファイルから読み込み"
-
-msgid "keep original changesets"
-msgstr "元リビジョンを維持"
-
-msgid "keep original branch names"
-msgstr "元ブランチ名を維持"
-
-#. i18n: "(DEPRECATED)" is a keyword, must be translated consistently
-msgid "(DEPRECATED)"
-msgstr "(非推奨)"
-
-msgid "specify merge tool"
-msgstr "マージツールの指定"
-
-msgid "continue an interrupted rebase"
-msgstr "中断された未完了の移動を再開"
-
-msgid "abort an interrupted rebase"
-msgstr "中断による未完了な移動の情報を破棄(=中止)"
-
-msgid "[-s REV | -b REV] [-d REV] [OPTION]"
-msgstr "[-s REV | -b REV] [-d REV] [OPTION]"
-
 msgid "move changeset (and descendants) to a different branch"
 msgstr "別な履歴位置へのリビジョン(およびその子孫)の移動"
 
@@ -9234,6 +10353,14 @@
 "         ``--base .`` 相当の指定で移動を実施"
 
 msgid ""
+"    If ``--source`` or ``--rev`` is used, special names ``SRC`` and "
+"``ALLSRC``\n"
+"    can be used in ``--dest``. Destination would be calculated per source\n"
+"    revision with ``SRC`` substituted by that single source revision and\n"
+"    ``ALLSRC`` substituted by all source revisions."
+msgstr ""
+
+msgid ""
 "    Rebase will destroy original changesets unless you use ``--keep``.\n"
 "    It will also move your bookmarks (even if you do)."
 msgstr ""
@@ -9327,20 +10454,68 @@
 msgid "          hg rebase -r \"branch(featureX)\" -d 1.3 --keepbranches"
 msgstr "          hg rebase -r \"branch(featureX)\" -d 1.3 --keepbranches"
 
+msgid "      - stabilize orphaned changesets so history looks linear::"
+msgstr ""
+
+msgid ""
+"          hg rebase -r 'orphan()-obsolete()' -d "
+"'first(max((successors(max(roots(ALLSRC) & ::SRC)^)-obsolete())::) + max(::"
+"((roots(ALLSRC) & ::SRC)^)-obsolete()))'"
+msgstr ""
+
 msgid "    Configuration Options:"
 msgstr "    設定項目:"
 
+#, fuzzy
 msgid ""
 "    You can make rebase require a destination if you set the following "
 "config\n"
-"    option:"
+"    option::"
 msgstr ""
 "    以下の項目を設定することで、 rebase 時の移動先指定を必須化できます:"
 
 msgid ""
 "      [commands]\n"
-"      rebase.requiredest = False"
-msgstr ""
+"      rebase.requiredest = True"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    By default, rebase will close the transaction after each commit. For\n"
+"    performance purposes, you can configure rebase to use a single "
+"transaction\n"
+"    across the entire rebase. WARNING: This setting introduces a "
+"significant\n"
+"    risk of losing the work you've done in a rebase if the rebase aborts\n"
+"    unexpectedly::"
+msgstr ""
+"特に指定が無い場合、 個々の処理毎に、 トランザクションが作成されます。\n"
+"実行性能の観点から、 単一トランザクションでの histedit 実行も可能です。\n"
+"警告: histedit が予期せず中断した場合、 作業内容を失うかもしれない、\n"
+"深刻な危険性を持つ設定ですので、 設定の際は注意してください::"
+
+#, fuzzy
+msgid ""
+"      [rebase]\n"
+"      singletransaction = True"
+msgstr ""
+"  [histedit]\n"
+"  singletransaction = True"
+
+msgid ""
+"    By default, rebase writes to the working copy, but you can configure it "
+"to\n"
+"    run in-memory for for better performance, and to allow it to run if the\n"
+"    working copy is dirty::"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"      [rebase]\n"
+"      experimental.inmemory = True"
+msgstr ""
+"  [histedit]\n"
+"  singletransaction = True"
 
 msgid "    Return Values:"
 msgstr "    コマンド終了値:"
@@ -9352,6 +10527,60 @@
 "    成功時のコマンド終了値は 0、 移動が必要なリビジョンが無い場合や、\n"
 "    未解消の衝突が発生した場合は 1 です。"
 
+msgid "rebase the specified changeset and descendants"
+msgstr "指定リビジョンとその子孫の移動"
+
+msgid "rebase everything from branching point of specified changeset"
+msgstr "指定リビジョンの枝分かれ元以降のリビジョンの移動"
+
+msgid "rebase these revisions"
+msgstr "指定リビジョン群の移動"
+
+msgid "rebase onto the specified changeset"
+msgstr "移動先リビジョン"
+
+msgid "collapse the rebased changesets"
+msgstr "移動後に移動リビジョンを単一化"
+
+msgid "use text as collapse commit message"
+msgstr "指定テキストを要約コミットログとして使用"
+
+msgid "read collapse commit message from file"
+msgstr "要約コミットログをファイルから読み込み"
+
+msgid "keep original changesets"
+msgstr "元リビジョンを維持"
+
+msgid "keep original branch names"
+msgstr "元ブランチ名を維持"
+
+#. i18n: "(DEPRECATED)" is a keyword, must be translated consistently
+msgid "(DEPRECATED)"
+msgstr "(非推奨)"
+
+msgid "specify merge tool"
+msgstr "マージツールの指定"
+
+msgid "continue an interrupted rebase"
+msgstr "中断された未完了の移動を再開"
+
+msgid "abort an interrupted rebase"
+msgstr "中断による未完了な移動の情報を破棄(=中止)"
+
+msgid ""
+"automatically rebase orphan revisions in the specified revset (EXPERIMENTAL)"
+msgstr ""
+
+msgid "[-s REV | -b REV] [-d REV] [OPTION]"
+msgstr "[-s REV | -b REV] [-d REV] [OPTION]"
+
+#, fuzzy, python-format
+msgid "--auto-orphans is incompatible with %s"
+msgstr "-G/--graph と --%s は併用できません"
+
+msgid "hit merge conflicts; re-running rebase without in-memory merge\n"
+msgstr ""
+
 #, python-format
 msgid ""
 "interactive history editing is supported by the 'histedit' extension (see "
@@ -9420,9 +10649,21 @@
 msgid "nothing to rebase from %s to %s\n"
 msgstr "%s から %s への移動は不要です\n"
 
-#, python-format
-msgid ""
-"unable to collapse on top of %s, there is more than one external parent: %s"
+#, fuzzy, python-format
+msgid "skipping %s - empty destination\n"
+msgstr "%s を抑止 - ガード %s が適用されました\n"
+
+#, fuzzy, python-format
+msgid "rebase destination for %s is not unique"
+msgstr "複製先 '%s' は空ではありません"
+
+#, fuzzy
+msgid "nothing to rebase - empty destination\n"
+msgstr "移動操作は不要です - 作業領域の更新のみを実施します\n"
+
+#, fuzzy, python-format
+msgid ""
+"unable to collapse on top of %d, there is more than one external parent: %s"
 msgstr ""
 "%s への移動で単一化できません。移動対象外の複数の祖先が内容に影響します: %s"
 
@@ -9430,15 +10671,27 @@
 msgid "this rebase will cause divergences from: %s"
 msgstr "この移動操作は %s からの分岐 (divergence) を生じます"
 
-msgid "to force the rebase please set experimental.allowdivergence=True"
+#, fuzzy
+msgid ""
+"to force the rebase please set experimental.evolution.allowdivergence=True"
 msgstr "移動を強制する場合は experimental.allowdivergence=True 設定が必要です"
 
 #, python-format
-msgid "cannot use revision %d as base, result would have 3 parents"
-msgstr "親リビジョンが 3 つになるので、 リビジョン %d をベースにできません"
-
-#, python-format
-msgid "updating mq patch %s to %s:%s\n"
+msgid "cannot rebase %d:%s without moving at least one of its parents"
+msgstr ""
+
+msgid "source is ancestor of destination"
+msgstr "移動元は移動先の祖先です"
+
+msgid " or "
+msgstr ""
+
+#, python-format
+msgid "rebasing %d:%s will include unwanted changes from %s"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "updating mq patch %s to %d:%s\n"
 msgstr "mq パッチ %s をリビジョン %s:%s に移動中\n"
 
 msgid "missing .hg/last-message.txt for rebase"
@@ -9448,24 +10701,23 @@
 msgid "warning: can't clean up public changesets %s\n"
 msgstr "警告: public フェーズのリビジョン %s は破棄できません\n"
 
-msgid "warning: new changesets detected on target branch, can't strip\n"
+#, fuzzy
+msgid "warning: new changesets detected on destination branch, can't strip\n"
 msgstr "警告: 想定外の新規リビジョン追加により、対象ブランチを破棄できません\n"
 
 msgid "rebase aborted\n"
 msgstr "移動が中止されました\n"
 
+#, fuzzy
+msgid "source and destination form a cycle"
+msgstr "パッチ対象のファイル名が指定されていません"
+
 msgid "cannot rebase onto an applied mq patch"
 msgstr "MQ パッチ上への移動はできません"
 
 msgid "no matching revisions"
 msgstr "合致するリビジョンはありません"
 
-msgid "source is ancestor of destination"
-msgstr "移動元は移動先の祖先です"
-
-msgid "warning: new changesets detected on source branch, not stripping\n"
-msgstr "警告: 移動元に新規リビジョンを検出したので、 破棄しません\n"
-
 msgid "rebase destination required by configuration"
 msgstr "設定により移動先リビジョン指定が必須となっています"
 
@@ -9601,6 +10853,287 @@
 msgid "interactively select changes to refresh"
 msgstr "パッチ更新内容を対話的に選択"
 
+#, fuzzy
+msgid "generate release notes from commit messages (EXPERIMENTAL)"
+msgstr "操作対象変更の対話的な選択 (実験的実装)"
+
+msgid ""
+"It is common to maintain files detailing changes in a project between\n"
+"releases. Maintaining these files can be difficult and time consuming.\n"
+"The :hg:`releasenotes` command provided by this extension makes the\n"
+"process simpler by automating it.\n"
+msgstr ""
+
+msgid "New Features"
+msgstr ""
+
+msgid "Backwards Compatibility Changes"
+msgstr ""
+
+msgid "Bug Fixes"
+msgstr ""
+
+msgid "Performance Improvements"
+msgstr ""
+
+#, fuzzy
+msgid "API Changes"
+msgstr "changegroups フォーマット"
+
+#, fuzzy
+msgid "Other Changes"
+msgstr "ハッシュ値を表示"
+
+msgid ""
+"module 'fuzzywuzzy' not found, merging of similar releasenotes is disabled\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "%s already exists in %s section; ignoring\n"
+msgstr "\"%s\" はディレクトリとして既に存在します"
+
+#, fuzzy, python-format
+msgid "\"%s\" already exists in notes; ignoring\n"
+msgstr "\"%s\" はディレクトリとして既に存在します"
+
+#, fuzzy, python-format
+msgid "\"%s\" already exists in notes file; ignoring\n"
+msgstr "\"%s\" はディレクトリとして既に存在します"
+
+#, fuzzy, python-format
+msgid ".hgreleasenotes file '%s' not found"
+msgstr "サブリポジトリの spec ファイル '%s' が見つかりません"
+
+#, python-format
+msgid "Invalid admonition '%s' present in changeset %s\n"
+msgstr ""
+
+#, python-format
+msgid "(did you mean %s?)\n"
+msgstr "(推測される候補: %s)\n"
+
+#, python-format
+msgid "(did you mean one of %s?)\n"
+msgstr "(推測される候補: %s)\n"
+
+#, fuzzy, python-format
+msgid "changeset %s: release notes directive %s lacks content"
+msgstr "想定外の revspec フォーマット文字 %s"
+
+#, fuzzy, python-format
+msgid "changeset %s: unexpected block in release notes directive %s\n"
+msgstr "想定外の revspec フォーマット文字 %s"
+
+#, fuzzy, python-format
+msgid "error parsing releasenotes for revision: '%s'\n"
+msgstr "リビジョン %s に関連する大容量ファイルの取得中\n"
+
+#, fuzzy
+msgid "indented bullet lists not supported"
+msgstr "addremove は未サポートです"
+
+#, fuzzy, python-format
+msgid "unexpected block type in release notes: %s"
+msgstr "想定外の連携先リポジトリ応答: %s"
+
+#, fuzzy, python-format
+msgid "unknown release notes section: %s"
+msgstr "未知のストリーム圧縮形式です: %s"
+
+#, fuzzy, python-format
+msgid "unsupported section type for %s"
+msgstr "未サポートの行末種別: %s"
+
+msgid "revisions to process for release notes"
+msgstr ""
+
+msgid "checks for validity of admonitions (if any)"
+msgstr ""
+
+msgid "list the available admonitions with their title"
+msgstr ""
+
+#, fuzzy
+msgid "hg releasenotes [-r REV] [-c] FILE"
+msgstr "hg children [-r REV] [FILE]"
+
+msgid "parse release notes from commit messages into an output file"
+msgstr ""
+
+msgid ""
+"    Given an output file and set of revisions, this command will parse "
+"commit\n"
+"    messages for release notes then add them to the output file."
+msgstr ""
+
+msgid ""
+"    Release notes are defined in commit messages as ReStructuredText\n"
+"    directives. These have the form::"
+msgstr ""
+
+#. do not translate: .. directive::
+msgid "       .. directive:: title"
+msgstr ""
+
+#, fuzzy
+msgid "          content"
+msgstr "          hg bisect --reset"
+
+msgid ""
+"    Each ``directive`` maps to an output section in a generated release "
+"notes\n"
+"    file, which itself is ReStructuredText. For example, the ``.. feature::"
+"``\n"
+"    directive would map to a ``New Features`` section."
+msgstr ""
+
+msgid ""
+"    Release note directives can be either short-form or long-form. In "
+"short-\n"
+"    form, ``title`` is omitted and the release note is rendered as a bullet\n"
+"    list. In long form, a sub-section with the title ``title`` is added to "
+"the\n"
+"    section."
+msgstr ""
+
+msgid ""
+"    The ``FILE`` argument controls the output file to write gathered "
+"release\n"
+"    notes to. The format of the file is::"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"       Section 1\n"
+"       ========="
+msgstr ""
+"セクション\n"
+"=========="
+
+msgid "       ..."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"       Section 2\n"
+"       ========="
+msgstr ""
+"セクション\n"
+"=========="
+
+msgid "    Only sections with defined release notes are emitted."
+msgstr ""
+
+msgid ""
+"    If a section only has short-form notes, it will consist of bullet list::"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"       Section\n"
+"       ======="
+msgstr ""
+"セクション\n"
+"=========="
+
+msgid ""
+"       * Release note 1\n"
+"       * Release note 2"
+msgstr ""
+
+msgid "    If a section has long-form notes, sub-sections will be emitted::"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"       Note 1 Title\n"
+"       ------------"
+msgstr ""
+"\n"
+"    /shortlog\n"
+"    ---------"
+
+msgid "       Description of the first long-form note."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"       Note 2 Title\n"
+"       ------------"
+msgstr ""
+"\n"
+"    /shortlog\n"
+"    ---------"
+
+msgid "       Description of the second long-form note."
+msgstr ""
+
+msgid ""
+"    If the ``FILE`` argument points to an existing file, that file will be\n"
+"    parsed for release notes having the format that would be generated by "
+"this\n"
+"    command. The notes from the processed commit messages will be *merged*\n"
+"    into this parsed set."
+msgstr ""
+
+msgid "    During release notes merging:"
+msgstr ""
+
+msgid ""
+"    * Duplicate items are automatically ignored\n"
+"    * Items that are different are automatically ignored if the similarity "
+"is\n"
+"      greater than a threshold."
+msgstr ""
+
+msgid ""
+"    This means that the release notes file can be updated independently "
+"from\n"
+"    this command and changes should not be lost when running this command "
+"on\n"
+"    that file. A particular use case for this is to tweak the wording of a\n"
+"    release note after it has been added to the release notes file."
+msgstr ""
+
+msgid ""
+"    The -c/--check option checks the commit message for invalid admonitions."
+msgstr ""
+
+msgid ""
+"    The -l/--list option, presents the user with a list of existing "
+"available\n"
+"    admonitions along with their title. This also includes the custom\n"
+"    admonitions (if any).\n"
+"    "
+msgstr ""
+
+#, fuzzy
+msgid "cannot use both '--list' and '--rev'"
+msgstr "--noupdate と --updaterev は併用できません"
+
+#, fuzzy
+msgid "cannot use both '--list' and '--check'"
+msgstr "--force と --keep-changes は併用できません"
+
+msgid "parse release notes and print resulting data structure"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "section: %s\n"
+msgstr "  読み込み元: %s\n"
+
+#, fuzzy, python-format
+msgid "  subsection: %s\n"
+msgstr "  読み込み元: %s\n"
+
+#, fuzzy, python-format
+msgid "    paragraph: %s\n"
+msgstr "    別名: %s"
+
+#, fuzzy
+msgid "  bullet point:\n"
+msgstr "  障害報告先: %s\n"
+
 msgid "recreates hardlinks between repository clones"
 msgstr "複製リポジトリ間でのハードリンクの再生成"
 
@@ -9700,6 +11233,50 @@
 msgid "relinked %d files (%s reclaimed)\n"
 msgstr "%d ファイルを再リンク (%s バイトの節約)\n"
 
+#, fuzzy
+msgid " showing remotebookmarks and remotebranches in UI"
+msgstr "連携先に新しいブランチが作成されます: %s!"
+
+msgid ""
+"By default both remotebookmarks and remotebranches are turned on. Config "
+"knob to\n"
+"control the individually are as follows."
+msgstr ""
+
+msgid "Config options to tweak the default behaviour:"
+msgstr ""
+
+msgid ""
+"remotenames.bookmarks\n"
+"  Boolean value to enable or disable showing of remotebookmarks (default: "
+"True)"
+msgstr ""
+
+msgid ""
+"remotenames.branches\n"
+"  Boolean value to enable or disable showing of remotebranches (default: "
+"True)"
+msgstr ""
+
+msgid ""
+"remotenames.hoistedpeer\n"
+"  Name of the peer whose remotebookmarks should be hoisted into the top-"
+"level\n"
+"  namespace (default: 'default')\n"
+msgstr ""
+
+#, fuzzy
+msgid "remotenames takes no arguments"
+msgstr "removed には引数が指定できません"
+
+#, fuzzy
+msgid "remotebranches takes no arguments"
+msgstr "removed には引数が指定できません"
+
+#, fuzzy
+msgid "remotebookmarks takes no arguments"
+msgstr "removed には引数が指定できません"
+
 msgid "extend schemes with shortcuts to repository swarms"
 msgstr "連携先リポジトリ群に対する略記指定の拡張"
 
@@ -9859,7 +11436,8 @@
 "    URL」から算出したハッシュ値)。 :hg:`clone` に指定した複製元のパスや\n"
 "    URL が一致した場合のみ、 履歴管理領域が共有されます。"
 
-msgid "    The default naming mode is \"identity.\"\n"
+#, fuzzy
+msgid "    The default naming mode is \"identity\".\n"
 msgstr "    デフォルトの設定は \"identity.\" です。\n"
 
 msgid "do not create a working directory"
@@ -9967,10 +11545,6 @@
 msgstr "退避情報の名称の先頭に '.' は使用できません"
 
 #, python-format
-msgid "too many shelved changes named '%s'"
-msgstr "名前のベースに '%s' を使用する退避情報が多過ぎます"
-
-#, python-format
 msgid "nothing changed (%d missing files, see 'hg status')\n"
 msgstr "変更はありません (%d 個のファイルが不在。 'hg status' で確認を)\n"
 
@@ -10286,7 +11860,30 @@
 msgid ""
 "This extension provides the :hg:`show` command, which provides a central\n"
 "command for displaying commonly-accessed repository data and views of that\n"
-"data.\n"
+"data."
+msgstr ""
+
+#, fuzzy
+msgid "The following config options can influence operation."
+msgstr "以下の ``share.`` セクション設定が、この機能を制御します:"
+
+msgid ""
+"``commands``\n"
+"------------"
+msgstr ""
+"``commands``\n"
+"------------"
+
+msgid ""
+"``show.aliasprefix``\n"
+"   List of strings that will register aliases for views. e.g. ``s`` will\n"
+"   effectively set config options ``alias.s<view> = show <view>`` for all\n"
+"   views. i.e. `hg swork` would execute `hg show work`."
+msgstr ""
+
+msgid ""
+"   Aliases that would conflict with existing registrations will not be\n"
+"   performed.\n"
 msgstr ""
 
 #, fuzzy
@@ -10323,6 +11920,9 @@
 ":activebookmark: 文字列. アクティブなブックマーク (対象リビジョンに対し、\n"
 "    関連付けられている場合のみ)"
 
+msgid "    stack       current line of work"
+msgstr ""
+
 msgid ""
 "    work        changesets that aren't finished\n"
 "    "
@@ -10361,6 +11961,27 @@
 msgstr "ブックマークは存在しません\n"
 
 #, fuzzy
+msgid "stack view only available when there is a working directory"
+msgstr "作業領域のファイル操作状況の表示"
+
+#, fuzzy
+msgid "(empty stack; working directory parent is a published changeset)\n"
+msgstr "移動対象がありません - 作業領域の親は移動先と同一です\n"
+
+#, fuzzy, python-format
+msgid "%d commits ahead"
+msgstr "コミットに失敗"
+
+msgid "(stack head)\n"
+msgstr ""
+
+msgid "(multiple children)\n"
+msgstr ""
+
+msgid "(stack base)"
+msgstr ""
+
+#, fuzzy
 msgid "commitage requires a string"
 msgstr "date には文字列を指定してください"
 
@@ -10368,6 +11989,332 @@
 msgid "headage requires a string"
 msgstr "date には文字列を指定してください"
 
+#, fuzzy
+msgid "allow sparse checkouts of the working directory (EXPERIMENTAL)"
+msgstr ""
+"``wdir``\n"
+"    作業領域ディレクトリを表す値 (実験的実装)"
+
+msgid ""
+"(This extension is not yet protected by backwards compatibility\n"
+"guarantees. Any aspect may break in future releases until this\n"
+"notice is removed.)"
+msgstr ""
+
+msgid ""
+"This extension allows the working directory to only consist of a\n"
+"subset of files for the revision. This allows specific files or\n"
+"directories to be explicitly included or excluded. Many repository\n"
+"operations have performance proportional to the number of files in\n"
+"the working directory. So only realizing a subset of files in the\n"
+"working directory can improve performance."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"Sparse Config Files\n"
+"-------------------"
+msgstr ""
+"設定例\n"
+"------"
+
+msgid ""
+"The set of files that are part of a sparse checkout are defined by\n"
+"a sparse config file. The file defines 3 things: includes (files to\n"
+"include in the sparse checkout), excludes (files to exclude from the\n"
+"sparse checkout), and profiles (links to other config files)."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"The file format is newline delimited. Empty lines and lines beginning\n"
+"with ``#`` are ignored."
+msgstr "    空行と ``#`` で始まる行は無視されます。"
+
+msgid ""
+"Lines beginning with ``%include `` denote another sparse config file\n"
+"to include. e.g. ``%include tests.sparse``. The filename is relative\n"
+"to the repository root."
+msgstr ""
+
+msgid ""
+"The special lines ``[include]`` and ``[exclude]`` denote the section\n"
+"for includes and excludes that follow, respectively. It is illegal to\n"
+"have ``[include]`` after ``[exclude]``."
+msgstr ""
+
+msgid ""
+"Non-special lines resemble file patterns to be added to either includes\n"
+"or excludes. The syntax of these lines is documented by :hg:`help "
+"patterns`.\n"
+"Patterns are interpreted as ``glob:`` by default and match against the\n"
+"root of the repository."
+msgstr ""
+
+msgid ""
+"Exclusion patterns take precedence over inclusion patterns. So even\n"
+"if a file is explicitly included, an ``[exclude]`` entry can remove it."
+msgstr ""
+
+msgid ""
+"For example, say you have a repository with 3 directories, ``frontend/``,\n"
+"``backend/``, and ``tools/``. ``frontend/`` and ``backend/`` correspond\n"
+"to different projects and it is uncommon for someone working on one\n"
+"to need the files for the other. But ``tools/`` contains files shared\n"
+"between both projects. Your sparse config files may resemble::"
+msgstr ""
+
+msgid ""
+"  # frontend.sparse\n"
+"  frontend/**\n"
+"  tools/**"
+msgstr ""
+
+msgid ""
+"  # backend.sparse\n"
+"  backend/**\n"
+"  tools/**"
+msgstr ""
+
+msgid ""
+"Say the backend grows in size. Or there's a directory with thousands\n"
+"of files you wish to exclude. You can modify the profile to exclude\n"
+"certain files::"
+msgstr ""
+
+msgid ""
+"  [include]\n"
+"  backend/**\n"
+"  tools/**"
+msgstr ""
+
+msgid ""
+"  [exclude]\n"
+"  tools/tests/**\n"
+msgstr ""
+
+#, python-format
+msgid "type '%s' has no property '%s'"
+msgstr ""
+
+#, fuzzy
+msgid "too many flags specified."
+msgstr "オプション指定が過剰です"
+
+msgid ""
+"include file with `hg debugsparse --include <pattern>` or use `hg add -s "
+"<file>` to include file directory while adding"
+msgstr ""
+
+#, python-format
+msgid "cannot add '%s' - it is outside the sparse checkout"
+msgstr ""
+
+#, fuzzy
+msgid "include files in the sparse checkout"
+msgstr "親リビジョンの状態でファイルを復旧"
+
+#, fuzzy
+msgid "exclude files in the sparse checkout"
+msgstr "親リビジョンの状態でファイルを復旧"
+
+msgid "delete an include/exclude rule"
+msgstr ""
+
+msgid "allow changing rules even with pending changes"
+msgstr ""
+
+#, fuzzy
+msgid "enables the specified profile"
+msgstr "当該リビジョン時点での由来情報を表示"
+
+#, fuzzy
+msgid "disables the specified profile"
+msgstr "履歴改変指示を指定ファイルから読み込み"
+
+msgid "imports rules from a file"
+msgstr ""
+
+msgid "clears local include/exclude rules"
+msgstr ""
+
+msgid "updates the working after sparseness changes"
+msgstr ""
+
+msgid "makes the repo full again"
+msgstr ""
+
+#, fuzzy
+msgid "[--OPTION] PATTERN..."
+msgstr "[OPTION]... [PATTERN]..."
+
+msgid "make the current checkout sparse, or edit the existing checkout"
+msgstr ""
+
+msgid ""
+"    The sparse command is used to make the current checkout sparse.\n"
+"    This means files that don't meet the sparse condition will not be\n"
+"    written to disk, or show up in any working copy operations. It does\n"
+"    not affect files in history in any way."
+msgstr ""
+
+#, fuzzy
+msgid "    Passing no arguments prints the currently applied sparse rules."
+msgstr ""
+"    引数指定が無い場合、 現在のガード選択状況を表示します。\n"
+"    引数が指定された場合、 ガード選択を設定します。"
+
+msgid ""
+"    --include and --exclude are used to add and remove files from the "
+"sparse\n"
+"    checkout. The effects of adding an include or exclude rule are applied\n"
+"    immediately. If applying the new rule would cause a file with pending\n"
+"    changes to be added or removed, the command will fail. Pass --force to\n"
+"    force a rule change even with pending changes (the changes on disk will\n"
+"    be preserved)."
+msgstr ""
+
+msgid ""
+"    --delete removes an existing include/exclude rule. The effects are\n"
+"    immediate."
+msgstr ""
+
+msgid ""
+"    --refresh refreshes the files on disk based on the sparse rules. This "
+"is\n"
+"    only necessary if .hg/sparse was changed by hand."
+msgstr ""
+
+msgid ""
+"    --enable-profile and --disable-profile accept a path to a .hgsparse "
+"file.\n"
+"    This allows defining sparse checkouts and tracking them inside the\n"
+"    repository. This is useful for defining commonly used sparse checkouts "
+"for\n"
+"    many people to use. As the profile definition changes over time, the "
+"sparse\n"
+"    checkout will automatically be updated appropriately, depending on "
+"which\n"
+"    changeset is checked out. Changes to .hgsparse are not applied until "
+"they\n"
+"    have been committed."
+msgstr ""
+
+msgid ""
+"    --import-rules accepts a path to a file containing rules in the ."
+"hgsparse\n"
+"    format, allowing you to add --include, --exclude and --enable-profile "
+"rules\n"
+"    in bulk. Like the --include, --exclude and --enable-profile switches, "
+"the\n"
+"    changes are applied immediately."
+msgstr ""
+
+msgid ""
+"    --clear-rules removes all local include and exclude rules, while "
+"leaving\n"
+"    any enabled profiles in place."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    Returns 0 if editing the sparse checkout succeeds.\n"
+"    "
+msgstr ""
+"    成功時のコマンド終了値は 0 です。\n"
+"    "
+
+#, fuzzy
+msgid "too many flags specified"
+msgstr "オプション指定が過剰です"
+
+msgid "Temporarily Included Files (for merge/rebase):\n"
+msgstr ""
+
+#, fuzzy
+msgid "repo is not sparse\n"
+msgstr "addremove は未サポートです"
+
+#, fuzzy
+msgid "command to split a changeset into smaller ones (EXPERIMENTAL)"
+msgstr "子リビジョン表示のコマンド (非推奨)"
+
+#, fuzzy
+msgid "revision to split"
+msgstr "表示対象リビジョン"
+
+msgid "rebase descendants after split"
+msgstr ""
+
+msgid "hg split [--no-rebase] [[-r] REV]"
+msgstr ""
+
+#, fuzzy
+msgid "split a changeset into smaller ones"
+msgstr "電子メールによる変更内容のパッチ送付"
+
+msgid ""
+"    Repeatedly prompt changes and commit message for new changesets until "
+"there\n"
+"    is nothing left in the original changeset."
+msgstr ""
+
+#, fuzzy
+msgid "    If --rev was not given, split the working directory parent."
+msgstr "      - 作業領域の親リビジョンの完全ハッシュ値の表示::"
+
+msgid ""
+"    By default, rebase connected non-obsoleted descendants onto the new\n"
+"    changeset. Use --no-rebase to avoid the rebase.\n"
+"    "
+msgstr ""
+
+#, fuzzy
+msgid "cannot split multiple revisions"
+msgstr "null リビジョンにはタグ付けできません"
+
+#, fuzzy
+msgid "nothing to split\n"
+msgstr "移動の必要はありません\n"
+
+#, fuzzy
+msgid "cannot split working directory"
+msgstr "作業領域の親リビジョンの内容は検閲できません"
+
+#, fuzzy
+msgid "cannot split public changeset"
+msgstr "public フェーズのリビジョンは改変できません: %s"
+
+msgid "split would leave orphaned changesets behind"
+msgstr ""
+
+#, fuzzy
+msgid "cannot split changeset with children without rebase"
+msgstr "子リビジョンを持つリビジョンは改変できません"
+
+#, fuzzy
+msgid "cannot split a merge changeset"
+msgstr "マージ実施リビジョンは打ち消し対象にできません"
+
+#, python-format
+msgid "HG: Splitting %s. So far it has been split into:\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "HG: - %s: %s\n"
+msgstr "リビジョン %s: %s\n"
+
+msgid "HG: Write commit message for the next split changeset.\n"
+msgstr ""
+
+#, python-format
+msgid "HG: Splitting %s. Write commit message for the first split changeset.\n"
+msgstr ""
+
+#, fuzzy
+msgid "cannot split an empty revision"
+msgstr "null リビジョンにはタグ付けできません"
+
 msgid "strip changesets and their descendants from history"
 msgstr "指定リビジョンと子孫の履歴からの破棄"
 
@@ -10379,9 +12326,6 @@
 "本エクステンションは、 指定リビジョンとその子孫を、 履歴から破棄します。\n"
 "詳細は :hg:`help strip` を参照してください。\n"
 
-msgid "local changes found"
-msgstr "作業領域に変更があります"
-
 msgid "local changed subrepos found"
 msgstr "サブリポジトリに変更があります"
 
@@ -10471,10 +12415,6 @@
 "    他リポジトリに反映済みである場合、 そのリビジョンは pull 操作により、\n"
 "    再び手元のリポジトリに出現することでしょう。"
 
-#, python-format
-msgid "bookmark '%s' not found"
-msgstr "ブックマーク '%s' がありません"
-
 msgid "empty revision set"
 msgstr "指定に該当するリビジョンはありません"
 
@@ -10501,8 +12441,8 @@
 msgid "skipping already applied revision %s\n"
 msgstr "適用済みリビジョン %s を無視\n"
 
-#, python-format
-msgid "skipping merge changeset %s:%s\n"
+#, fuzzy, python-format
+msgid "skipping merge changeset %d:%s\n"
 msgstr "マージ実施リビジョン %s:%s を無視\n"
 
 #, python-format
@@ -10746,6 +12686,62 @@
 msgid "use 'hg transplant --continue' or 'hg update' to abort"
 msgstr "'hg transplant --continue' か 'hg update' (移植中止)を実施してください"
 
+#, fuzzy
+msgid "uncommit part or all of a local changeset (EXPERIMENTAL)"
+msgstr "操作対象変更の対話的な選択 (実験的実装)"
+
+msgid ""
+"This command undoes the effect of a local commit, returning the affected\n"
+"files to their uncommitted state. This means that files modified, added or\n"
+"removed in the changeset will be left unchanged, and so will remain "
+"modified,\n"
+"added and removed in the working directory.\n"
+msgstr ""
+
+msgid "allow an empty commit after uncommiting"
+msgstr ""
+
+#, fuzzy
+msgid "uncommit part or all of a local changeset"
+msgstr "パス全体を補完"
+
+msgid ""
+"    This command undoes the effect of a local commit, returning the "
+"affected\n"
+"    files to their uncommitted state. This means that files modified or\n"
+"    deleted in the changeset will be left unchanged, and so will remain\n"
+"    modified in the working directory."
+msgstr ""
+
+msgid ""
+"    If no files are specified, the commit will be pruned, unless --keep is\n"
+"    given.\n"
+"    "
+msgstr ""
+
+#, fuzzy
+msgid "cannot uncommit merge changeset"
+msgstr "マージ実施リビジョンは打ち消し対象にできません"
+
+#, fuzzy
+msgid "nothing to uncommit\n"
+msgstr "merge の必要はありません"
+
+msgid "undo the most recent amend operation on a current changeset"
+msgstr ""
+
+msgid ""
+"    This command will roll back to the previous version of a changeset,\n"
+"    leaving working directory in state in which it was before running\n"
+"    `hg amend` (e.g. files modified as part of an amend will be\n"
+"    marked as modified `hg status`)\n"
+"    "
+msgstr ""
+
+#, python-format
+msgid "changeset must have one predecessor, found %i predecessors"
+msgstr ""
+
 msgid "allow the use of MBCS paths with problematic encodings"
 msgstr "問題ある文字コードをパス名に使用する場合の対処"
 
@@ -11016,9 +13012,31 @@
 msgstr "アクティブなブックマークがありません"
 
 #, python-format
+msgid "moving bookmark '%s' forward from %s\n"
+msgstr "ブックマーク '%s' を %s から前方に移動中\n"
+
+#, python-format
+msgid "bookmark '%s' already exists (use -f to force)"
+msgstr "ブックマーク '%s' は存在します(強制実行する場合は -f を指定)"
+
+msgid "a bookmark cannot have the name of an existing branch"
+msgstr "既存ブランチと同名のブックマークは作成できません"
+
+#, python-format
+msgid ""
+"bookmark %s matches a changeset hash\n"
+"(did you leave a -r out of an 'hg bookmark' command?)\n"
+msgstr ""
+"ブックマーク %s は既存のリビジョン識別ハッシュ値と合致します。\n"
+"('hg bookmark' 実行時に -r オプションを忘れていませんか?)\n"
+
+#, python-format
 msgid "updating to active bookmark %s\n"
 msgstr "アクティブなブックマーク %s への更新中\n"
 
+msgid "bad bookmark stream"
+msgstr "不正なブックマーク stream"
+
 #, python-format
 msgid "adding remote bookmark %s\n"
 msgstr "連携先での新規ブックマーク %s を追加中\n"
@@ -11070,6 +13088,20 @@
 msgid "deleted"
 msgstr "削除"
 
+msgid "bookmark names cannot consist entirely of whitespace"
+msgstr "空白文字だけで構成されたブックマーク名は不正です"
+
+#, python-format
+msgid "bookmark '%s' does not exist"
+msgstr "ブックマーク '%s' は存在しません"
+
+#, python-format
+msgid "bookmarking hidden changeset %s\n"
+msgstr "不可視リビジョン %s へのブックマーク設定\n"
+
+msgid "no bookmarks set\n"
+msgstr "ブックマークは存在しません\n"
+
 msgid "not a Mercurial bundle"
 msgstr "Mercurial のバンドル形式ではありません"
 
@@ -11077,14 +13109,26 @@
 msgid "unknown bundle version %s"
 msgstr "未知のバンドル形式バージョン %s"
 
+#, python-format
+msgid "stream ended unexpectedly  (got %d bytes, expected %d)"
+msgstr "想定外のデータ終端 (実データ:%d バイト 期待データ:%d バイト)"
+
 msgid "Seek failed\n"
 msgstr "seek に失敗しました\n"
 
 msgid "File pointer is not seekable"
 msgstr "対象ファイルは seek できません"
 
+msgid "stream data requested but server does not allow this feature"
+msgstr ""
+
+msgid ""
+"well-behaved clients should not be requesting stream data from servers not "
+"advertising it; the client may be buggy"
+msgstr ""
+
 msgid "old bundle types only supports v1 changegroups"
-msgstr "旧来の bundle 形式で使用できるのは v1 changegroups のみです"
+msgstr "旧来のバンドル形式で使用できるのは v1 changegroups のみです"
 
 #, python-format
 msgid "unknown stream compression type: %s"
@@ -11133,19 +13177,26 @@
 msgid "%i new obsolescence markers\n"
 msgstr "%i 個の新規廃止情報マーカ\n"
 
+msgid "cannot apply stream clone to non empty repository"
+msgstr "stream clone bundle での複製は、空リポジトリにしか適用できません"
+
 msgid "unknown parent"
 msgstr "未知の親"
 
 msgid "unknown delta base"
 msgstr "未知の差分ベース"
 
+msgid "No changegroups found"
+msgstr "変更内容が含まれていません"
+
+#, python-format
+msgid "bundle type %s cannot be read"
+msgstr "バンドル形式 %s は読み込めません"
+
 #, python-format
 msgid "Unsupported changegroup version: %s"
 msgstr "未サポートなバンドルファイルバージョンです: %s"
 
-msgid "No changegroups found"
-msgstr "変更内容が含まれていません"
-
 #, python-format
 msgid "setting parent to node %s that only exists in the bundle\n"
 msgstr "バンドル中にのみ存在するリビジョン %s が更新先として指定されました\n"
@@ -11154,10 +13205,6 @@
 msgstr "バンドルリポジトリの新規作成はできません"
 
 #, python-format
-msgid "stream ended unexpectedly (got %d bytes, expected %d)"
-msgstr "想定外のデータ終端 (実データ:%d バイト 期待データ:%d バイト)"
-
-#, python-format
 msgid "invalid chunk length %d"
 msgstr "不正なデータ長: %d"
 
@@ -11170,9 +13217,6 @@
 msgid "chunks"
 msgstr "チャンク"
 
-msgid "received changelog group is empty"
-msgstr "受信した変更履歴は空です"
-
 msgid "adding manifests\n"
 msgstr "マニフェストを追加中\n"
 
@@ -11193,20 +13237,13 @@
 msgid "bundling"
 msgstr "バンドル生成中"
 
-msgid "uncompressed size of bundle content:\n"
-msgstr "バンドルファイル内容の非圧縮サイズ:\n"
-
-#, python-format
-msgid "%8.i (changelog)\n"
-msgstr "%8.i (履歴情報)\n"
-
 #, python-format
 msgid "%8.i (manifests)\n"
 msgstr "%8.i (マニフェスト)\n"
 
 #, python-format
-msgid "empty or missing revlog for %s"
-msgstr "%s に対するリビジョンログが空または不在です"
+msgid "empty or missing file data for %s"
+msgstr "ファイル %s に対する履歴情報が空または不在です"
 
 #, python-format
 msgid "%8.i  %s\n"
@@ -11236,8 +13273,8 @@
 msgid "empty username"
 msgstr "ユーザ名が空です"
 
-#, python-format
-msgid "username %s contains a newline"
+#, fuzzy, python-format
+msgid "username %r contains a newline"
 msgstr "ユーザ名 %s が改行を含んでいます"
 
 #, python-format
@@ -11251,6 +13288,114 @@
 msgid "unexpected command: %s"
 msgstr "想定外のコマンド: %s"
 
+msgid "do not perform actions, just print output"
+msgstr "実施予定の処理内容の表示のみで処理実施は抑止"
+
+msgid "ask before applying actions"
+msgstr "処理実施前に確認を実施"
+
+msgid "specify ssh command to use"
+msgstr "SSH 連携で使用する ssh コマンド"
+
+msgid "specify hg command to run on the remote side"
+msgstr "遠隔ホスト側で実行される hg コマンド"
+
+msgid "do not verify server certificate (ignoring web.cacerts config)"
+msgstr "接続先証明書の検証省略(web.cacerts 設定の無視)"
+
+msgid "PATTERN"
+msgstr "パターン"
+
+msgid "include names matching the given patterns"
+msgstr "パターンに合致したファイルを処理対象に追加"
+
+msgid "exclude names matching the given patterns"
+msgstr "パターンに合致したファイルを処理対象から除外"
+
+msgid "read commit message from file"
+msgstr "コミットログをファイルから読み込み"
+
+msgid "record the specified date as commit date"
+msgstr "指定日時をコミット日時として記録"
+
+msgid "record the specified user as committer"
+msgstr "指定ユーザをコミットユーザとして記録"
+
+msgid "display with template (EXPERIMENTAL)"
+msgstr "当該テンプレートで表示をカスタマイズ (実験的実装)"
+
+msgid "STYLE"
+msgstr "スタイル"
+
+msgid "display using template map file (DEPRECATED)"
+msgstr "当該スタイルで表示をカスタマイズ (非推奨)"
+
+msgid "display with template"
+msgstr "当該テンプレートで表示をカスタマイズ"
+
+msgid "do not show merges"
+msgstr "マージ実施リビジョンの表示抑止"
+
+msgid "show the revision DAG"
+msgstr "履歴ツリーの表示"
+
+msgid "treat all files as text"
+msgstr "全ファイルをテキストファイルと仮定"
+
+msgid "generate binary diffs in git mode (default)"
+msgstr "git モード時にバイナリ差分を生成 (デフォルト挙動)"
+
+msgid "omit dates from diff headers"
+msgstr "差分表示の際に日付情報の表示を抑止"
+
+msgid "ignore white space when comparing lines"
+msgstr "差分判定の際に空白文字を無視"
+
+msgid "ignore changes in the amount of white space"
+msgstr "差分判定の際に空白文字の数を無視"
+
+msgid "ignore changes whose lines are all blank"
+msgstr "差分判定の際に空白行を無視"
+
+msgid "ignore changes in whitespace at EOL"
+msgstr "行末空白文字における変更を無視"
+
+msgid "omit a/ and b/ prefixes from filenames"
+msgstr "ファイル名の接頭辞 a/ と b/ の省略"
+
+msgid "show which function each change is in"
+msgstr "差分表示の際に関数名情報を表示"
+
+msgid "produce a diff that undoes the changes"
+msgstr "変更を取り消すための差分を生成"
+
+msgid "number of lines of context to show"
+msgstr "差分コンテキストの行数"
+
+msgid "DIR"
+msgstr "ディレクトリ"
+
+msgid "produce diffs relative to subdirectory"
+msgstr "差分生成の起点ディレクトリ指定"
+
+msgid "SIMILARITY"
+msgstr "類似度"
+
+msgid "guess renamed files by similarity (0<=s<=100)"
+msgstr "ファイル改名推定の際の類似度(0 以上 100 以下)"
+
+msgid "recurse into subrepositories"
+msgstr "サブリポジトリへの再帰的適用"
+
+msgid "open changelog"
+msgstr "変更履歴の読み込み"
+
+msgid "open manifest"
+msgstr "マニフェストの読み込み"
+
+msgid "open directory manifest"
+msgstr "ディレクトリマニフェストの読み込み"
+
 msgid "running non-interactively"
 msgstr "非対話的な実行中"
 
@@ -11264,6 +13409,64 @@
 msgid "no changes to record\n"
 msgstr "記録可能な変更がありません\n"
 
+#, python-format
+msgid "'%s' not recognized"
+msgstr "'%s' は未知です"
+
+#, python-format
+msgid "Unresolved merge conflicts:"
+msgstr "マージにおける未解消の衝突"
+
+#, python-format
+msgid "To mark files as resolved:  hg resolve --mark FILE"
+msgstr "衝突解消済み状態に設定: hg resolve --mark 対象ファイル"
+
+msgid "No unresolved merge conflicts."
+msgstr "マージでの衝突は全て解消済みです。"
+
+#, python-format
+msgid ""
+"To continue:                %s\n"
+"To abort:                   %s"
+msgstr ""
+"処理を継続:                 %s\n"
+"途中成果を破棄:             %s"
+
+msgid "warning: this will discard uncommitted changes"
+msgstr "警告: 作業領域中の未コミット成果が破棄されます"
+
+msgid ""
+"To mark the changeset good:    hg bisect --good\n"
+"To mark the changeset bad:     hg bisect --bad\n"
+"To abort:                      hg bisect --reset\n"
+msgstr ""
+"リビジョンを good でマーキング: hg bisect --good\n"
+"リビジョンを bad でマーキング:  hg bisect --bad\n"
+"bisect を中断:                  hg bisect --reset\n"
+
+#, python-format
+msgid "The repository is in an unfinished *%s* state."
+msgstr "リポジトリは *%s* 処理が未完了です。"
+
+msgid "cannot change branch of non-linear revisions"
+msgstr "非直線な履歴群のブランチ名は変更できません"
+
+msgid "a branch of the same name already exists"
+msgstr "同じ名前のブランチがすでに存在します"
+
+msgid "cannot change branch of a merge commit"
+msgstr "マージ実施リビジョンのブランチ名は変更できません"
+
+msgid "cannot change branch of a obsolete changeset"
+msgstr "廃止 (obsolete) リビジョンのブランチ名は変更できません"
+
+msgid "cannot change branch in middle of a stack"
+msgstr "中間リビジョンだけのブランチ名変更はできません"
+
+#, python-format
+msgid "changed branch on %d changesets\n"
+msgstr "%d 個のリビジョンのブランチ名を変更\n"
+
 msgid "options --message and --logfile are mutually exclusive"
 msgstr "--message と --logfile は同時に指定できません"
 
@@ -11271,11 +13474,8 @@
 msgid "can't read commit message '%s': %s"
 msgstr "コミットログ '%s' が読み込めません: %s"
 
-msgid "limit must be a positive integer"
-msgstr "制限には正数を指定してください"
-
-msgid "limit must be positive"
-msgstr "制限には正数を指定してください"
+msgid "incomplete format spec in output filename"
+msgstr "出力ファイル名に不正なフォーマット指定"
 
 #, python-format
 msgid "invalid format spec '%%%s' in output filename"
@@ -11406,85 +13606,6 @@
 msgstr "%s を作成"
 
 #, python-format
-msgid "warning: %s not inside relative root %s\n"
-msgstr "警告: %s は相対ルート %s の範囲外です\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "changeset:   %d:%s\n"
-msgstr "リビジョン:   %d:%s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "branch:      %s\n"
-msgstr "ブランチ:     %s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "phase:       %s\n"
-msgstr "フェーズ:     %s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "parent:      %d:%s\n"
-msgstr "親リビジョン: %d:%s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "manifest:    %d:%s\n"
-msgstr "manifest参照: %d:%s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "user:        %s\n"
-msgstr "ユーザ:       %s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "date:        %s\n"
-msgstr "日付:         %s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "trouble:     %s\n"
-msgstr "trouble:      %s\n"
-
-#. i18n: column positioning for "hg log"
-msgid "files:"
-msgstr "ファイル:    "
-
-#. i18n: column positioning for "hg log"
-msgid "files+:"
-msgstr "ファイル追加:"
-
-#. i18n: column positioning for "hg log"
-msgid "files-:"
-msgstr "ファイル削除:"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "files:       %s\n"
-msgstr "ファイル:     %s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "copies:      %s\n"
-msgstr "コピー:       %s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "extra:       %s=%s\n"
-msgstr "その他:       %s=%s\n"
-
-msgid "description:\n"
-msgstr "説明:\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "summary:     %s\n"
-msgstr "要約:         %s\n"
-
-#, python-format
 msgid "found revision %s from %s\n"
 msgstr "リビジョン %s (%s) が指定日時に合致します\n"
 
@@ -11503,10 +13624,6 @@
 msgstr "ファイル名が明示された場合のみ複製/改名を追跡可能です"
 
 #, python-format
-msgid "-G/--graph option is incompatible with --%s"
-msgstr "-G/--graph と --%s は併用できません"
-
-#, python-format
 msgid "adding %s\n"
 msgstr "%s を追加登録中\n"
 
@@ -11514,6 +13631,21 @@
 msgid "skipping missing subrepository: %s\n"
 msgstr "存在しないサブリポジトリへの処理を省略: %s\n"
 
+msgid "cannot specify both --dry-run and --interactive"
+msgstr "--dry-run と --interactive は併用できません"
+
+msgid ""
+"[Ynsa?]$$ &Yes, forget this file$$ &No, skip this file$$ &Skip remaining "
+"files$$ Include &all remaining files$$ &? (display help)"
+msgstr ""
+"[Ynsa?]$$ このファイルを登録除外 (&yes)$$ このファイルは無視 (&no)$$残りの"
+"ファイルを全て無視 (&skip)$$ 残りのファイルを全て登録除外 (&all)$$ヘルプ表示"
+"(&?)"
+
+#, python-format
+msgid "forget %s %s"
+msgstr "%s の登録除外 %s"
+
 msgid "searching"
 msgstr "検索中"
 
@@ -11551,14 +13683,6 @@
 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 "Leave message empty to abort commit."
 msgstr "メッセージが空のままならコミットを中止します。"
 
@@ -11685,9 +13809,6 @@
 msgid "repository root directory or name of overlay bundle file"
 msgstr "リポジトリのルート位置、 またはバンドルファイルのパス"
 
-msgid "DIR"
-msgstr "ディレクトリ"
-
 msgid "change working directory"
 msgstr "作業領域の変更"
 
@@ -11750,108 +13871,6 @@
 msgid "when to paginate (boolean, always, auto, or never)"
 msgstr "ページャの要否 (真偽値、 always auto または never)"
 
-msgid "do not perform actions, just print output"
-msgstr "実施予定の処理内容の表示のみで処理実施は抑止"
-
-msgid "specify ssh command to use"
-msgstr "SSH 連携で使用する ssh コマンド"
-
-msgid "specify hg command to run on the remote side"
-msgstr "遠隔ホスト側で実行される hg コマンド"
-
-msgid "do not verify server certificate (ignoring web.cacerts config)"
-msgstr "接続先証明書の検証省略(web.cacerts 設定の無視)"
-
-msgid "PATTERN"
-msgstr "パターン"
-
-msgid "include names matching the given patterns"
-msgstr "パターンに合致したファイルを処理対象に追加"
-
-msgid "exclude names matching the given patterns"
-msgstr "パターンに合致したファイルを処理対象から除外"
-
-msgid "read commit message from file"
-msgstr "コミットログをファイルから読み込み"
-
-msgid "record the specified date as commit date"
-msgstr "指定日時をコミット日時として記録"
-
-msgid "record the specified user as committer"
-msgstr "指定ユーザをコミットユーザとして記録"
-
-msgid "display with template (EXPERIMENTAL)"
-msgstr "当該テンプレートで表示をカスタマイズ (実験的実装)"
-
-msgid "STYLE"
-msgstr "スタイル"
-
-msgid "display using template map file (DEPRECATED)"
-msgstr "当該スタイルで表示をカスタマイズ (非推奨)"
-
-msgid "display with template"
-msgstr "当該テンプレートで表示をカスタマイズ"
-
-msgid "do not show merges"
-msgstr "マージ実施リビジョンの表示抑止"
-
-msgid "show the revision DAG"
-msgstr "履歴ツリーの表示"
-
-msgid "treat all files as text"
-msgstr "全ファイルをテキストファイルと仮定"
-
-msgid "generate binary diffs in git mode (default)"
-msgstr "git モード時にバイナリ差分を生成 (デフォルト挙動)"
-
-msgid "omit dates from diff headers"
-msgstr "差分表示の際に日付情報の表示を抑止"
-
-msgid "ignore white space when comparing lines"
-msgstr "差分判定の際に空白文字を無視"
-
-msgid "ignore changes in the amount of white space"
-msgstr "差分判定の際に空白文字の数を無視"
-
-msgid "ignore changes whose lines are all blank"
-msgstr "差分判定の際に空白行を無視"
-
-msgid "omit a/ and b/ prefixes from filenames"
-msgstr "ファイル名の接頭辞 a/ と b/ の省略"
-
-msgid "show which function each change is in"
-msgstr "差分表示の際に関数名情報を表示"
-
-msgid "produce a diff that undoes the changes"
-msgstr "変更を取り消すための差分を生成"
-
-msgid "number of lines of context to show"
-msgstr "差分コンテキストの行数"
-
-msgid "produce diffs relative to subdirectory"
-msgstr "差分生成の起点ディレクトリ指定"
-
-msgid "SIMILARITY"
-msgstr "類似度"
-
-msgid "guess renamed files by similarity (0<=s<=100)"
-msgstr "ファイル改名推定の際の類似度(0 以上 100 以下)"
-
-msgid "recurse into subrepositories"
-msgstr "サブリポジトリへの再帰的適用"
-
-msgid "open changelog"
-msgstr "変更履歴の読み込み"
-
-msgid "open manifest"
-msgstr "マニフェストの読み込み"
-
-msgid "open directory manifest"
-msgstr "ディレクトリマニフェストの読み込み"
-
-msgid "[OPTION]... [FILE]..."
-msgstr "[OPTION]... [FILE]..."
-
 msgid "add the specified files on the next commit"
 msgstr "指定ファイルの追加登録予約"
 
@@ -12043,9 +14062,6 @@
 "               foobar.c\n"
 "             r foobar.c"
 
-msgid "similarity must be a number"
-msgstr "類似度には数値を指定してください"
-
 msgid "annotate the specified revision"
 msgstr "当該リビジョン時点での由来情報を表示"
 
@@ -12073,6 +14089,9 @@
 msgid "show line number at the first appearance"
 msgstr "由来リビジョンでの初出時の行番号を表示"
 
+msgid "revision to not display (EXPERIMENTAL)"
+msgstr "非表示リビジョン (実験的実装)"
+
 msgid "[-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE..."
 msgstr "[-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE..."
 
@@ -12545,6 +14564,10 @@
 msgid "incompatible arguments"
 msgstr "不正な引数の組み合わせです"
 
+#, python-format
+msgid "%s and %s are incompatible"
+msgstr "%s と %s は併用できません"
+
 msgid "current bisect revision is unknown - start a new bisect to fix"
 msgstr "未知のリビジョンが検証対象です - 探索を最初からやり直してください"
 
@@ -12637,6 +14660,13 @@
 "    履歴の分岐は :hg:`merge` で解消してください。"
 
 msgid ""
+"    Specifying bookmark as '.' to -m or -d options is equivalent to "
+"specifying\n"
+"    the active bookmark's name."
+msgstr ""
+"    オプション -m/-d での '.' 指定は、 アクティブブックマーク指定と等価です"
+
+msgid ""
 "    A bookmark named '@' has the special property that :hg:`clone` will\n"
 "    check it out by default if it exists."
 msgstr ""
@@ -12677,20 +14707,6 @@
 "          hg book -f @\n"
 "    "
 
-msgid "bookmark names cannot consist entirely of whitespace"
-msgstr "空白文字だけで構成されたブックマーク名は不正です"
-
-#, python-format
-msgid "moving bookmark '%s' forward from %s\n"
-msgstr "ブックマーク '%s' を %s から前方に移動中\n"
-
-#, python-format
-msgid "bookmark '%s' already exists (use -f to force)"
-msgstr "ブックマーク '%s' は存在します(強制実行する場合は -f を指定)"
-
-msgid "a bookmark cannot have the name of an existing branch"
-msgstr "既存ブランチと同名のブックマークは作成できません"
-
 msgid "--delete and --rename are incompatible"
 msgstr "--delete と --rename は併用できません"
 
@@ -12703,19 +14719,12 @@
 msgid "bookmark name required"
 msgstr "ブックマーク名指定が必要です"
 
-#, python-format
-msgid "bookmark '%s' does not exist"
-msgstr "ブックマーク '%s' は存在しません"
-
 msgid "new bookmark name required"
 msgstr "新しいブックマーク名が必要です"
 
 msgid "only one new bookmark name allowed"
 msgstr "新規ブックマーク名の指定は1つだけです"
 
-msgid "no bookmarks set\n"
-msgstr "ブックマークは存在しません\n"
-
 msgid "no active bookmark\n"
 msgstr "アクティブなブックマークがありません\n"
 
@@ -12725,6 +14734,9 @@
 msgid "reset branch name to parent branch name"
 msgstr "ブランチ名設定を解消し、 親リビジョンのブランチに戻る"
 
+msgid "change branches of the given revs (EXPERIMENTAL)"
+msgstr "指定リビジョンのブランチを変更 (実験的実装)"
+
 msgid "[-fC] [NAME]"
 msgstr "[-fC] [NAME]"
 
@@ -12779,13 +14791,13 @@
 "    現ブランチヘッドの閉鎖には :hg:`commit --close-branch` を使用します。\n"
 "    全ブランチヘッドの閉鎖をもって、 当該ブランチの閉鎖とみなします。"
 
+msgid "no branch name specified for the revisions"
+msgstr "指定リビジョンに対するブランチ名指定がありません"
+
 #, python-format
 msgid "reset working directory to branch %s\n"
 msgstr "作業領域のブランチを %s にリセット\n"
 
-msgid "a branch of the same name already exists"
-msgstr "同じ名前のブランチがすでに存在します"
-
 #. i18n: "it" refers to an existing branch
 msgid "use 'hg update' to switch to it"
 msgstr "作業領域を既存ブランチに切り替えるには 'hg update' を使用してください"
@@ -12856,7 +14868,9 @@
 msgid "create a bundle file"
 msgstr "バンドルファイルの生成"
 
-msgid "    Generate a bundle file containing data to be added to a repository."
+msgid ""
+"    Generate a bundle file containing data to be transferred to another\n"
+"    repository."
 msgstr ""
 "    連携対象リポジトリに無い履歴情報を、 バンドルファイルに書き出します。"
 
@@ -12865,7 +14879,8 @@
 "    (or --base null). Otherwise, hg assumes the destination will have\n"
 "    all the nodes you specify with --base parameters. Otherwise, hg\n"
 "    will assume the repository has all the nodes in destination, or\n"
-"    default-push/default if no destination is specified."
+"    default-push/default if no destination is specified, where destination\n"
+"    is the repository you provide through DEST option."
 msgstr ""
 "    -a/--all (又は --base null) 指定がある場合、 バンドルファイルには、\n"
 "    リポジトリの全ての履歴が書き出されます。 明示的な --base 指定の場合、\n"
@@ -12957,10 +14972,13 @@
 
 msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules as follows:"
-msgstr ""
-"    出力先指定(置換指定可能)がある場合、 出力はファイルに保存されます。\n"
-"    置換指定として以下のものが使用可能です:"
+"    given using a template string. See :hg:`help templates`. In addition\n"
+"    to the common template keywords, the following formatting rules are\n"
+"    supported:"
+msgstr ""
+"    出力先指定には、 テンプレート文字列を使用可能です。 詳細は\n"
+"    :hg:`help templates` を参照してください。\n"
+"    標準テンプレートキーワードに加えて、 以下のものも使用可能です:"
 
 msgid ""
 "    :``%%``: literal \"%\" character\n"
@@ -12971,17 +14989,19 @@
 "    :``%R``: changeset revision number\n"
 "    :``%h``: short-form changeset hash (12 hexadecimal digits)\n"
 "    :``%r``: zero-padded changeset revision number\n"
-"    :``%b``: basename of the exporting repository"
+"    :``%b``: basename of the exporting repository\n"
+"    :``\\``: literal \"\\\" character"
 msgstr ""
 "    :``%%``: \"%\" 文字そのもの\n"
 "    :``%s``: 対象ファイルパスの末尾要素\n"
-"    :``%d``: 対象ファイルの格納ディレクトリ、 または '.'(ルートの場合)\n"
+"    :``%d``: 対象ファイルの格納ディレクトリ、 または '.' (ルートの場合)\n"
 "    :``%p``: 対象ファイルのリポジトリルートからの相対パス\n"
-"    :``%H``: ハッシュ値(40 桁 16 進数)\n"
+"    :``%H``: ハッシュ値 (40 桁 16 進数)\n"
 "    :``%R``: リビジョン番号\n"
-"    :``%h``: 短縮形式ハッシュ値(12 桁 16 進数)\n"
+"    :``%h``: 短縮形式ハッシュ値 (12 桁 16 進数)\n"
 "    :``%r``: ゼロ詰めのリビジョン番号\n"
-"    :``%b``: 対象リポジトリパスの末尾要素"
+"    :``%b``: 対象リポジトリパスの末尾要素\n"
+"    :``\\``: \"\\\" 文字そのもの"
 
 msgid "the clone will include an empty working directory (only a repository)"
 msgstr "複製先の作業領域を空にする(管理領域のみの複製)"
@@ -12989,11 +15009,19 @@
 msgid "revision, tag, or branch to check out"
 msgstr "作業領域更新用リビジョン(タグ名/ブランチ名指定可)"
 
-msgid "include the specified changeset"
-msgstr "複製対象に含めるリビジョン"
-
-msgid "clone only the specified branch"
-msgstr "指定ブランチのみを複製"
+msgid "do not clone everything, but include this changeset and its ancestors"
+msgstr "指定リビジョンとその祖先のみを複製"
+
+msgid ""
+"do not clone everything, but include this branch's changesets and their "
+"ancestors"
+msgstr "指定ブランチ中のリビジョンとその祖先のみを複製"
+
+msgid "an alias to --stream (DEPRECATED)"
+msgstr "--stream の別名 (非推奨)"
+
+msgid "clone with minimal data processing"
+msgstr "最小限のデータ処理のみでの複製"
 
 msgid "[OPTION]... SOURCE [DEST]"
 msgstr "[OPTION]... SOURCE [DEST]"
@@ -13055,6 +15083,29 @@
 "    同様に振舞います。"
 
 msgid ""
+"    In normal clone mode, the remote normalizes repository data into a "
+"common\n"
+"    exchange format and the receiving end translates this data into its "
+"local\n"
+"    storage format. --stream activates a different clone mode that "
+"essentially\n"
+"    copies repository files from the remote with minimal data processing. "
+"This\n"
+"    significantly reduces the CPU cost of a clone both remotely and "
+"locally.\n"
+"    However, it often increases the transferred data size by 30-40%. This "
+"can\n"
+"    result in substantially faster clones where I/O throughput is "
+"plentiful,\n"
+"    especially for larger repositories. A side-effect of --stream clones is\n"
+"    that storage settings and requirements on the remote are applied "
+"locally:\n"
+"    a modern client may inherit legacy or inefficient storage used by the\n"
+"    remote or a legacy Mercurial client may not be able to clone from a\n"
+"    modern Mercurial remote."
+msgstr ""
+
+msgid ""
 "       Specifying a tag will include the tagged changeset but not the\n"
 "       changeset containing the tag."
 msgstr ""
@@ -13077,32 +15128,6 @@
 "      を指定することで、 ハードリンク使用を抑止してください。"
 
 msgid ""
-"      In some cases, you can clone repositories and the working\n"
-"      directory using full hardlinks with ::"
-msgstr ""
-"      リポジトリの内部管理データと作業領域中のファイル全てに対する、\n"
-"      ハードリンクによる複製の作成には、 以下の方法が使えるかも知れません::"
-
-msgid "        $ cp -al REPO REPOCLONE"
-msgstr "        $ cp -al REPO REPOCLONE"
-
-msgid ""
-"      This is the fastest way to clone, but it is not always safe. The\n"
-"      operation is not atomic (making sure REPO is not modified during\n"
-"      the operation is up to you) and you have to make sure your\n"
-"      editor breaks hardlinks (Emacs and most Linux Kernel tools do\n"
-"      so). Also, this is not compatible with certain extensions that\n"
-"      place their metadata under the .hg directory, such as mq."
-msgstr ""
-"      この方法は最速の複製方法かもしれませんが、 常に安全とは限りません。\n"
-"      操作の単一性は保障されません (複製中のリポジトリの変更防止は、 \n"
-"      利用者責務) し、 利用するエディタのファイル変更時の振る舞いが、\n"
-"      ハードリンクを破棄するものである必要があります (Emacs および多くの\n"
-"      Linux 系ツールは、 そのように振舞います)。 この制約は、\n"
-"      MQ エクステンションのように、 .hg ディレクトリ配下に、\n"
-"      管理情報を格納するツールとは相容れません。"
-
-msgid ""
 "      Mercurial will update the working directory to the first applicable\n"
 "      revision from this list:"
 msgstr ""
@@ -13136,19 +15161,19 @@
 
 msgid ""
 "      When cloning from servers that support it, Mercurial may fetch\n"
-"      pre-generated data from a server-advertised URL. When this is done,\n"
-"      hooks operating on incoming changesets and changegroups may fire "
-"twice,\n"
-"      once for the bundle fetched from the URL and another for any "
-"additional\n"
-"      data not fetched from this URL. In addition, if an error occurs, the\n"
-"      repository may be rolled back to a partial clone. This behavior may\n"
-"      change in future releases. See :hg:`help -e clonebundles` for more."
+"      pre-generated data from a server-advertised URL or inline from the\n"
+"      same stream. When this is done, hooks operating on incoming "
+"changesets\n"
+"      and changegroups may fire more than once, once for each pre-generated\n"
+"      bundle and as well as for any additional remaining data. In addition,\n"
+"      if an error occurs, the repository may be rolled back to a partial\n"
+"      clone. This behavior may change in future releases.\n"
+"      See :hg:`help -e clonebundles` for more."
 msgstr ""
 "      サーバ経由で複製した場合、 サーバ側で事前に作成されたデータを元に、\n"
-"      複製を行う可能性があります (サーバ側設定次第)。 そのような場合は、\n"
-"      incoming, changegroup 系フックが、 事前作成データの取り込みで一度、\n"
-"      追加履歴の取り込みでもう一度、 合計二度実行されることになります。\n"
+"      複製を行う可能性があります (サーバ側設定次第)。 そのような場合、\n"
+"      incoming, changegroups 系フックが、 事前作成データに対して一度、\n"
+"      残りの履歴情報に対してもう一度、 合計二度実行されることになります。\n"
 "      また、 エラーでの複製中断時も、 複製先に履歴が残る可能性があります。\n"
 "      この挙動は将来変更されるかもしれません。\n"
 "      詳細は :hg:`help -e clonebundles` を参照してください。"
@@ -13172,13 +15197,11 @@
 msgid "          hg clone ssh://user@server//home/projects/alpha/"
 msgstr "          hg clone ssh://user@server//home/projects/alpha/"
 
-msgid ""
-"      - do a high-speed clone over a LAN while checking out a\n"
-"        specified version::"
-msgstr "      - LAN 経由での高速複製と、 特定リビジョンでの作業領域更新::"
-
-msgid "          hg clone --uncompressed http://server/repo -u 1.5"
-msgstr "          hg clone --uncompressed http://server/repo -u 1.5"
+msgid "      - do a streaming clone while checking out a specified version::"
+msgstr "      - stream 方式での複製と、 指定リビジョンでの作業領域更新::"
+
+msgid "          hg clone --stream http://server/repo -u 1.5"
+msgstr "          hg clone --stream http://server/repo -u 1.5"
 
 msgid ""
 "      - create a repository without changesets after a particular revision::"
@@ -13199,9 +15222,6 @@
 msgid "cannot specify both --noupdate and --updaterev"
 msgstr "--noupdate と --updaterev は併用できません"
 
-msgid "mark new/missing files as added/removed before committing"
-msgstr "新規/不在ファイルを、コミット前に登録/除外対象化"
-
 msgid "mark a branch head as closed"
 msgstr "ブランチヘッドを閉鎖します"
 
@@ -13211,9 +15231,6 @@
 msgid "use the secret phase for committing"
 msgstr "secret フェーズでコミット中"
 
-msgid "use interactive mode"
-msgstr "操作対象変更の対話的な選択"
-
 msgid "commit the specified files or all outstanding changes"
 msgstr "指定ファイルまたは全ての変更内容のリポジトリへの記録"
 
@@ -13329,15 +15346,6 @@
 msgid "cannot amend with ui.commitsubrepos enabled"
 msgstr "ui.commitsubrepos が有効になっている場合は --amend を使用できません"
 
-msgid "cannot amend public changesets"
-msgstr "public フェーズのリビジョンは改変できません"
-
-msgid "cannot amend while merging"
-msgstr "マージ実施中の作業領域では改変できません"
-
-msgid "cannot amend changeset with children"
-msgstr "子リビジョンを持つリビジョンは改変できません"
-
 msgid "show untrusted configuration options"
 msgstr "信頼できない設定項目も表示"
 
@@ -13369,10 +15377,10 @@
 
 msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names."
-msgstr ""
-"    複数の引数が指定された場合、 それらをセクション名とみなし、 該当する\n"
-"    セクションの設定項目を全て表示します。"
+"    items with matching section names or section.names."
+msgstr ""
+"    複数の引数が指定された場合、 それらを ``セクション名`` または\n"
+"    ``セクション名.項目名`` とみなし、 該当する設定項目を全て表示します。"
 
 msgid ""
 "    With --edit, start an editor on the user-level config file. With\n"
@@ -13406,9 +15414,6 @@
 msgid "edit failed"
 msgstr "編集に失敗"
 
-msgid "only one config item permitted"
-msgstr "複数の設定項目指定は無効です"
-
 msgid "record a copy that has already occurred"
 msgstr "手動で複製済みのファイルに対して、 複製の旨を記録"
 
@@ -13454,6 +15459,21 @@
 "    成功時のコマンドの終了値は 0、 エラー発生時は 1 です。\n"
 "    "
 
+msgid "[COMMAND]"
+msgstr "[COMMAND]"
+
+msgid "list all available commands and options"
+msgstr "利用可能な全コマンド/オプションの一覧表示"
+
+msgid "show the command options"
+msgstr "当該コマンドのオプション一覧の表示"
+
+msgid "[-o] CMD"
+msgstr "[-o] CMD"
+
+msgid "returns the completion list associated with the given command"
+msgstr "指定コマンドの補完用リストの取得"
+
 msgid "[OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]..."
 msgstr "[OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]..."
 
@@ -13583,13 +15603,6 @@
 "       当該リビジョンの第1親に固定されているためです。"
 
 msgid ""
-"    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:"
-msgstr ""
-"    出力先指定(置換指定可能)がある場合、 出力はファイルに保存されます。\n"
-"    置換指定として以下のものが使用可能です:"
-
-msgid ""
 "    :``%%``: literal \"%\" character\n"
 "    :``%H``: changeset hash (40 hexadecimal digits)\n"
 "    :``%N``: number of patches being generated\n"
@@ -13599,17 +15612,19 @@
 "    :``%m``: first line of the commit message (only alphanumeric "
 "characters)\n"
 "    :``%n``: zero-padded sequence number, starting at 1\n"
-"    :``%r``: zero-padded changeset revision number"
+"    :``%r``: zero-padded changeset revision number\n"
+"    :``\\``: literal \"\\\" character"
 msgstr ""
 "    :``%%``: \"%\" 文字そのもの\n"
-"    :``%H``: ハッシュ値(40 桁 16 進数)\n"
-"    :``%N``: 生成されるファイルの総数\n"
+"    :``%H``: ハッシュ値 (40 桁 16 進数)\n"
+"    :``%N``: 生成されるパッチファイルの総数\n"
 "    :``%R``: リビジョン番号\n"
 "    :``%b``: 対象リポジトリパスの末尾要素\n"
-"    :``%h``: 短縮形式ハッシュ値(12 桁 16 進数)\n"
+"    :``%h``: 短縮形式ハッシュ値 (12 桁 16 進数)\n"
 "    :``%m``: コミットログの1行目 (英数字限定)\n"
 "    :``%n``: 1から始まるゼロ詰めの通し番号\n"
-"    :``%r``: ゼロ詰めのリビジョン番号"
+"    :``%r``: ゼロ詰めのリビジョン番号\n"
+"    :``\\``: \"\\\" 文字そのもの"
 
 msgid ""
 "    Without the -a/--text option, export will avoid generating diffs\n"
@@ -13824,7 +15839,7 @@
 
 msgid ""
 "    If --force is specified, revisions will be grafted even if they\n"
-"    are already ancestors of or have been grafted to the destination.\n"
+"    are already ancestors of, or have been grafted to, the destination.\n"
 "    This is useful when the revisions have since been backed out."
 msgstr ""
 "    移植対象リビジョン、 あるいはその移植先リビジョンが、 移植先にとって、\n"
@@ -13910,8 +15925,8 @@
 msgstr "graft"
 
 #, python-format
-msgid "skipping ungraftable merge revision %s\n"
-msgstr "移植できないマージリビジョン %s を無視\n"
+msgid "skipping ungraftable merge revision %d\n"
+msgstr "移植できないマージリビジョン %d を無視\n"
 
 #, python-format
 msgid "skipping ancestor revision %d:%s\n"
@@ -14175,9 +16190,13 @@
 
 msgid ""
 "    When REV is not given, print a summary of the current state of the\n"
-"    repository."
-msgstr ""
-"    リビジョン指定無しで起動された場合は、 作業領域の状態を表示します。"
+"    repository including the working directory. Specify -r. to get "
+"information\n"
+"    of the working directory parent without scanning uncommitted changes."
+msgstr ""
+"    リビジョン指定無しで起動された場合は、 リポジトリの状態を表示します\n"
+"    (作業領域状態含む)。 作業領域の未コミット変更等を無視する場合は、\n"
+"    ``-r .`` を指定してください。"
 
 msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
@@ -14430,6 +16449,9 @@
 msgid "cannot use --no-commit with --bypass"
 msgstr "--no-commit と --bypass は併用できません"
 
+msgid "similarity must be a number"
+msgstr "類似度には数値を指定してください"
+
 msgid "cannot use --similarity with --bypass"
 msgstr "--similarity と --bypass は併用できません"
 
@@ -14479,11 +16501,11 @@
 msgid ""
 "    Show new changesets found in the specified path/URL or the default\n"
 "    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command."
-msgstr ""
-"    ファイルパス、 URL または :hg:`pull` の無指定時連携先リポジトリ中の、\n"
-"    未取り込みリビジョンを検索します。 これらのリビジョンは\n"
-"    :hg:`pull` を実行した際に、 取り込み対象となります。"
+"    by :hg:`pull` at the time you issued this command."
+msgstr ""
+"    連携先リポジトリ中の、 新規リビジョンを表示します (連携先は、\n"
+"    指定のファイルパス、 URL、 あるいは無指定時連携先リポジトリ設定)。\n"
+"    表示されたリビジョンは :hg:`pull` 実行時に、 取り込み対象となります。"
 
 msgid "    See pull for valid source format details."
 msgstr "    対象リポジトリの指定形式は :hg:`help pull` を参照してください。"
@@ -14647,6 +16669,12 @@
 msgid "    See :hg:`help files` for a more versatile command."
 msgstr "    より高機能な :hg:`files` コマンドのヘルプを参照してください。"
 
+msgid "follow line range of specified file (EXPERIMENTAL)"
+msgstr "指定ファイルの特定行範囲の変更を追跡 (実験的実装)"
+
+msgid "FILE,RANGE"
+msgstr "ファイル,行範囲"
+
 msgid "show revision history of entire repository or files"
 msgstr "リポジトリ全体またはファイルの変更履歴の表示"
 
@@ -14668,13 +16696,12 @@
 "    File history is shown without following rename or copy history of\n"
 "    files. Use -f/--follow with a filename to follow history across\n"
 "    renames and copies. --follow without a filename will only show\n"
-"    ancestors or descendants of the starting revision."
-msgstr ""
-"    ファイルの履歴表示では、 改名/複製時の元ファイルにまでさかのぼった\n"
-"    履歴は表示しません。 元ファイルの履歴をさかのぼる場合は、 ファイル名\n"
-"    と一緒に -f/--follow を使用します。 --follow 指定の際にファイル名が\n"
-"    指定されない場合は、 開始リビジョンに連なるリビジョンのみを表示\n"
-"    します。"
+"    ancestors of the starting revision."
+msgstr ""
+"    ファイルの履歴表示では、 改名/複製の元ファイルの履歴は表示しません。\n"
+"    元ファイルの履歴までさかのぼる場合は、 ファイル名と一緒に -f/--follow\n"
+"    を使用します。 --follow 指定の際にファイル名が指定されない場合は、\n"
+"    表示開始対象リビジョンと、 その祖先のみを表示します。"
 
 msgid ""
 "    By default this command prints revision number and changeset id,\n"
@@ -14691,15 +16718,36 @@
 msgid ""
 "    With --graph the revisions are shown as an ASCII art DAG with the most\n"
 "    recent changeset at the top.\n"
-"    'o' is a changeset, '@' is a working directory parent, 'x' is obsolete,\n"
-"    and '+' represents a fork where the changeset from the lines below is a\n"
-"    parent of the 'o' merge on the same line."
+"    'o' is a changeset, '@' is a working directory parent, '_' closes a "
+"branch,\n"
+"    'x' is obsolete, '*' is unstable, and '+' represents a fork where the\n"
+"    changeset from the lines below is a parent of the 'o' merge on the same\n"
+"    line.\n"
+"    Paths in the DAG are represented with '|', '/' and so forth. ':' in "
+"place\n"
+"    of a '|' indicates one or more revisions in a path are omitted."
 msgstr ""
 "    --graph 指定がある場合、 最新リビジョンを上にした履歴グラフ (DAG) を、\n"
-"    ASCII アートで描画します。 履歴グラフにおける 'o' はリビジョン、\n"
-"    '@' は作業領域の親、 'x' は廃止 (obsoleted) リビジョンを意味します。\n"
+"    ASCII アートで描画します。 履歴グラフにおける 'o' は通常リビジョン、\n"
+"    '@' は作業領域の親、 '_' はブランチ閉鎖、 'x' は廃止 (obsoleted) 、\n"
+"    '*' は非永続 (unstable) リビジョンを意味します。\n"
 "    また '+' は、 同一行の 'o' が '+' 下方のリビジョンを親としたマージで、\n"
-"    且つこのマージによって、 履歴が枝分かれしていることを表します。"
+"    且つこのマージによって、 履歴が枝分かれしていることを表します。    グラフ"
+"中の履歴の枝葉は、 '|', '/' 等々で表現されます。 '|' の代わりに\n"
+"    ':' が使用されている箇所は、 省略されたリビジョンの存在を表します。"
+
+msgid ""
+"       Use -L/--line-range FILE,M:N options to follow the history of lines\n"
+"       from M to N in FILE. With -p/--patch only diff hunks affecting\n"
+"       specified line range will be shown. This option requires --follow;\n"
+"       it can be specified multiple times. Currently, this option is not\n"
+"       compatible with --graph. This option is experimental."
+msgstr ""
+"       -L/--line-range に関して: -L FILE,M:N は、 ファイル FILE\n"
+"       の M 〜 N 行目の範囲に関連する履歴の指定となります。\n"
+"       -p/--patch 指定時は、 当該範囲に関連する差分のみが表示されます。\n"
+"       --follow との併用が必須です。 オプションは複数指定可能です。\n"
+"       --graph とは併用できません。 まだ実験的実装段階です。"
 
 msgid ""
 "       :hg:`log --patch` may generate unexpected diff output for merge\n"
@@ -14723,6 +16771,17 @@
 "       といったリビジョンが、 表示対象から除外される可能性があります。\n"
 "       --removed 指定により、 これらを含む全リビジョンが表示されます。"
 
+msgid ""
+"          The history resulting from -L/--line-range options depends on "
+"diff\n"
+"          options; for instance if white-spaces are ignored, respective "
+"changes\n"
+"          with only white-spaces in specified line range will not be listed."
+msgstr ""
+"          -L/--line-range 指定時の履歴は、 diff 表示設定の影響を受けます。\n"
+"          例: 空白文字を無視する場合、 指定範囲の変更を行っている履歴でも、\n"
+"          空白文字の変更のみの履歴は、 無視されます。"
+
 msgid "      - changesets with full descriptions and file lists::"
 msgstr "      - 全リビジョンのコミットログとファイル一覧の表示::"
 
@@ -14793,6 +16852,21 @@
 msgstr ""
 "          hg log -r \"last(tagged())::\" --template \"{desc|firstline}\\n\""
 
+msgid "      - changesets touching lines 13 to 23 for file.c::"
+msgstr "      - file.c の 13 〜 23 行目に関連する履歴::"
+
+msgid "          hg log -L file.c,13:23"
+msgstr "          hg log -L file.c,13:23"
+
+msgid ""
+"      - changesets touching lines 13 to 23 for file.c and lines 2 to 6 of\n"
+"        main.c with patch::"
+msgstr ""
+"      - file.c の 13 〜 23 行目と、 main.c の 2 〜 6 行目に関連する履歴::"
+
+msgid "          hg log -L file.c,13:23 -L main.c,2:6 -p"
+msgstr "          hg log -L file.c,13:23 -L main.c,2:6 -p"
+
 msgid ""
 "    See :hg:`help revisions` for more about specifying and ordering\n"
 "    revisions."
@@ -14801,10 +16875,19 @@
 
 msgid ""
 "    See :hg:`help templates` for more about pre-packaged styles and\n"
-"    specifying custom templates."
+"    specifying custom templates. The default template used by the log\n"
+"    command can be customized via the ``ui.logtemplate`` configuration\n"
+"    setting."
 msgstr ""
 "    同梱されているスタイルや、テンプレートのカスタマイズ等の詳細は、\n"
-"    :hg:`help templates` を参照してください。"
+"    :hg:`help templates` を参照してください。 :hg:`log` での表示は、\n"
+"    ``ui.logtemplate`` 設定経由でもカスタマイズ可能です。"
+
+msgid "--line-range requires --follow"
+msgstr "--line-range は --follow と組み合わせてください"
+
+msgid "FILE arguments are not compatible with --line-range option"
+msgstr "--line-range 指定時は、引数にファイル名を指定できません"
 
 msgid "revision to display"
 msgstr "表示対象リビジョン"
@@ -14855,6 +16938,9 @@
 msgid "review revisions to merge (no merge is performed)"
 msgstr "マージ対象リビジョンの確認(マージ処理は未実施)"
 
+msgid "abort the ongoing merge"
+msgstr "未コミットの merge 成果を破棄します"
+
 msgid "[-P] [[-r] REV]"
 msgstr "[-P] [[-r] REV]"
 
@@ -14904,12 +16990,12 @@
 msgstr "    衝突の扱いに関する詳細は :hg:`help resolve` を参照してください。"
 
 msgid ""
-"    To undo an uncommitted merge, use :hg:`update --clean .` which\n"
+"    To undo an uncommitted merge, use :hg:`merge --abort` which\n"
 "    will check out a clean copy of the original merge parent, losing\n"
 "    all changes."
 msgstr ""
-"    コミット前にマージ処理を取り消す場合は、 :hg:`update --clean .`\n"
-"    が使用できますが、 マージ前の親リビジョンの内容で上書きするため、\n"
+"    未コミットなマージ成果は、 :hg:`merge --abort` で破棄できます。\n"
+"    この場合、 作業領域は以前の親リビジョンの内容で上書きされ、\n"
 "    作業領域中の全ての変更内容が失われます。"
 
 msgid ""
@@ -14919,6 +17005,21 @@
 "    成功時のコマンド終了値は 0、 未解消ファイルがある場合は 1 です。\n"
 "    "
 
+# this is left untranslated intentionally, because untranslated word
+# can be treated as ACTION name.
+# (by foozy@lares.dti.ne.jp)
+msgid "merge"
+msgstr ""
+
+msgid "cannot specify a node with --abort"
+msgstr "リビジョン指定と --abort は併用できません"
+
+msgid "cannot specify both --rev and --abort"
+msgstr "--rev と --abort は併用できません"
+
+msgid "cannot specify --preview with --abort"
+msgstr "--preview と --abort は併用できません"
+
 msgid "a changeset intended to be included in the destination"
 msgstr "反映対象とするリビジョン"
 
@@ -15136,10 +17237,11 @@
 "    指定リビジョンのフェーズを指定値に変更します。"
 
 msgid ""
-"    Unless -f/--force is specified, :hg:`phase` won't move changeset from a\n"
-"    lower phase to an higher phase. Phases are ordered as follows::"
-msgstr ""
-"    -f/--force が指定されない限り、 低い方から高い方へのフェーズ変更は、\n"
+"    Unless -f/--force is specified, :hg:`phase` won't move changesets from "
+"a\n"
+"    lower phase to a higher phase. Phases are ordered as follows::"
+msgstr ""
+"    -f/--force 指定がない限り、 フェーズ値の低い方から高い方への変更は、\n"
 "    実施できません。 フェーズの高低は以下のように定義されています::"
 
 msgid "        public < draft < secret"
@@ -15187,8 +17289,8 @@
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(作業領域の更新は 'hg update')\n"
 
-msgid "update to new branch head if changesets were pulled"
-msgstr "新規取り込みの際は、 新規ブランチヘッドで、 作業領域を更新"
+msgid "update to new branch head if new descendants were pulled"
+msgstr "作業領域の子孫が取り込まれた場合、 作業領域を新規ブランチヘッドで更新"
 
 msgid "run even when remote repository is unrelated"
 msgstr "連携先が無関係なリポジトリでも実行"
@@ -15219,6 +17321,19 @@
 "    特に指定が無い場合、 このコマンドによる作業領域の更新はありません。"
 
 msgid ""
+"    When cloning from servers that support it, Mercurial may fetch\n"
+"    pre-generated data. When this is done, hooks operating on incoming\n"
+"    changesets and changegroups may fire more than once, once for each\n"
+"    pre-generated bundle and as well as for any additional remaining\n"
+"    data. See :hg:`help -e clonebundles` for more."
+msgstr ""
+"    サーバ経由で複製した場合、 サーバ側で事前に作成されたデータを元に、\n"
+"    複製を行う可能性があります (サーバ側設定次第)。 そのような場合、\n"
+"    incoming, changegroups 系フックが、 事前作成データに対して一度、\n"
+"    残りの履歴情報に対してもう一度、 合計二度実行されることになります。\n"
+"    詳細は :hg:`help -e clonebundles` を参照してください。"
+
+msgid ""
 "    Use :hg:`incoming` if you want to see what would have been added\n"
 "    by a pull at the time you issued this command. If you then decide\n"
 "    to add those changes to the repository, you should use :hg:`pull\n"
@@ -15262,6 +17377,9 @@
 msgid "allow pushing a new branch"
 msgstr "新規ブランチの反映を許可"
 
+msgid "variables that can be sent to server (ADVANCED)"
+msgstr ""
+
 msgid "[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]"
 msgstr "[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]"
 
@@ -15333,18 +17451,41 @@
 "    連携先が省略された場合、 'default' パスが連携先として使用されます。"
 
 msgid ""
+"        The --pushvars option sends strings to the server that become\n"
+"        environment variables prepended with ``HG_USERVAR_``. For example,\n"
+"        ``--pushvars ENABLE_FEATURE=true``, provides the server side hooks "
+"with\n"
+"        ``HG_USERVAR_ENABLE_FEATURE=true`` as part of their environment."
+msgstr ""
+
+msgid ""
+"        pushvars can provide for user-overridable hooks as well as set "
+"debug\n"
+"        levels. One example is having a hook that blocks commits containing\n"
+"        conflict markers, but enables the user to override the hook if the "
+"file\n"
+"        is using conflict markers for testing purposes or the file format "
+"has\n"
+"        strings that look like conflict markers."
+msgstr ""
+
+msgid ""
+"        By default, servers will ignore `--pushvars`. To enable it add the\n"
+"        following to your configuration file::"
+msgstr ""
+
+msgid ""
+"            [push]\n"
+"            pushvars.server = true"
+msgstr ""
+
+msgid ""
 "    Returns 0 if push was successful, 1 if nothing to push.\n"
 "    "
 msgstr ""
 "    反映成功時のコマンド終了値は 0、 何も反映されなかった場合は 1 です。\n"
 "    "
 
-msgid "default repository not configured!"
-msgstr "デフォルトの連携先が設定されていません"
-
-msgid "see 'hg help config.paths'"
-msgstr "詳細は 'hg help config.paths' 参照"
-
 #, python-format
 msgid "pushing to %s\n"
 msgstr "%s への反映中\n"
@@ -15604,6 +17745,10 @@
 msgstr "マージドライバの処理対象 %s は衝突未解消扱いになりません\n"
 
 #, python-format
+msgid "%s: path conflict must be resolved manually\n"
+msgstr "%s: パスの衝突は手動で解消する必要があります\n"
+
+#, python-format
 msgid "(try: hg resolve %s%s)\n"
 msgstr "(推奨コマンド: hg resolve %s%s)\n"
 
@@ -15626,8 +17771,8 @@
 msgid "revert to the specified revision"
 msgstr "当該リビジョン時点の内容で復旧"
 
-msgid "interactively select the changes (EXPERIMENTAL)"
-msgstr "操作対象変更の対話的な選択 (実験的実装)"
+msgid "interactively select the changes"
+msgstr "操作対象変更の対話的な選択"
 
 msgid "[OPTION]... [-r REV] [NAME]..."
 msgstr "[OPTION]... [-r REV] [NAME]..."
@@ -15638,10 +17783,10 @@
 msgid ""
 "       To check out earlier revisions, you should use :hg:`update REV`.\n"
 "       To cancel an uncommitted merge (and lose your changes),\n"
-"       use :hg:`update --clean .`."
+"       use :hg:`merge --abort`."
 msgstr ""
 "       指定リビジョンでの作業領域の更新は :hg:`update 対象リビジョン`\n"
-"       で行います。 マージ途中での取り消しは :hg:`update --clean .`\n"
+"       で行います。 未コミットマージ成果の破棄は :hg:`merge --abort`\n"
 "       で行います (マージにおける修正内容は破棄されます)。"
 
 msgid ""
@@ -15905,13 +18050,13 @@
 msgid ""
 "    Please note that the server does not implement access control.\n"
 "    This means that, by default, anybody can read from the server and\n"
-"    nobody can write to it by default. Set the ``web.allow_push``\n"
+"    nobody can write to it by default. Set the ``web.allow-push``\n"
 "    option to ``*`` to allow everybody to push to the server. You\n"
 "    should use a real web server if you need to authenticate users."
 msgstr ""
 "    本コマンドで起動されるサーバは、 アクセス制御が実装されていません。\n"
 "    特に設定が無い場合、 誰もがリポジトリを参照可能で、 且つリポジトリは\n"
-"    誰にも更新できない状態にあります。 ``web.allow_push`` 設定を ``*``\n"
+"    誰にも更新できない状態にあります。 ``web.allow-push`` 設定を ``*``\n"
 "    に設定することで、 誰もがリポジトリに :hg:`push` できます。\n"
 "    ユーザ認証が必要な場合は、 通常のウェブサーバを使用してください。"
 
@@ -15959,6 +18104,9 @@
 msgid "show only ignored files"
 msgstr "無視対象のファイルを表示"
 
+msgid "show the terse output (EXPERIMENTAL)"
+msgstr "省略形式での表示 (実験的実装)"
+
 msgid "show source of copied files"
 msgstr "複製元ファイルを表示"
 
@@ -16040,6 +18188,41 @@
 "        = 直前に表示される新規登録予定ファイル(A)の複製元"
 
 msgid ""
+"      The -t/--terse option abbreviates the output by showing only the "
+"directory\n"
+"      name if all the files in it share the same status. The option takes "
+"an\n"
+"      argument indicating the statuses to abbreviate: 'm' for 'modified', "
+"'a'\n"
+"      for 'added', 'r' for 'removed', 'd' for 'deleted', 'u' for 'unknown', "
+"'i'\n"
+"      for 'ignored' and 'c' for clean."
+msgstr ""
+
+msgid ""
+"      It abbreviates only those statuses which are passed. Note that clean "
+"and\n"
+"      ignored files are not displayed with '--terse ic' unless the -c/--"
+"clean\n"
+"      and -i/--ignored options are also used."
+msgstr ""
+
+msgid ""
+"      The -v/--verbose option shows information when the repository is in "
+"an\n"
+"      unfinished merge, shelve, rebase state etc. You can have this "
+"behavior\n"
+"      turned on by default by enabling the ``commands.status.verbose`` "
+"option."
+msgstr ""
+
+msgid ""
+"      You can skip displaying some of these states by setting\n"
+"      ``commands.status.skipstates`` to one or more of: 'bisect', 'graft',\n"
+"      'histedit', 'merge', 'rebase', or 'unshelve'."
+msgstr ""
+
+msgid ""
 "      - show changes in the working directory relative to a\n"
 "        changeset::"
 msgstr "      - 作業領域と指定リビジョンとの間での状態変更を表示::"
@@ -16069,6 +18252,17 @@
 msgid "          hg status -an0"
 msgstr "          hg status -an0"
 
+msgid ""
+"      - show more information about the repository status, abbreviating\n"
+"        added, removed, modified, deleted, and untracked paths::"
+msgstr ""
+
+msgid "          hg status -v -t mardu"
+msgstr "          hg status -v -t mardu"
+
+msgid "cannot use --terse with --rev"
+msgstr "--terse と --rev は併用できません"
+
 msgid "check for push and pull"
 msgstr "push/pull 実施結果の確認"
 
@@ -16205,16 +18399,16 @@
 msgstr "フェーズ:     %s\n"
 
 #, python-format
-msgid "unstable: %d changesets"
-msgstr "unstable リビジョン: %d 個"
-
-#, python-format
-msgid "divergent: %d changesets"
-msgstr "divergent リビジョン: %d 個"
-
-#, python-format
-msgid "bumped: %d changesets"
-msgstr "bumped リビジョン: %d 個"
+msgid "orphan: %d changesets"
+msgstr "孤立リビジョン: %d 個"
+
+#, python-format
+msgid "content-divergent: %d changesets"
+msgstr "内容分岐リビジョン: %d 個"
+
+#, python-format
+msgid "phase-divergent: %d changesets"
+msgstr "フェーズ分岐リビジョン: %d 個"
 
 msgid "1 or more incoming"
 msgstr "取り込み候補リビジョンあり"
@@ -16402,6 +18596,12 @@
 "    成功時のコマンド終了値は 0、 衝突未解消ファイルがある場合は 1 です。\n"
 "    "
 
+msgid "packed bundles cannot be applied with \"hg unbundle\""
+msgstr "packed bundle は \"hg unbundle\" では適用できません"
+
+msgid "use \"hg debugapplystreamclonebundle\""
+msgstr "\"hg debugapplystreamclonebundle\" を使用してください"
+
 #, python-format
 msgid "%s: unknown bundle feature, %s"
 msgstr "%s: 未知のバンドル機能 %s"
@@ -16409,12 +18609,6 @@
 msgid "see https://mercurial-scm.org/wiki/BundleFeature for more information"
 msgstr "詳細は https://mercurial-scm.org/wiki/BundleFeature 参照"
 
-msgid "packed bundles cannot be applied with \"hg unbundle\""
-msgstr "packed bundle は \"hg unbundle\" では適用できません"
-
-msgid "use \"hg debugapplystreamclonebundle\""
-msgstr "\"hg debugapplystreamclonebundle\" を使用してください"
-
 msgid "discard uncommitted changes (no backup)"
 msgstr "未コミット変更内容の破棄(保存無し)"
 
@@ -16512,11 +18706,10 @@
 
 msgid ""
 "    To cancel an uncommitted merge (and lose your changes), use\n"
-"    :hg:`update --clean .`."
-msgstr ""
-"    マージ実施を途中で取り消す場合は\n"
-"    :hg:`update --clean .` を実行してください\n"
-"    (マージにおける修正内容は破棄されます)。"
+"    :hg:`merge --abort`."
+msgstr ""
+"    未コミットマージ成果の破棄は :hg:`merge --abort`\n"
+"    で行います (マージにおける修正内容は破棄されます)。"
 
 msgid ""
 "    Use null as the changeset to remove the working directory (like\n"
@@ -16538,6 +18731,10 @@
 msgid "can only specify one of -C/--clean, -c/--check, or -m/--merge"
 msgstr "-C/--clean, -c/--check および -m/--merge は複数指定できません"
 
+#, python-format
+msgid "updating to a hidden changeset %s\n"
+msgstr "作業領域を不可視リビジョン %s で更新中\n"
+
 msgid "verify the integrity of the repository"
 msgstr "リポジトリの整合性検証"
 
@@ -16574,11 +18771,11 @@
 msgstr "(詳細は https://mercurial-scm.org を参照)"
 
 msgid ""
-"Copyright (C) 2005-2017 Matt Mackall and others\n"
+"Copyright (C) 2005-2018 Matt Mackall and others\n"
 "This is free software; see the source for copying conditions. There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
-"Copyright (C) 2005-2017 Matt Mackall and others\n"
+"Copyright (C) 2005-2018 Matt Mackall and others\n"
 "本製品はフリーソフトウェアです。\n"
 "頒布条件に関しては同梱されるライセンス条項をお読みください。\n"
 "市場適合性や特定用途への可否を含め、 本製品は無保証です。\n"
@@ -16626,21 +18823,14 @@
 msgstr "マニフェストにありません"
 
 #, python-format
-msgid "hidden revision '%s'"
-msgstr "'%s' は不可視リビジョンです"
-
-msgid "use --hidden to access hidden revisions"
-msgstr "不可視リビジョンへのアクセス時には --hidden 指定が必要です"
-
-#, python-format
-msgid "filtered revision '%s' (not in '%s' subset)"
-msgstr "'%s' はフィルタリング対象リビジョンです ('%s' には属しません)"
-
-#, python-format
 msgid "working directory has unknown parent '%s'!"
 msgstr "作業領域の親 '%s' が未知のリビジョンです!"
 
 #, python-format
+msgid "filtered revision '%s'"
+msgstr "'%s' は不可視リビジョンです"
+
+#, python-format
 msgid "unknown revision '%s'"
 msgstr "'%s' は未知のリビジョンです"
 
@@ -16698,6 +18888,10 @@
 msgid "copy failed: %s is not a file or a symbolic link\n"
 msgstr "コピー失敗: %s はファイルでもシンボリックリンクでもありません\n"
 
+#, python-format
+msgid "skipping copytracing for '%s', more candidates than the limit: %d\n"
+msgstr ""
+
 msgid ""
 "# To remove '-' lines, make them ' ' lines (context).\n"
 "# To remove '+' lines, delete them.\n"
@@ -16733,8 +18927,9 @@
 msgid "starting interactive selection\n"
 msgstr "対話的な選択の開始\n"
 
-msgid "Select hunks to revert"
-msgstr "取り消しに用いる差分の選択"
+#, fuzzy
+msgid "Select hunks to apply"
+msgstr "破棄する差分の選択"
 
 msgid "Select hunks to discard"
 msgstr "破棄する差分の選択"
@@ -16742,6 +18937,12 @@
 msgid "Select hunks to record"
 msgstr "記録する差分の選択"
 
+msgid "space: select"
+msgstr ""
+
+msgid "space: deselect"
+msgstr ""
+
 msgid "[x]=selected **=collapsed"
 msgstr ""
 
@@ -16754,12 +18955,6 @@
 msgid "arrow keys: move/expand/collapse"
 msgstr ""
 
-msgid "space: deselect"
-msgstr ""
-
-msgid "space: select"
-msgstr ""
-
 msgid "?: help"
 msgstr ""
 
@@ -16859,8 +19054,8 @@
 msgid "parent id %i is larger than current id %i"
 msgstr "親 id %i が現 id %i よりも大きいです"
 
-#, python-format
-msgid "invalid event type in dag: %s"
+#, fuzzy, python-format
+msgid "invalid event type in dag: ('%s', '%s')"
 msgstr "dag イベント種別が不正です: %s"
 
 msgid "nullid"
@@ -16869,9 +19064,16 @@
 msgid "[INDEX] REV1 REV2"
 msgstr "[INDEX] REV1 REV2"
 
+msgid "find the ancestor revision of two revisions in a given index"
+msgstr ""
+
 msgid "either two or three arguments required"
 msgstr "2または3の引数が必要です"
 
+#, fuzzy
+msgid "apply a stream clone bundle file"
+msgstr "バンドルファイルの適用"
+
 msgid "add single file mergeable changes"
 msgstr "ファイルを1つ登録して、 マージ可能な変更をリビジョン毎に実施"
 
@@ -16884,6 +19086,54 @@
 msgid "[OPTION]... [TEXT]"
 msgstr "[OPTION]... [TEXT]"
 
+msgid "builds a repo with a given DAG from scratch in the current empty repo"
+msgstr ""
+
+msgid ""
+"    The description of the DAG is read from stdin if not given on the\n"
+"    command line."
+msgstr ""
+
+#, fuzzy
+msgid "    Elements:"
+msgstr "    例::"
+
+msgid ""
+"     - \"+n\" is a linear run of n nodes based on the current default "
+"parent\n"
+"     - \".\" is a single node based on the current default parent\n"
+"     - \"$\" resets the default parent to null (implied at the start);\n"
+"           otherwise the default parent is always the last node created\n"
+"     - \"<p\" sets the default parent to the backref p\n"
+"     - \"*p\" is a fork at parent p, which is a backref\n"
+"     - \"*p1/p2\" is a merge of parents p1 and p2, which are backrefs\n"
+"     - \"/p2\" is a merge of the preceding node and p2\n"
+"     - \":tag\" defines a local tag for the preceding node\n"
+"     - \"@branch\" sets the named branch for subsequent nodes\n"
+"     - \"#...\\n\" is a comment up to the end of the line"
+msgstr ""
+
+msgid "    Whitespace between the above elements is ignored."
+msgstr ""
+
+msgid "    A backref is either"
+msgstr ""
+
+msgid ""
+"     - a number n, which references the node curr-n, where curr is the "
+"current\n"
+"       node, or\n"
+"     - the name of a local tag you placed earlier using \":tag\", or\n"
+"     - empty to denote the default parent."
+msgstr ""
+
+msgid ""
+"    All string valued-elements are either strictly alphanumeric, or must\n"
+"    be enclosed in double quotes (\"...\"), with \"\\\" as escape "
+"character.\n"
+"    "
+msgstr ""
+
 msgid "reading DAG from stdin\n"
 msgstr "DAG を標準入力から読み込みます\n"
 
@@ -16902,9 +19152,25 @@
 msgid "show all details"
 msgstr "全詳細の表示"
 
+#, fuzzy
+msgid "show only the named part type"
+msgstr "直前に適用したパッチのみを表示"
+
 msgid "print the bundlespec of the bundle"
 msgstr "バンドルファイルの仕様表示"
 
+#, fuzzy
+msgid "lists the contents of a bundle"
+msgstr "バンドルファイルの仕様表示"
+
+#, fuzzy
+msgid "lists the capabilities of a remote peer"
+msgstr "指定リビジョンにおける変更対象ファイルの一覧"
+
+#, fuzzy
+msgid "validate the correctness of the current dirstate"
+msgstr "現行パッチの名前表示"
+
 #, python-format
 msgid "%s in state %s, but not in manifest1\n"
 msgstr "%s の状態は %s ですが、 管理対象ではありません\n"
@@ -16927,20 +19193,27 @@
 msgid "show all configured styles"
 msgstr "全ての設定済みスタイルを表示"
 
+msgid "show available color, effects or style"
+msgstr ""
+
 msgid "available colors:\n"
 msgstr "利用可能な色指定:\n"
 
 msgid "available style:\n"
 msgstr "利用可能なスタイル:\n"
 
-msgid "[COMMAND]"
-msgstr "[COMMAND]"
-
-msgid "show the command options"
-msgstr "当該コマンドのオプション一覧の表示"
-
-msgid "[-o] CMD"
-msgstr "[-o] CMD"
+#, fuzzy
+msgid "create a stream clone bundle file"
+msgstr "バンドルファイルの生成"
+
+msgid ""
+"    Stream bundles are special bundles that are essentially archives of\n"
+"    revlog files. They are commonly used for cloning very quickly.\n"
+"    "
+msgstr ""
+
+msgid "(warning: stream clone bundle will contain secret revisions)\n"
+msgstr ""
 
 #, python-format
 msgid "bundle requirements: %s\n"
@@ -16961,27 +19234,105 @@
 msgid "[OPTION]... [FILE [REV]...]"
 msgstr "[OPTION]... [FILE [REV]...]"
 
+msgid "format the changelog or an index DAG as a concise textual description"
+msgstr ""
+
+msgid ""
+"    If you pass a revlog index, the revlog's DAG is emitted. If you list\n"
+"    revision numbers, they get labeled in the output as rN."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    Otherwise, the changelog DAG of the current repo is emitted.\n"
+"    "
+msgstr "    現リポジトリの整合性を検証します。"
+
 msgid "need repo for changelog dag"
 msgstr "変更履歴の DAG 出力にはリポジトリが必要です"
 
 msgid "-c|-m|FILE REV"
 msgstr "-c|-m|FILE REV"
 
+#, fuzzy
+msgid "dump the contents of a data file revision"
+msgstr "指定リビジョンのファイル内容の検閲/消去"
+
 msgid "try extended date formats"
 msgstr "拡張日時形式の使用"
 
 msgid "[-e] DATE [RANGE]"
 msgstr "[-e] DATE [RANGE]"
 
+msgid "parse and display a date"
+msgstr ""
+
 msgid "-c|-m|FILE"
 msgstr "-c|-m|FILE"
 
+msgid "dump information about delta chains in a revlog"
+msgstr ""
+
+msgid "    Output can be templatized. Available template keywords are:"
+msgstr ""
+
+msgid ""
+"    :``rev``:       revision number\n"
+"    :``chainid``:   delta chain identifier (numbered by unique base)\n"
+"    :``chainlen``:  delta chain length to this revision\n"
+"    :``prevrev``:   previous revision in delta chain\n"
+"    :``deltatype``: role of delta / how it was computed\n"
+"    :``compsize``:  compressed size of revision\n"
+"    :``uncompsize``: uncompressed size of revision\n"
+"    :``chainsize``: total size of compressed revisions in chain\n"
+"    :``chainratio``: total chain size divided by uncompressed revision size\n"
+"                    (new delta chains typically start at ratio 2.00)\n"
+"    :``lindist``:   linear distance from base revision in delta chain to "
+"end\n"
+"                    of this revision\n"
+"    :``extradist``: total size of revisions not part of this delta chain "
+"from\n"
+"                    base of delta chain to end of this revision; a "
+"measurement\n"
+"                    of how much extra data we need to read/seek across to "
+"read\n"
+"                    the delta chain for this revision\n"
+"    :``extraratio``: extradist divided by chainsize; another representation "
+"of\n"
+"                    how much unrelated data is needed to load this delta "
+"chain"
+msgstr ""
+
+msgid ""
+"    If the repository is configured to use the sparse read, additional "
+"keywords\n"
+"    are available:"
+msgstr ""
+
+msgid ""
+"    :``readsize``:     total size of data read from the disk for a revision\n"
+"                       (sum of the sizes of all the blocks)\n"
+"    :``largestblock``: size of the largest block of data read from the disk\n"
+"    :``readdensity``:  density of useful bytes in the data read from the "
+"disk\n"
+"    :``srchunks``:  in how many data hunks the whole revision would be read"
+msgstr ""
+
+msgid ""
+"    The sparse read can be enabled with experimental.sparse-read = True\n"
+"    "
+msgstr ""
+
 msgid "do not display the saved mtime"
 msgstr "記録された mtime 情報の表示抑止"
 
 msgid "sort by saved mtime"
 msgstr "記録された mtime 情報で整列"
 
+#, fuzzy
+msgid "show the contents of the current dirstate"
+msgstr "現行パッチの名前表示"
+
 #, python-format
 msgid "copy: %s -> %s\n"
 msgstr "%s から %s に複製\n"
@@ -16992,8 +19343,25 @@
 msgid "use old-style discovery with non-heads included"
 msgstr "non-heads 有りの旧形式探索を実施"
 
-msgid "[-l REV] [-r REV] [-b BRANCH]... [OTHER]"
-msgstr "[-l REV] [-r REV] [-b BRANCH]... [OTHER]"
+#, fuzzy
+msgid "[--rev REV] [OTHER]"
+msgstr "[-r REV] [REV]"
+
+msgid "runs the changeset discovery protocol in isolation"
+msgstr ""
+
+#, fuzzy
+msgid "path"
+msgstr "パス"
+
+msgid ""
+"download a resource using Mercurial logic and config\n"
+"    "
+msgstr ""
+
+#, fuzzy
+msgid "show information about active extensions"
+msgstr "    名前付きブランチ情報の表示。"
 
 msgid " (untested!)\n"
 msgstr " (テスト未実施!)\n"
@@ -17020,9 +19388,25 @@
 msgid "[-r REV] FILESPEC"
 msgstr "[-r REV] FILESPEC"
 
+msgid "parse and apply a fileset specification"
+msgstr ""
+
+#, fuzzy
+msgid "display format information about the current repository"
+msgstr "    指定ファイルの履歴の表示。"
+
+msgid ""
+"    Use --verbose to get extra information about current config value and\n"
+"    Mercurial default."
+msgstr ""
+
 msgid "[PATH]"
 msgstr "[PATH]"
 
+#, fuzzy
+msgid "show information detected about current filesystem"
+msgstr "削除されたファイル(登録除外は未実施)を表示"
+
 msgid "id of head node"
 msgstr "ヘッドノードの ID"
 
@@ -17032,11 +19416,33 @@
 msgid "REPO FILE [-H|-C ID]..."
 msgstr "REPO FILE [-H|-C ID]..."
 
+#, fuzzy
+msgid "retrieves a bundle from a repo"
+msgstr "バンドルファイルの生成"
+
+msgid ""
+"    Every ID must be a full-length hex node id string. Saves the bundle to "
+"the\n"
+"    given file.\n"
+"    "
+msgstr ""
+
 msgid "unknown bundle type specified with --type"
-msgstr "--type に未知のバンドル種別が指定されました"
-
-msgid "no ignore patterns found"
-msgstr "無視対象ファイルの指定がありません"
+msgstr "--type に未知のバンドル形式が指定されました"
+
+msgid "display the combined ignore pattern and information about ignored files"
+msgstr ""
+
+#, fuzzy
+msgid "    With no argument display the combined ignore pattern."
+msgstr "    引数指定が無い場合、 コマンドの一覧と概要を表示します。"
+
+msgid ""
+"    Given space separated file names, shows if the given file is ignored "
+"and\n"
+"    if so, show the ignore rule (file and line number) that matched it.\n"
+"    "
+msgstr ""
 
 #, python-format
 msgid "%s is ignored\n"
@@ -17060,10 +19466,19 @@
 msgid "[-f FORMAT] -c|-m|FILE"
 msgstr "[-f FORMAT] -c|-m|FILE"
 
+msgid "dump the contents of an index file"
+msgstr ""
+
 #, python-format
 msgid "unknown format %d"
 msgstr "未知のフォーマット: %d"
 
+msgid "dump an index DAG as a graphviz dot file"
+msgstr ""
+
+msgid "test Mercurial installation"
+msgstr ""
+
 #, python-format
 msgid "checking encoding (%s)...\n"
 msgstr "文字コードの検証中 (%s)...\n"
@@ -17134,6 +19549,10 @@
 msgid "checking available compression engines for wire protocol (%s)\n"
 msgstr "通信時に利用可能な圧縮エンジンの検証中 (%s)\n"
 
+#, fuzzy, python-format
+msgid "checking \"re2\" regexp engine (%s)\n"
+msgstr "登録済み圧縮エンジンの検証中 (%s)...\n"
+
 msgid " no template directories found\n"
 msgstr " テンプレート設定ディレクトリが存在しません\n"
 
@@ -17192,18 +19611,98 @@
 msgid "REPO ID..."
 msgstr "REPO ID..."
 
+msgid "test whether node ids are known to a repo"
+msgstr ""
+
+msgid ""
+"    Every ID must be a full-length hex node id string. Returns a list of 0s\n"
+"    and 1s indicating unknown/known.\n"
+"    "
+msgstr ""
+
 msgid "LABEL..."
 msgstr "LABEL..."
 
+msgid "backwards compatibility with old bash completion scripts (DEPRECATED)"
+msgstr ""
+
 msgid "free the store lock (DANGEROUS)"
 msgstr "管理領域の排他の解放 (危険)"
 
 msgid "free the working state lock (DANGEROUS)"
 msgstr "作業領域の排他の解放 (危険)"
 
+msgid "set the store lock until stopped"
+msgstr ""
+
+#, fuzzy
+msgid "set the working state lock until stopped"
+msgstr "作業領域の排他の解放 (危険)"
+
+#, fuzzy
+msgid "show or modify state of locks"
+msgstr "変更されたファイルを表示"
+
+msgid ""
+"    By default, this command will show which locks are held. This\n"
+"    includes the user and process holding the lock, the amount of time\n"
+"    the lock has been held, and the machine name where the process is\n"
+"    running if it's not local."
+msgstr ""
+
+msgid ""
+"    Locks protect the integrity of Mercurial's data, so should be\n"
+"    treated with care. System crashes or other interruptions may cause\n"
+"    locks to not be properly released, though Mercurial will usually\n"
+"    detect and remove such stale locks automatically."
+msgstr ""
+
+msgid ""
+"    However, detecting stale locks may not always be possible (for\n"
+"    instance, on a shared filesystem). Removing locks may also be\n"
+"    blocked by filesystem permissions."
+msgstr ""
+
+msgid ""
+"    Setting a lock will prevent other commands from changing the data.\n"
+"    The command will wait until an interruption (SIGINT, SIGTERM, ...) "
+"occurs.\n"
+"    The set locks are removed when the command exits."
+msgstr ""
+
+#, fuzzy
+msgid "    Returns 0 if no locks are held."
+msgstr ""
+"    成功時のコマンド終了値は 0 です。\n"
+"    "
+
+#, fuzzy
+msgid "wlock is already held"
+msgstr "パッチ状態は保存済みです\n"
+
+#, fuzzy
+msgid "lock is already held"
+msgstr "パッチ状態は保存済みです\n"
+
+msgid "ready to release the lock (y)? $$ &Yes"
+msgstr ""
+
+#, fuzzy
+msgid "print merge state"
+msgstr "送信予定のメールの内容を表示"
+
+msgid ""
+"    Use --verbose to print out information about whether v1 or v2 merge "
+"state\n"
+"    was chosen."
+msgstr ""
+
 msgid "NAME..."
 msgstr "NAME..."
 
+msgid "complete \"names\" - tags, open branch names, bookmark names"
+msgstr ""
+
 msgid "markers flag"
 msgstr "廃止マーカ用フラグ"
 
@@ -17213,6 +19712,10 @@
 msgid "display markers relevant to REV"
 msgstr "指定リビジョンに関連するマーカの表示"
 
+#, fuzzy
+msgid "restrict display to markers only relevant to REV"
+msgstr "指定リビジョンに関連するマーカの表示"
+
 msgid "display index of the marker"
 msgstr "廃止マーカのインデックス値を表示"
 
@@ -17222,6 +19725,14 @@
 msgid "[OBSOLETED [REPLACEMENT ...]]"
 msgstr "[OBSOLETED [REPLACEMENT ...]]"
 
+#, fuzzy
+msgid "create arbitrary obsolete marker"
+msgstr "%i 個の廃止マーカを破棄\n"
+
+#, fuzzy
+msgid "    With no arguments, displays the list of obsolescence markers."
+msgstr "    引数指定が無い場合、 コマンドの一覧と概要を表示します。"
+
 #, python-format
 msgid "invalid index value: %r"
 msgstr "不正なインデックス値: %r"
@@ -17249,9 +19760,132 @@
 msgid "FILESPEC..."
 msgstr "FILESPEC..."
 
+#, fuzzy
+msgid "complete part or all of a tracked path"
+msgstr "パス全体を補完"
+
+msgid ""
+"    This command supports shells that offer path name completion. It\n"
+"    currently completes only files already known to the dirstate."
+msgstr ""
+
+msgid ""
+"    Completion extends only to the next path segment unless\n"
+"    --full is specified, in which case entire paths are used."
+msgstr ""
+
+#, fuzzy
+msgid "establish a connection to a peer repository"
+msgstr "%s への ssl 接続に失敗"
+
+#, fuzzy, python-format
+msgid "url: %s\n"
+msgstr "ユーザ: %s\n"
+
+#, fuzzy, python-format
+msgid "local: %s\n"
+msgstr "a: %s\n"
+
+#, fuzzy
+msgid "no"
+msgstr "now"
+
+#, fuzzy
+msgid "yes"
+msgstr "バイト"
+
+#, fuzzy, python-format
+msgid "pushable: %s\n"
+msgstr "履歴反映に失敗: %s"
+
+#, fuzzy
+msgid "check for files in this revision"
+msgstr "指定リビジョンに対する fileset 記述の適用"
+
+msgid "emulate merging change and delete"
+msgstr ""
+
+#, fuzzy
+msgid "[PATTERN]..."
+msgstr "パターン"
+
+msgid "examine which merge tool is chosen for specified file"
+msgstr ""
+
+msgid ""
+"    As described in :hg:`help merge-tools`, Mercurial examines\n"
+"    configurations below in this order to decide which merge tool is\n"
+"    chosen for specified file."
+msgstr ""
+
+msgid ""
+"    1. ``--tool`` option\n"
+"    2. ``HGMERGE`` environment variable\n"
+"    3. configurations in ``merge-patterns`` section\n"
+"    4. configuration of ``ui.merge``\n"
+"    5. configurations in ``merge-tools`` section\n"
+"    6. ``hgmerge`` tool (for historical reason only)\n"
+"    7. default tool for fallback (``:merge`` or ``:prompt``)"
+msgstr ""
+
+#, fuzzy
+msgid "    This command writes out examination result in the style below::"
+msgstr ""
+"    本コマンドは以下と等価です (※ 訳注: 2つ目以降は FILE や `--rev REV`\n"
+"    指定時の挙動に対応します)::"
+
+msgid "        FILE = MERGETOOL"
+msgstr ""
+
+msgid ""
+"    By default, all files known in the first parent context of the\n"
+"    working directory are examined. Use file patterns and/or -I/-X\n"
+"    options to limit target files. -r/--rev is also useful to examine\n"
+"    files in another context without actual updating to it."
+msgstr ""
+
+msgid ""
+"    With --debug, this command shows warning messages while matching\n"
+"    against ``merge-patterns`` and so on, too. It is recommended to\n"
+"    use this option with explicit file patterns and/or -I/-X options,\n"
+"    because this option increases amount of output per file according\n"
+"    to configurations in hgrc."
+msgstr ""
+
+msgid ""
+"    With -v/--verbose, this command shows configurations below at\n"
+"    first (only if specified)."
+msgstr ""
+
+msgid ""
+"    - ``--tool`` option\n"
+"    - ``HGMERGE`` environment variable\n"
+"    - configuration of ``ui.merge``"
+msgstr ""
+
+msgid ""
+"    If merge tool is chosen before matching against\n"
+"    ``merge-patterns``, this command can't show any helpful\n"
+"    information, even with --debug. In such case, information above is\n"
+"    useful to know why a merge tool is chosen.\n"
+"    "
+msgstr ""
+
 msgid "REPO NAMESPACE [KEY OLD NEW]"
 msgstr "REPO NAMESPACE [KEY OLD NEW]"
 
+msgid "access the pushkey key/value protocol"
+msgstr ""
+
+msgid "    With two args, list the keys in the given namespace."
+msgstr ""
+
+msgid ""
+"    With five args, set a key to new if it currently is set to old.\n"
+"    Reports success or failure.\n"
+"    "
+msgstr ""
+
 msgid "A B"
 msgstr "A B"
 
@@ -17277,12 +19911,47 @@
 msgid "only rebuild files that are inconsistent with the working copy parent"
 msgstr "作業領域の親リビジョンに対して、 不適切なファイルのみ、 状態を再構築"
 
+msgid "rebuild the dirstate as it would look like for the given revision"
+msgstr ""
+
+#, fuzzy
+msgid "    If no revision is specified the first current parent will be used."
+msgstr "    ディレクトリが指定されない場合、 現ディレクトリが初期化されます。"
+
+msgid ""
+"    The dirstate will be set to the files of the given revision.\n"
+"    The actual working directory content or existing dirstate\n"
+"    information such as adds or removes is not considered."
+msgstr ""
+
+msgid ""
+"    ``minimal`` will only rebuild the dirstate status for files that claim "
+"to be\n"
+"    tracked but are not in the parent manifest, or that exist in the parent\n"
+"    manifest but are not in the dirstate. It will not change adds, removes, "
+"or\n"
+"    modified files that are in the working copy parent."
+msgstr ""
+
+msgid ""
+"    One use of this command is to make the next :hg:`status` invocation\n"
+"    check the actual file content.\n"
+"    "
+msgstr ""
+
+msgid "rebuild the fncache file"
+msgstr ""
+
 msgid "revision to debug"
 msgstr "デバッグ対象リビジョン"
 
 msgid "[-r REV] FILE"
 msgstr "[-r REV] FILE"
 
+#, fuzzy
+msgid "dump rename information"
+msgstr "共通の祖先リビジョンの情報表示"
+
 #, python-format
 msgid "%s renamed from %s:%s\n"
 msgstr "%s は %s:%s で改名されました\n"
@@ -17294,9 +19963,19 @@
 msgid "dump index data"
 msgstr "インデックスデータのダンプ"
 
+msgid "show data and statistics about a revlog"
+msgstr ""
+
 msgid "print parsed tree after optimizing (DEPRECATED)"
 msgstr "最適化後の解析ツリーの表示 (非推奨)"
 
+#, fuzzy
+msgid "print list of result revisions (default)"
+msgstr "リビジョン番号を表示(既定動作)"
+
+msgid "print internal representation of result set"
+msgstr ""
+
 msgid "print parsed tree at the given stage"
 msgstr "指定解析段階における解析ツリーの表示"
 
@@ -17306,6 +19985,27 @@
 msgid "verify optimized result"
 msgstr "最適化結果を検証"
 
+msgid "parse and apply a revision specification"
+msgstr ""
+
+msgid ""
+"    Use -p/--show-stage option to print the parsed tree at the given "
+"stages.\n"
+"    Use -p all to print tree at every stage."
+msgstr ""
+
+msgid ""
+"    Use --no-show-revs option with -s or -p to print only the set\n"
+"    representation or the parsed tree respectively."
+msgstr ""
+
+msgid ""
+"    Use --verify-optimized to compare the optimized result with the "
+"unoptimized\n"
+"    one. Returns 1 if the optimized result differs.\n"
+"    "
+msgstr ""
+
 msgid "cannot use --verify-optimized with --no-optimized"
 msgstr "--verify-optimized と --no-optimized は併用できません"
 
@@ -17316,43 +20016,775 @@
 msgid "invalid stage name: %s"
 msgstr "不正な解析段階名: %s"
 
+msgid "run an SSH server bound to process handles"
+msgstr ""
+
+msgid "file descriptor to log server I/O to"
+msgstr ""
+
+msgid "file to log server I/O to"
+msgstr ""
+
+msgid "run a server with advanced settings"
+msgstr ""
+
+msgid ""
+"    This command is similar to :hg:`serve`. It exists partially as a\n"
+"    workaround to the fact that ``hg serve --stdio`` must have specific\n"
+"    arguments for security reasons.\n"
+"    "
+msgstr ""
+
+#, fuzzy
+msgid "only --sshstdio is currently supported"
+msgstr "    以下のオプションを指定できます:"
+
+#, fuzzy
+msgid "cannot use both --logiofd and --logiofile"
+msgstr "--force と --keep-changes は併用できません"
+
 msgid "REV1 [REV2]"
 msgstr "REV1 [REV2]"
 
+#, fuzzy
+msgid "manually set the parents of the current working directory"
+msgstr "作業領域の親リビジョンの改変"
+
+msgid ""
+"    This is useful for writing repository conversion tools, but should\n"
+"    be used with care. For example, neither the working directory nor the\n"
+"    dirstate is updated, so file status may be incorrect after running this\n"
+"    command."
+msgstr ""
+
+#, fuzzy
+msgid "test a secure connection to a server"
+msgstr "%s への ssl 接続に失敗"
+
+msgid ""
+"    This builds the certificate chain for the server on Windows, installing "
+"the\n"
+"    missing intermediates and trusted root via Windows Update if necessary.  "
+"It\n"
+"    does nothing on other platforms."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    If SOURCE is omitted, the 'default' path will be used.  If a URL is "
+"given,\n"
+"    that server is used. See :hg:`help urls` for more information."
+msgstr ""
+"    連携先が省略された場合、 'default' パスが連携先として使用されます。\n"
+"    詳細は :hg:`help urls` を参照してください。"
+
+msgid ""
+"    If the update succeeds, retry the original operation.  Otherwise, the "
+"cause\n"
+"    of the SSL error is likely another issue.\n"
+"    "
+msgstr ""
+
+msgid "certificate chain building is only possible on Windows"
+msgstr ""
+
+#, fuzzy
+msgid "there is no Mercurial repository here, and no server specified"
+msgstr "Mercurial リポジトリが見つかりません(.hg が不在です)"
+
+#, fuzzy
+msgid "malformed port number in URL"
+msgstr "不正なパスワード文字列"
+
+#, fuzzy
+msgid "only https and ssh connections are supported"
+msgstr "    以下のオプションを指定できます:"
+
+#, fuzzy, python-format
+msgid "checking the certificate chain for %s\n"
+msgstr "%s 用の証明書ファイル"
+
+msgid "certificate chain is incomplete, updating... "
+msgstr ""
+
+#, fuzzy
+msgid "failed.\n"
+msgstr "seek に失敗しました\n"
+
+#, fuzzy
+msgid "done.\n"
+msgstr "完了\n"
+
+msgid "full certificate chain is available\n"
+msgstr ""
+
 msgid "revision to check"
 msgstr "確認対象リビジョン"
 
 msgid "[-r REV] [REV]"
 msgstr "[-r REV] [REV]"
 
+msgid "return closest successors sets only"
+msgstr ""
+
 msgid "[REV]"
 msgstr "[REV]"
 
+#, fuzzy
+msgid "show set of successors for revision"
+msgstr "親リビジョンの表示対象"
+
+msgid ""
+"    A successors set of changeset A is a consistent group of revisions that\n"
+"    succeed A. It contains non-obsolete changesets only unless closests\n"
+"    successors set is set."
+msgstr ""
+
+msgid ""
+"    In most cases a changeset A has a single successors set containing a "
+"single\n"
+"    successor (changeset A replaced by A')."
+msgstr ""
+
+msgid ""
+"    A changeset that is made obsolete with no successors are called \"pruned"
+"\".\n"
+"    Such changesets have no successors sets at all."
+msgstr ""
+
+msgid ""
+"    A changeset that has been \"split\" will have a successors set "
+"containing\n"
+"    more than one successor."
+msgstr ""
+
+msgid ""
+"    A changeset that has been rewritten in multiple different ways is "
+"called\n"
+"    \"divergent\". Such changesets have multiple successor sets (each of "
+"which\n"
+"    may also be split, i.e. have multiple successors)."
+msgstr ""
+
+#, fuzzy
+msgid "    Results are displayed as follows::"
+msgstr "    以下のファイル形式を想定しています::"
+
+msgid ""
+"        <rev1>\n"
+"            <successors-1A>\n"
+"        <rev2>\n"
+"            <successors-2A>\n"
+"            <successors-2B1> <successors-2B2> <successors-2B3>"
+msgstr ""
+
+msgid ""
+"    Here rev2 has two possible (i.e. divergent) successors sets. The first\n"
+"    holds one element, whereas the second holds three (i.e. the changeset "
+"has\n"
+"    been split).\n"
+"    "
+msgstr ""
+
 msgid "apply template on changesets"
 msgstr "指定テンプレートでリビジョン表示"
 
-msgid "KEY=VALUE"
-msgstr "キーワード=値"
-
 msgid "define template keyword"
 msgstr "テンプレートキーワードを定義"
 
 msgid "[-r REV]... [-D KEY=VALUE]... TEMPLATE"
 msgstr "[-r REV]... [-D KEY=VALUE]... TEMPLATE"
 
+#, fuzzy
+msgid "parse and apply a template"
+msgstr "テンプレートを指定してください"
+
+msgid ""
+"    If -r/--rev is given, the template is processed as a log template and\n"
+"    applied to the given changesets. Otherwise, it is processed as a "
+"generic\n"
+"    template."
+msgstr ""
+
+msgid ""
+"    Use --verbose to print the parsed tree.\n"
+"    "
+msgstr ""
+
 #, python-format
 msgid "malformed keyword definition: %s"
 msgstr "不正なキーワード定義: %s"
 
+msgid "prompt text"
+msgstr ""
+
+#, fuzzy
+msgid "[-p TEXT]"
+msgstr "テキスト"
+
+msgid "show prompt to type password"
+msgstr ""
+
+msgid "show plain prompt"
+msgstr ""
+
+#, fuzzy
+msgid "warm all known caches in the repository"
+msgstr "リポジトリ中の全リビジョンをバンドルに含める"
+
 msgid "extra optimization to perform"
 msgstr "追加実施する最適化"
 
 msgid "performs an upgrade"
 msgstr "アップグレードの実施"
 
+#, fuzzy
+msgid "upgrade a repository to use different features"
+msgstr "リンク元とリンク先が同一ファイルシステム上にありません"
+
+msgid ""
+"    If no arguments are specified, the repository is evaluated for upgrade\n"
+"    and a list of problems and potential optimizations is printed."
+msgstr ""
+
+msgid ""
+"    With ``--run``, a repository upgrade is performed. Behavior of the "
+"upgrade\n"
+"    can be influenced via additional arguments. More details will be "
+"provided\n"
+"    by the command output when run without ``--run``."
+msgstr ""
+
+msgid ""
+"    During the upgrade, the repository will be locked and no writes will be\n"
+"    allowed."
+msgstr ""
+
+msgid ""
+"    At the end of the upgrade, the repository may not be readable while new\n"
+"    repository data is swapped in. This window will be as long as it takes "
+"to\n"
+"    rename some directories inside the ``.hg`` directory. On most machines, "
+"this\n"
+"    should complete almost instantaneously and the chances of a consumer "
+"being\n"
+"    unable to access the repository should be low.\n"
+"    "
+msgstr ""
+
+#, fuzzy
+msgid "show how files match on given patterns"
+msgstr "指定パターンに合致するファイルがありません"
+
+#, fuzzy
+msgid "explain instabilities of a changeset"
+msgstr "リビジョンから参照されていないファイル"
+
 msgid "REPO [OPTIONS]... [ONE [TWO]]"
 msgstr "REPO [OPTIONS]... [ONE [TWO]]"
 
+msgid "indented line outside of block"
+msgstr ""
+
+msgid "start an SSH server for this repo"
+msgstr ""
+
+#, fuzzy
+msgid "construct a specific version of the peer"
+msgstr "指定リビジョン時点の内容表示"
+
+msgid "do not read from stderr of the remote"
+msgstr ""
+
+msgid "do not log I/O related to the peer handshake"
+msgstr ""
+
+msgid "send wire protocol commands to a server"
+msgstr ""
+
+msgid ""
+"    This command can be used to issue wire protocol commands to remote\n"
+"    peers and to debug the raw data being exchanged."
+msgstr ""
+
+msgid ""
+"    ``--localssh`` will start an SSH server against the current repository\n"
+"    and connect to that. By default, the connection will perform a "
+"handshake\n"
+"    and establish an appropriate peer instance."
+msgstr ""
+
+msgid ""
+"    ``--peer`` can be used to bypass the handshake protocol and construct a\n"
+"    peer instance using the specified class type. Valid values are ``raw``,\n"
+"    ``http2``, ``ssh1``, and ``ssh2``. ``raw`` instances only allow sending\n"
+"    raw data payloads and don't support higher-level command actions."
+msgstr ""
+
+msgid ""
+"    ``--noreadstderr`` can be used to disable automatic reading from stderr\n"
+"    of the peer (for SSH connections only). Disabling automatic reading of\n"
+"    stderr is useful for making output more deterministic."
+msgstr ""
+
+msgid ""
+"    Commands are issued via a mini language which is specified via stdin.\n"
+"    The language consists of individual actions to perform. An action is\n"
+"    defined by a block. A block is defined as a line with no leading\n"
+"    space followed by 0 or more lines with leading space. Blocks are\n"
+"    effectively a high-level command with additional metadata."
+msgstr ""
+
+#, fuzzy
+msgid "    Lines beginning with ``#`` are ignored."
+msgstr "    空行と ``#`` で始まる行は無視されます。"
+
+#, fuzzy
+msgid "    The following sections denote available actions."
+msgstr "以下の ``share.`` セクション設定が、この機能を制御します:"
+
+#, fuzzy
+msgid ""
+"    raw\n"
+"    ---"
+msgstr ""
+"\n"
+"    /tags\n"
+"    -----"
+
+msgid "    Send raw data to the server."
+msgstr ""
+
+msgid ""
+"    The block payload contains the raw data to send as one atomic send\n"
+"    operation. The data may not actually be delivered in a single system\n"
+"    call: it depends on the abilities of the transport being used."
+msgstr ""
+
+msgid ""
+"    Each line in the block is de-indented and concatenated. Then, that\n"
+"    value is evaluated as a Python b'' literal. This allows the use of\n"
+"    backslash escaping, etc."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    raw+\n"
+"    ----"
+msgstr ""
+"\n"
+"    /tags\n"
+"    -----"
+
+msgid "    Behaves like ``raw`` except flushes output afterwards."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    command <X>\n"
+"    -----------"
+msgstr ""
+"\n"
+"    /bookmarks\n"
+"    ----------"
+
+msgid ""
+"    Send a request to run a named command, whose name follows the "
+"``command``\n"
+"    string."
+msgstr ""
+
+msgid ""
+"    Arguments to the command are defined as lines in this block. The format "
+"of\n"
+"    each line is ``<key> <value>``. e.g.::"
+msgstr ""
+
+msgid ""
+"       command listkeys\n"
+"           namespace bookmarks"
+msgstr ""
+
+msgid ""
+"    If the value begins with ``eval:``, it will be interpreted as a Python\n"
+"    literal expression. Otherwise values are interpreted as Python b'' "
+"literals.\n"
+"    This allows sending complex types and encoding special byte sequences "
+"via\n"
+"    backslash escaping."
+msgstr ""
+
+#, fuzzy
+msgid "    The following arguments have special meaning:"
+msgstr "    以下のオプションを指定できます:"
+
+msgid ""
+"    ``PUSHFILE``\n"
+"        When defined, the *push* mechanism of the peer will be used instead\n"
+"        of the static request-response mechanism and the content of the\n"
+"        file specified in the value of this argument will be sent as the\n"
+"        command payload."
+msgstr ""
+
+msgid "        This can be used to submit a local bundle file to the remote."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    batchbegin\n"
+"    ----------"
+msgstr ""
+"\n"
+"    /branches\n"
+"    ---------"
+
+msgid "    Instruct the peer to begin a batched send."
+msgstr ""
+
+msgid ""
+"    All ``command`` blocks are queued for execution until the next\n"
+"    ``batchsubmit`` block."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    batchsubmit\n"
+"    -----------"
+msgstr ""
+"\n"
+"    /branches\n"
+"    ---------"
+
+msgid "    Submit previously queued ``command`` blocks as a batch request."
+msgstr ""
+
+msgid "    This action MUST be paired with a ``batchbegin`` action."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    httprequest <method> <path>\n"
+"    ---------------------------"
+msgstr ""
+"\n"
+"    /annotate/{revision}/{path}\n"
+"    ---------------------------"
+
+msgid "    (HTTP peer only)"
+msgstr ""
+
+msgid "    Send an HTTP request to the peer."
+msgstr ""
+
+msgid ""
+"    The HTTP request line follows the ``httprequest`` action. e.g. ``GET /"
+"foo``."
+msgstr ""
+
+msgid ""
+"    Arguments of the form ``<key>: <value>`` are interpreted as HTTP "
+"request\n"
+"    headers to add to the request. e.g. ``Accept: foo``."
+msgstr ""
+
+#, fuzzy
+msgid "    The following arguments are special:"
+msgstr "    以下のオプションを指定できます:"
+
+msgid ""
+"    ``BODYFILE``\n"
+"        The content of the file defined as the value to this argument will "
+"be\n"
+"        transferred verbatim as the HTTP request body."
+msgstr ""
+
+msgid ""
+"    ``frame <type> <flags> <payload>``\n"
+"        Send a unified protocol frame as part of the request body."
+msgstr ""
+
+msgid ""
+"        All frames will be collected and sent as the body to the HTTP\n"
+"        request."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    close\n"
+"    -----"
+msgstr ""
+"\n"
+"    /tags\n"
+"    -----"
+
+#, fuzzy
+msgid "    Close the connection to the server."
+msgstr "%s への ssl 接続に失敗"
+
+#, fuzzy
+msgid ""
+"    flush\n"
+"    -----"
+msgstr ""
+"\n"
+"    /tags\n"
+"    -----"
+
+msgid "    Flush data written to the server."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    readavailable\n"
+"    -------------"
+msgstr ""
+"\n"
+"    /shortlog\n"
+"    ---------"
+
+msgid ""
+"    Close the write end of the connection and read all available data from\n"
+"    the server."
+msgstr ""
+
+msgid ""
+"    If the connection to the server encompasses multiple pipes, we poll "
+"both\n"
+"    pipes and read available data."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    readline\n"
+"    --------"
+msgstr ""
+"\n"
+"    /branches\n"
+"    ---------"
+
+msgid ""
+"    Read a line of output from the server. If there are multiple output\n"
+"    pipes, reads only the main pipe."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    ereadline\n"
+"    ---------"
+msgstr ""
+"\n"
+"    /branches\n"
+"    ---------"
+
+msgid "    Like ``readline``, but read from the stderr pipe, if available."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    read <X>\n"
+"    --------"
+msgstr ""
+"\n"
+"    /branches\n"
+"    ---------"
+
+msgid "    ``read()`` N bytes from the server's main output pipe."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    eread <X>\n"
+"    ---------"
+msgstr ""
+"\n"
+"    /branches\n"
+"    ---------"
+
+msgid "    ``read()`` N bytes from the server's stderr pipe, if available."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    Specifying Unified Frame-Based Protocol Frames\n"
+"    ----------------------------------------------"
+msgstr "     HG: ------------------------ >8 ------------------------"
+
+msgid ""
+"    It is possible to emit a *Unified Frame-Based Protocol* by using "
+"special\n"
+"    syntax."
+msgstr ""
+
+msgid ""
+"    A frame is composed as a type, flags, and payload. These can be parsed\n"
+"    from a string of the form:"
+msgstr ""
+
+msgid "       <request-id> <stream-id> <stream-flags> <type> <flags> <payload>"
+msgstr ""
+
+msgid ""
+"    ``request-id`` and ``stream-id`` are integers defining the request and\n"
+"    stream identifiers."
+msgstr ""
+
+msgid ""
+"    ``type`` can be an integer value for the frame type or the string name\n"
+"    of the type. The strings are defined in ``wireprotoframing.py``. e.g.\n"
+"    ``command-name``."
+msgstr ""
+
+msgid ""
+"    ``stream-flags`` and ``flags`` are a ``|`` delimited list of flag\n"
+"    components. Each component (and there can be just one) can be an "
+"integer\n"
+"    or a flag name for stream flags or frame flags, respectively. Values "
+"are\n"
+"    resolved to integers and then bitwise OR'd together."
+msgstr ""
+
+msgid ""
+"    ``payload`` represents the raw frame payload. If it begins with\n"
+"    ``cbor:``, the following string is evaluated as Python code and the\n"
+"    resulting object is fed into a CBOR encoder. Otherwise it is "
+"interpreted\n"
+"    as a Python byte string literal.\n"
+"    "
+msgstr ""
+
+#, fuzzy
+msgid "--localssh requires a repository"
+msgstr "remote にはリポジトリパスを指定してください"
+
+#, fuzzy
+msgid "invalid value for --peer"
+msgstr "--daemon-postexec への指定値が不正です: %s"
+
+msgid "valid values are \"raw\", \"ssh1\", and \"ssh2\""
+msgstr ""
+
+#, fuzzy
+msgid "cannot specify --localssh with an explicit path"
+msgstr "パッチ適用中に、 --exact 付きでのパッチ適用はできません"
+
+#, fuzzy
+msgid "(waiting for commands on stdin)\n"
+msgstr "警告: ファイル %s でのコマンド解析中にエラー発生\n"
+
+msgid "creating ssh peer for wire protocol version 1\n"
+msgstr ""
+
+msgid "creating ssh peer for wire protocol version 2\n"
+msgstr ""
+
+#, fuzzy
+msgid "using raw connection to peer\n"
+msgstr "%s への ssl 接続に失敗"
+
+msgid "creating ssh peer from handshake results\n"
+msgstr ""
+
+#, fuzzy
+msgid "only http:// paths are currently supported"
+msgstr "全てのパッチが適用中です\n"
+
+msgid "creating http peer for wire protocol version 2\n"
+msgstr ""
+
+msgid "could not instantiate HTTP peer for wire protocol version 2"
+msgstr ""
+
+msgid ""
+"the server may not have the feature enabled or is not allowing this client "
+"version"
+msgstr ""
+
+#, python-format
+msgid "--peer %s not supported with HTTP peers"
+msgstr ""
+
+#, fuzzy
+msgid "unsupported connection configuration"
+msgstr "未サポートの行末種別: %s"
+
+msgid "cannot call raw/raw+ on this peer"
+msgstr ""
+
+#, fuzzy
+msgid "cannot call flush on this peer"
+msgstr "null リビジョンのフェーズは変更できません"
+
+msgid "cannot send commands unless peer instance is available"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "sending %s command\n"
+msgstr "通知コマンド %s 実行中\n"
+
+#, fuzzy, python-format
+msgid "result: %s\n"
+msgstr "認証領域(realm): %s\n"
+
+#, fuzzy, python-format
+msgid "remote output: %s\n"
+msgstr "連携先: 中止: %s\n"
+
+#, fuzzy, python-format
+msgid "response: %s\n"
+msgstr "連携先同期:   %s\n"
+
+msgid "nested batchbegin not allowed"
+msgstr ""
+
+#, python-format
+msgid "sending batch with %d sub-commands\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "response #%d: %s\n"
+msgstr "連携先同期:   %s\n"
+
+msgid "cannot use httprequest without an HTTP peer"
+msgstr ""
+
+msgid "invalid httprequest: expected format is \"httprequest <method> <path>"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "unknown argument to httprequest: %s"
+msgstr "未知のダイジェスト種別: %s"
+
+#, fuzzy, python-format
+msgid "cbor> %s\n"
+msgstr "中止: %s\n"
+
+#, fuzzy
+msgid "readavailable not available on this peer"
+msgstr "このシステムでは IPv6 を利用できません"
+
+#, fuzzy
+msgid "readline not available on this peer"
+msgstr "このシステムでは IPv6 を利用できません"
+
+#, fuzzy
+msgid "ereadline not available on this peer"
+msgstr "このシステムでは IPv6 を利用できません"
+
+#, fuzzy
+msgid "read not available on this peer"
+msgstr "このシステムでは IPv6 を利用できません"
+
+#, fuzzy
+msgid "eread not available on this peer"
+msgstr "このシステムでは IPv6 を利用できません"
+
+#, fuzzy, python-format
+msgid "unknown action: %s"
+msgstr "未知の操作 \"%s\" が指定されました"
+
+msgid "unclosed \"batchbegin\" request"
+msgstr ""
+
 msgid ""
 "multiple matching bookmarks to merge - please merge with an explicit rev or "
 "bookmark"
@@ -17453,14 +20885,15 @@
 msgstr "(閉鎖済みヘッドでのコミットはブランチ \"%s\" の閉鎖を解除します)\n"
 
 #, python-format
+msgid "updated to \"%s: %s\"\n"
+msgstr "リビジョン \"%s: %s\" で更新\n"
+
+#, python-format
 msgid "%i other heads for branch \"%s\"\n"
 msgstr "他に %i 個のヘッドがブランチ \"%s\" に存在します\n"
 
-msgid "working directory state appears damaged!"
-msgstr "作業領域の状態管理に問題があります!"
-
-msgid "working directory state may be changed parallelly"
-msgstr "作業領域状態が平行して更新された可能性があります"
+msgid "incomplete hunk"
+msgstr ""
 
 #, python-format
 msgid "directory %r already in dirstate"
@@ -17474,13 +20907,19 @@
 msgid "setting %r to other parent only allowed in merges"
 msgstr "%r の別親への設定はマージでのみ可能です"
 
-#, python-format
-msgid "can't close already inactivated backup: dirstate%s"
-msgstr "非活性化済みのバックアップは close できません: dirstate%s"
-
-#, python-format
-msgid "can't release already inactivated backup: dirstate%s"
-msgstr "非活性化済みのバックアップは release できません: dirstate%s"
+msgid "working directory state may be changed parallelly"
+msgstr "作業領域状態が平行して更新された可能性があります"
+
+msgid "working directory state appears damaged!"
+msgstr "作業領域の状態管理に問題があります!"
+
+#, python-format
+msgid "can't close already inactivated backup: %s"
+msgstr "非活性化済みのバックアップは close できません: %s"
+
+#, python-format
+msgid "can't release already inactivated backup: %s"
+msgstr "非活性化済みのバックアップは release できません: %s"
 
 #, python-format
 msgid "push creates new remote branches: %s!"
@@ -17489,10 +20928,6 @@
 msgid "use 'hg push --new-branch' to create new remote branches"
 msgstr "連携先への新規ブランチ作成は 'hg push --new-branch'"
 
-#, python-format
-msgid "and %s others"
-msgstr "その他 %s 個"
-
 msgid "remote has heads that are not known locally\n"
 msgstr "連携先には新規ヘッドが存在します\n"
 
@@ -17535,14 +20970,6 @@
 msgstr "以下の新しいヘッドが連携先のブランチ '%s' に作成されます:\n"
 
 #, python-format
-msgid "(did you mean %s?)\n"
-msgstr "(推測される候補: %s)\n"
-
-#, python-format
-msgid "(did you mean one of %s?)\n"
-msgstr "(推測される候補: %s)\n"
-
-#, python-format
 msgid "hg: parse error at %s: %s\n"
 msgstr "hg: %s での解析エラー: %s\n"
 
@@ -17557,6 +20984,17 @@
 msgid "(%s)\n"
 msgstr "(%s)\n"
 
+#, python-format
+msgid "** ProgrammingError: %s\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "** (%s)\n"
+msgstr "(%s)\n"
+
+msgid "killed!\n"
+msgstr "強制終了されました!\n"
+
 msgid "interrupted!\n"
 msgstr "中断されました!\n"
 
@@ -17615,6 +21053,10 @@
 msgid "alias '%s' resolves to ambiguous command '%s'"
 msgstr "'%s' が曖昧なコマンド '%s' の別名とみなされました"
 
+#, fuzzy, python-format
+msgid "non-ASCII character in alias definition '%s:%s'"
+msgstr "dag 記述に不正な文字が使われています: %s..."
+
 #, python-format
 msgid "'%s' is provided by '%s' extension"
 msgstr "'%s' コマンドは '%s' エクステンションにより提供されています"
@@ -17638,6 +21080,10 @@
 "repository may only be abbreviated as --repo!"
 msgstr "-R は単独記述(例: '-dR' は不可)、 --repository の略記は --repo のみ"
 
+#, fuzzy
+msgid "option --debugger may not be abbreviated!"
+msgstr "--cwd 指定値が省略されなかった可能性があります!"
+
 #, python-format
 msgid "time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n"
 msgstr "所要時間: 実時間 %.3f 秒 (ユーザ %.3f+%.3f システム %.3f+%.3f)\n"
@@ -17783,6 +21229,10 @@
 msgid "destination does not support push"
 msgstr "指定の連携先には履歴を反映できません"
 
+msgid ""
+"cannot push: destination does not support the unbundle wire protocol command"
+msgstr ""
+
 #, python-format
 msgid "bookmark %s does not exist on the local or remote repository!\n"
 msgstr "ブックマーク %s はいずれのリポジトリにも存在しません!\n"
@@ -17792,19 +21242,20 @@
 msgstr "履歴反映対象に廃止 (obsolete) リビジョンが含まれます!: %s"
 
 #, python-format
-msgid "push includes unstable changeset: %s!"
-msgstr "履歴反映対象に非永続 (unstable) リビジョンが含まれます!: %s"
-
-#, python-format
-msgid "push includes bumped changeset: %s!"
-msgstr ""
-
-#, python-format
-msgid "push includes divergent changeset: %s!"
-msgstr "履歴反映対象に分岐 (divergent) した後継リビジョンが含まれます!: %s"
-
-msgid "no common changegroup version"
-msgstr "利用可能な共通のバンドル形式バージョンがありません"
+msgid "push includes phase-divergent changeset: %s!"
+msgstr ""
+"履歴反映対象にフェーズ分岐 (phase-divergent) した後継リビジョンが含まれま"
+"す!: %s"
+
+#, python-format
+msgid "push includes content-divergent changeset: %s!"
+msgstr ""
+"履歴反映対象に内容分岐 (content-divergent) した後継リビジョンが含まれます!: "
+"%s"
+
+#, python-format
+msgid "push includes orphan changeset: %s!"
+msgstr "履歴反映対象に孤児 (orphan) リビジョンが含まれます!: %s"
 
 #, python-format
 msgid "updating %s to public failed"
@@ -17861,6 +21312,12 @@
 msgid "unsupported getbundle arguments: %s"
 msgstr "getbundle プロトコルに未知の引数が指定されました: %s"
 
+msgid "no common bookmarks exchange method"
+msgstr "ブックマーク情報が交換できません"
+
+msgid "no common phases exchange method"
+msgstr "フェーズ情報が交換できません"
+
 msgid "no clone bundles available on remote; falling back to regular clone\n"
 msgstr "連携先にclone用バンドルファイルがありません。通常clone処理を実施中\n"
 
@@ -17910,13 +21367,21 @@
 "を無効化します)\n"
 
 #, python-format
+msgid "*** failed to set up extension %s: %s\n"
+msgstr "*** エクステンション %s の設定に失敗: %s\n"
+
+#, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
-msgstr "*** %s のインポートに失敗 (%s): %s\n"
+msgstr "*** エクステンション %s のインポートに失敗 (%s): %s\n"
 
 #, python-format
 msgid "*** failed to import extension %s: %s\n"
 msgstr "*** %s のインポートに失敗: %s\n"
 
+#, python-format
+msgid "*** (%s)\n"
+msgstr "*** (%s)\n"
+
 msgid "(no help text available)"
 msgstr "(ヘルプはありません)"
 
@@ -17924,34 +21389,12 @@
 msgid "warning: error finding commands in %s\n"
 msgstr "警告: ファイル %s でのコマンド解析中にエラー発生\n"
 
-#, python-format
-msgid "invalid value %r for option %s, expected int"
-msgstr "指定値 %r は整数値を想定しているオプション %s には不適切です"
-
-#, python-format
-msgid "couldn't find merge tool %s\n"
-msgstr "マージツール %s が見つかりません\n"
-
-#, python-format
-msgid "tool %s can't handle symlinks\n"
-msgstr "ツール %s はシンボリックリンクを扱えません\n"
-
-#, python-format
-msgid "tool %s can't handle binary\n"
-msgstr "ツール %s はバイナリを扱えません\n"
-
-#, python-format
-msgid "tool %s requires a GUI\n"
-msgstr "ツール %s は GUI が必要です\n"
-
-msgid ""
-"``:prompt``\n"
-"Asks the user which of the local `p1()` or the other `p2()` version to\n"
-"    keep as the merged version."
-msgstr ""
-"``:prompt``\n"
-"現行側 (`p1()`) と他方側 (`p2()`) のどちらをマージ結果に採用するか、\n"
-"    対話的に確認します。"
+msgid "expected int"
+msgstr "整数値を想定"
+
+#, python-format
+msgid "invalid value %r for option %s, %s"
+msgstr "指定値 %r はオプション %s には不適切です: %s"
 
 #, python-format
 msgid ""
@@ -17974,10 +21417,42 @@
 "すか?$$ &Changed $$ &Delete $$ &Unresolved"
 
 #, python-format
-msgid ""
-"no tool found to merge %(fd)s\n"
-"keep (l)ocal%(l)s, take (o)ther%(o)s, or leave (u)nresolved?$$ &Local $$ "
-"&Other $$ &Unresolved"
+msgid "%s (for pattern %s)"
+msgstr "%s (パターン %s)"
+
+#, python-format
+msgid "couldn't find merge tool %s\n"
+msgstr "マージツール %s が見つかりません\n"
+
+#, python-format
+msgid "tool %s can't handle symlinks\n"
+msgstr "ツール %s はシンボリックリンクを扱えません\n"
+
+#, python-format
+msgid "tool %s can't handle binary\n"
+msgstr "ツール %s はバイナリを扱えません\n"
+
+#, python-format
+msgid "tool %s requires a GUI\n"
+msgstr "ツール %s は GUI が必要です\n"
+
+#, python-format
+msgid "no tool found to merge %s\n"
+msgstr "ファイル %s 向けマージツールは設定されていません\n"
+
+msgid ""
+"``:prompt``\n"
+"    Asks the user which of the local `p1()` or the other `p2()` version to\n"
+"    keep as the merged version."
+msgstr ""
+"``:prompt``\n"
+"    現行側 (`p1()`) と他方側 (`p2()`) のどちらをマージ結果に採用するか、\n"
+"    対話的に確認します。"
+
+#, fuzzy, python-format
+msgid ""
+"keep (l)ocal%(l)s, take (o)ther%(o)s, or leave (u)nresolved for %(fd)s?$$ "
+"&Local $$ &Other $$ &Unresolved"
 msgstr ""
 "ファイル %(fd)s のマージに適切なツールが見つかりません。\n"
 "現行側%(l)s:(l)ocal, 他方側%(o)s:(o)ther, 衝突未解消:(u)nresolved のいずれを"
@@ -17985,28 +21460,28 @@
 
 msgid ""
 "``:local``\n"
-"Uses the local `p1()` version of files as the merged version."
+"    Uses the local `p1()` version of files as the merged version."
 msgstr ""
 "``:local``\n"
-"マージ結果として、 作業領域側 (`p1()`) の内容を採用します。"
+"    マージ結果として、 作業領域側 (`p1()`) の内容を採用します。"
 
 msgid ""
 "``:other``\n"
-"Uses the other `p2()` version of files as the merged version."
+"    Uses the other `p2()` version of files as the merged version."
 msgstr ""
 "``:other``\n"
-"マージ結果として、 マージ対象リビジョン側 (`p2()`) の内容を採用します。"
+"    マージ結果として、 マージ対象リビジョン側 (`p2()`) の内容を採用します。"
 
 msgid ""
 "``:fail``\n"
-"Rather than attempting to merge files that were modified on both\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 ""
 "``:fail``\n"
-"変更内容に関するマージ処理は実施せず、 必ずマージ失敗とみなします。\n"
-"   マージ失敗とみなされたファイルに対しては、\n"
-"   :hg:`resolve` による手動での衝突解消が必要です。"
+"    変更内容に関するマージ処理は実施せず、 必ずマージ失敗とみなします。\n"
+"    マージ失敗とみなされたファイルに対しては、\n"
+"    :hg:`resolve` による手動での衝突解消が必要です。"
 
 #, python-format
 msgid "%s.premerge not valid ('%s' is neither boolean nor %s)"
@@ -18020,16 +21495,6 @@
 msgid "warning: internal %s cannot merge change/delete conflict for %s\n"
 msgstr "警告: 内部ツール %s は %s への変更と登録除外をマージできません\n"
 
-msgid ""
-"``:union``\n"
-"Uses the internal non-interactive simple merge algorithm for merging\n"
-"    files. It will use both left and right sides for conflict regions.\n"
-"    No markers are inserted."
-msgstr ""
-"``:union``\n"
-"非対話的な、 単純なマージ処理を実施します。 衝突があった場合、\n"
-"    両方の変更内容が取り込まれます。 衝突マークは記録されません。"
-
 #, python-format
 msgid ""
 "warning: conflicts while merging %s! (edit, then use 'hg resolve --mark')\n"
@@ -18037,29 +21502,39 @@
 "警告: %s のマージで衝突を検出 (編集後 'hg resolve --mark' 実施が必要です)\n"
 
 msgid ""
+"``:union``\n"
+"    Uses the internal non-interactive simple merge algorithm for merging\n"
+"    files. It will use both left and right sides for conflict regions.\n"
+"    No markers are inserted."
+msgstr ""
+"``:union``\n"
+"    非対話的な、 単純なマージ処理を実施します。 衝突があった場合、\n"
+"    両方の変更内容が取り込まれます。 衝突マークは記録されません。"
+
+msgid ""
 "``:merge``\n"
-"Uses the internal non-interactive simple merge algorithm for merging\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. Markers will have two sections, one for each "
 "side\n"
 "    of merge."
 msgstr ""
 "``:merge``\n"
-"非対話的な、 単純なマージ処理を実施します。\n"
+"    非対話的な、 単純なマージ処理を実施します。\n"
 "    衝突があった場合、 マージ処理は失敗とみなされ、\n"
 "    マージ結果ファイルには、 衝突マークが記録されます。\n"
 "    マージ対象の2つのリビジョンが、 衝突情報として記録されます。"
 
 msgid ""
 "``:merge3``\n"
-"Uses the internal non-interactive simple merge algorithm for merging\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. Marker will have three sections, one from "
 "each\n"
 "    side of the merge and one for the base content."
 msgstr ""
 "``:merge3``\n"
-"非対話的な、 単純なマージ処理を実施します。\n"
+"    非対話的な、 単純なマージ処理を実施します。\n"
 "    衝突があった場合、 マージ処理は失敗とみなされ、\n"
 "    マージ結果ファイルには、 衝突マークが記録されます。\n"
 "    マージ対象の2つのリビジョンに加えて、 共通祖先 (base) の情報が、\n"
@@ -18067,29 +21542,22 @@
 
 msgid ""
 "``:merge-local``\n"
-"Like :merge, but resolve all conflicts non-interactively in favor\n"
+"    Like :merge, but resolve all conflicts non-interactively in favor\n"
 "    of the local `p1()` changes."
 msgstr ""
 "``:merge-local``\n"
-"内部ツール :merge と同様の挙動ですが、 非対話的な衝突解消の際に、\n"
+"    内部ツール :merge と同様の挙動ですが、 非対話的な衝突解消の際に、\n"
 "    作業領域側 (`p1()`) の変更内容を採用します。"
 
 msgid ""
 "``:merge-other``\n"
-"Like :merge, but resolve all conflicts non-interactively in favor\n"
+"    Like :merge, but resolve all conflicts non-interactively in favor\n"
 "    of the other `p2()` changes."
 msgstr ""
 "``:merge-other``\n"
-"内部ツール :merge と同様の挙動ですが、 非対話的な衝突解消の際に、\n"
+"    内部ツール :merge と同様の挙動ですが、 非対話的な衝突解消の際に、\n"
 "    マージ対象リビジョン側 (`p2()`) の変更内容を採用します。"
 
-msgid ""
-"``:tagmerge``\n"
-"Uses the internal tag merge algorithm (experimental)."
-msgstr ""
-"``:tagmerge``\n"
-"タグファイル専用のマージ処理を行います (実験的実装)"
-
 #, python-format
 msgid ""
 "automatic tag merging of %s failed! (use 'hg resolve --tool :merge' or "
@@ -18099,8 +21567,15 @@
 "のツールを使ってマージしてください)\n"
 
 msgid ""
+"``:tagmerge``\n"
+"    Uses the internal tag merge algorithm (experimental)."
+msgstr ""
+"``:tagmerge``\n"
+"    タグファイル専用のマージ処理を行います (実験的実装)"
+
+msgid ""
 "``:dump``\n"
-"Creates three versions of the files to merge, containing the\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"
@@ -18108,14 +21583,28 @@
 "    same directory as ``a.txt``."
 msgstr ""
 "``:dump``\n"
-"作業領域側、 マージ対象リビジョン側、 および共通祖先時点の、\n"
-"    それぞれの内容を持つ3つのファイルを生成します。\n"
+"    作業領域側、 マージ対象リビジョン側、 および共通祖先時点の、\n"
+"    それぞれの内容を持つ、 3つのファイルを生成します。\n"
 "    これらのファイルは、事後の手動マージ等で使用してください。\n"
 "    対象ファイル名が ``a.txt`` であった場合、\n"
 "    生成されるファイルはそれぞれ ``a.txt.local``, ``a.txt.other``\n"
 "    および ``a.txt.base`` と命名され、\n"
 "    ``a.txt`` と同じディレクトリに格納されます。"
 
+msgid ""
+"    This implies premerge. Therefore, files aren't dumped, if premerge\n"
+"    runs successfully. Use :forcedump to forcibly write files out."
+msgstr ""
+"    事前マージが成功した場合は、 ファイルが出力されません。\n"
+"    強制的にファイルを書き出したい場合は :forcedump を使用してください。"
+
+msgid ""
+"``:forcedump``\n"
+"    Creates three versions of the files as same as :dump, but omits premerge."
+msgstr ""
+"``:forcedump``\n"
+"    事前マージ無しで :dump と同じ要領でファイルを書き出します。"
+
 #, python-format
 msgid "warning: %s cannot merge change/delete conflict for %s\n"
 msgstr "警告: マージツール %s は %s への変更と登録除外をマージできません\n"
@@ -18136,6 +21625,12 @@
 msgid "merging %s\n"
 msgstr "%s をマージ中\n"
 
+msgid "merge halted after failed merge (see hg resolve)"
+msgstr ""
+
+msgid "continue merge operation (yn)?$$ &Yes $$ &No"
+msgstr "マージ処理を継続しますか? (y/n)$$ &Yes $$ &No"
+
 #, python-format
 msgid "was merge of '%s' successful (yn)?$$ &Yes $$ &No"
 msgstr "'%s' のマージは成功しましたか?(y/n)$$ &Yes $$ &No"
@@ -18157,9 +21652,24 @@
 msgid "invalid token"
 msgstr "不正な記述"
 
+msgid "not a symbol"
+msgstr "シンボル以外が指定されました"
+
+#, fuzzy, python-format
+msgid "invalid pattern kind: %s"
+msgstr "不正パターン (%s): %s"
+
 msgid "missing argument"
 msgstr "引数がありません"
 
+#, fuzzy
+msgid "pattern must be a string"
+msgstr "sort には文字列を指定してください"
+
+#, fuzzy
+msgid "can't use negate operator in this context"
+msgstr "ここではリストを使用できません"
+
 msgid "can't use a list in this context"
 msgstr "ここではリストを使用できません"
 
@@ -18359,6 +21869,10 @@
 msgid "couldn't parse size: %s"
 msgstr "サイズ指定の解析に失敗: %s"
 
+#. i18n: "size" is a keyword
+msgid "size requires an expression"
+msgstr "size には条件指定が必要です"
+
 msgid ""
 "``size(expression)``\n"
 "    File size matches the given expression. Examples:"
@@ -18377,10 +21891,6 @@
 "    - size('>= .5MB') - 524288 バイト以上のファイル\n"
 "    - size('4k - 1MB') - 4096 〜 1048576 バイトのファイル"
 
-#. i18n: "size" is a keyword
-msgid "size requires an expression"
-msgstr "size には条件指定が必要です"
-
 msgid ""
 "``encoding(name)``\n"
 "    File can be successfully decoded with the given character\n"
@@ -18495,8 +22005,8 @@
 msgid "starting revisions are not directly related"
 msgstr "開始リビジョンと直接の関連がありません"
 
-#, python-format
-msgid "inconsistent state, %s:%s is good and bad"
+#, fuzzy, python-format
+msgid "inconsistent state, %d:%s is good and bad"
 msgstr "状態矛盾: %s:%s は良否判定不能"
 
 #, python-format
@@ -18579,6 +22089,10 @@
 msgid " ([+] can be repeated)"
 msgstr " ([+] 印付きのオプションは複数回指定可能です)"
 
+#, fuzzy
+msgid "Bundle2"
+msgstr "bundle フォーマット"
+
 msgid "Bundles"
 msgstr "bundle フォーマット"
 
@@ -18588,6 +22102,9 @@
 msgid "Changegroups"
 msgstr "changegroups フォーマット"
 
+msgid "Config Registrar"
+msgstr ""
+
 msgid "Repository Requirements"
 msgstr "リポジトリの requires 設定"
 
@@ -18609,6 +22126,10 @@
 msgid "Date Formats"
 msgstr "日時表記"
 
+#, fuzzy
+msgid "Command-line flags"
+msgstr "コマンド"
+
 msgid "File Name Patterns"
 msgstr "ファイル名パターン"
 
@@ -18668,15 +22189,11 @@
 "\n"
 "別名: %s\n"
 
-#, python-format
-msgid "shell alias for::"
+#, fuzzy, python-format
+msgid "shell alias for: %s"
 msgstr "シェルコマンドの別名::"
 
 #, python-format
-msgid "    %s"
-msgstr "    %s"
-
-#, python-format
 msgid "defined by: %s\n"
 msgstr "定義位置: %s\n"
 
@@ -18862,7 +22379,7 @@
 
 msgid ""
 "<compression>-<type>\n"
-"    The compression engine and format are delimited by a hypthen (``-``)."
+"    The compression engine and format are delimited by a hyphen (``-``)."
 msgstr ""
 
 msgid ""
@@ -18948,7 +22465,7 @@
 
 msgid ""
 "``none-v1``\n"
-"    Produce a ``v2`` bundle with no compression."
+"    Produce a ``v1`` bundle with no compression."
 msgstr ""
 
 msgid ""
@@ -18962,7 +22479,8 @@
 "    This errors because ``zstd`` is not supported for ``v1`` types.\n"
 msgstr ""
 
-msgid "Mercurial can colorizes output from several commands."
+#, fuzzy
+msgid "Mercurial colorizes output from several commands."
 msgstr "Mercurial は、 各種コマンドの出力を、 カラー化できます。"
 
 msgid ""
@@ -18976,9 +22494,45 @@
 "他の多くのコマンドの出力も、 同様にカラー化されます。 カラー化設定は、\n"
 "カスタマイズ可能です。"
 
-msgid "To enable color use::"
+#, fuzzy
+msgid "To enable color (default) whenever possible use::"
+msgstr "出力をカラー化するには、 以下の設定が必要です::"
+
+#, fuzzy
+msgid ""
+"  [ui]\n"
+"  color = yes"
+msgstr ""
+"  [ui]\n"
+"  color = auto"
+
+#, fuzzy
+msgid "To disable color use::"
 msgstr "出力をカラー化するには、 以下の設定が必要です::"
 
+#, fuzzy
+msgid ""
+"  [ui]\n"
+"  color = no"
+msgstr ""
+"  [ui]\n"
+"  color = auto"
+
+#, fuzzy
+msgid "See :hg:`help config.ui.color` for details."
+msgstr "詳細は :hg:`help color` を参照してください。\n"
+
+msgid ""
+"  The default pager on Windows does not support color, so enabling the "
+"pager\n"
+"  will effectively disable color.  See :hg:`help config.ui.paginate` to "
+"disable\n"
+"  the pager.  Alternately, MSYS and Cygwin shells provide `less` as a "
+"pager,\n"
+"  which can be configured to support ANSI color mode.  Windows 10 natively\n"
+"  supports ANSI color mode."
+msgstr ""
+
 msgid ""
 "Mode\n"
 "===="
@@ -18986,11 +22540,12 @@
 "モード\n"
 "======"
 
-msgid ""
-"Mercurial can use various system to display color. The supported modes are\n"
+#, fuzzy
+msgid ""
+"Mercurial can use various systems to display color. The supported modes are\n"
 "``ansi``, ``win32``, and ``terminfo``.  See :hg:`help config.color` for "
 "details\n"
-"about how to control the mode"
+"about how to control the mode."
 msgstr ""
 "Mercurial の出力は、 様々な方法でカラー化可能です。 カラー化方式として\n"
 "``ansi``, ``win32`` および ``terminfo`` の各モードがサポートされています。\n"
@@ -19212,8 +22767,9 @@
 "色指定のカスタマイズ\n"
 "===================="
 
-msgid ""
-"Because there are only eight standard colors, this module allows you\n"
+#, fuzzy
+msgid ""
+"Because there are only eight standard colors, Mercurial allows you\n"
 "to define color names for other color slots which might be available\n"
 "for your terminal type, assuming terminfo mode.  For instance::"
 msgstr ""
@@ -19893,6 +23449,14 @@
 "``ignorews``\n"
 "    差分検出における空白文字無視の有無。"
 
+#, fuzzy
+msgid ""
+"``ignorewseol``\n"
+"    Ignore white space at the end of a line when comparing lines."
+msgstr ""
+"``ignorews``\n"
+"    差分検出における空白文字無視の有無。"
+
 msgid ""
 "``ignorewsamount``\n"
 "    Ignore changes in the amount of white space."
@@ -20107,13 +23671,14 @@
 "Mercurial 出力のカラー化設定。 効果指定やスタイルのカスタマイズの詳細は、\n"
 ":hg:`help color` を参照してください。"
 
+#, fuzzy
 msgid ""
 "``mode``\n"
 "    String: control the method used to output color. One of ``auto``, "
 "``ansi``,\n"
-"    ``win32``, ``terminfo`` or ``debug``. In auto mode the color extension "
-"will\n"
-"    use ANSI mode by default (or win32 mode on Windows) if it detects a\n"
+"    ``win32``, ``terminfo`` or ``debug``. In auto mode, Mercurial will\n"
+"    use ANSI mode by default (or win32 mode prior to Windows 10) if it "
+"detects a\n"
 "    terminal. Any invalid value will disable color."
 msgstr ""
 "``mode``\n"
@@ -20122,19 +23687,19 @@
 "    対話的実行でのカラー化方式として ansi (Windows 環境なら win32) が、\n"
 "    デフォルトの選択となります。 不正な方式の指定は、 カラー化を抑止します。"
 
+#, fuzzy
 msgid ""
 "``pagermode``\n"
-"    String: optinal override of ``color.mode`` used with pager (from the "
-"pager\n"
-"    extensions)."
+"    String: optional override of ``color.mode`` used with pager."
 msgstr ""
 "``pagermode``\n"
 "    文字列: ページャ使用時に ``color.mode`` を上書きする値 (pager\n"
 "    エクステンション由来)。"
 
+#, fuzzy
 msgid ""
 "    On some systems, terminfo mode may cause problems when using\n"
-"    color with the pager extension and less -R. less with the -R option\n"
+"    color with ``less -R`` as a pager program. less with the -R option\n"
 "    will only display ECMA-48 color codes, and terminfo mode may sometimes\n"
 "    emit codes that less doesn't understand. You can work around this by\n"
 "    either using ansi mode (or auto mode), or by using less -r (which will\n"
@@ -20149,25 +23714,19 @@
 "    (色指定を含む全ての端末制御が、 透過的に伝播されます) の使用などで、\n"
 "    対処してください。"
 
+#, fuzzy
 msgid ""
 "    On some systems (such as MSYS in Windows), the terminal may support\n"
-"    a different color mode than the pager (activated via the \"pager\"\n"
-"    extension)."
+"    a different color mode than the pager program."
 msgstr ""
 "    環境によっては、 pager エクステンションが起動するページャコマンドと、\n"
 "    ターミナルソフトの間で、 カラー化方式が異なる場合があります\n"
 "    (Windows 上の MSYS 等)。"
 
-msgid ""
-"``commands``\n"
-"------------"
-msgstr ""
-"``commands``\n"
-"------------"
-
+#, fuzzy
 msgid ""
 "``status.relative``\n"
-"    Make paths in ``hg status`` output relative to the current directory.\n"
+"    Make paths in :hg:`status` output relative to the current directory.\n"
 "    (default: False)"
 msgstr ""
 "``status.relative``\n"
@@ -20175,10 +23734,27 @@
 "    (デフォルト値: False)"
 
 msgid ""
+"``update.check``\n"
+"    Determines what level of checking :hg:`update` will perform before "
+"moving\n"
+"    to a destination revision. Valid values are ``abort``, ``none``,\n"
+"    ``linear``, and ``noconflict``. ``abort`` always fails if the working\n"
+"    directory has uncommitted changes. ``none`` performs no checking, and "
+"may\n"
+"    result in a merge with uncommitted changes. ``linear`` allows any "
+"update\n"
+"    as long as it follows a straight line in the revision history, and may\n"
+"    trigger a merge with uncommitted changes. ``noconflict`` will allow any\n"
+"    update which would not trigger a merge with uncommitted changes, if any\n"
+"    are present.\n"
+"    (default: ``linear``)"
+msgstr ""
+
+#, fuzzy
+msgid ""
 "``update.requiredest``\n"
-"    Require that the user pass a destination when running ``hg update``.\n"
-"    For example, ``hg update .::`` will be allowed, but a plain ``hg "
-"update``\n"
+"    Require that the user pass a destination when running :hg:`update`.\n"
+"    For example, :hg:`update .::` will be allowed, but a plain :hg:`update`\n"
 "    will be disallowed.\n"
 "    (default: False)"
 msgstr ""
@@ -21035,13 +24611,14 @@
 "  # 他の incoming に先立って autobuild フックを実行\n"
 "  priority.incoming.autobuild = 1"
 
+#, fuzzy
 msgid ""
 "Most hooks are run with environment variables set that give useful\n"
 "additional information. For each hook below, the environment variables\n"
-"it is passed are listed with names of the form ``$HG_foo``. The\n"
+"it is passed are listed with names in the form ``$HG_foo``. The\n"
 "``$HG_HOOKTYPE`` and ``$HG_HOOKNAME`` variables are set for all hooks.\n"
-"their respectively contains the type of hook which triggered the run and\n"
-"the full name of the hooks in the config. In the example about this will\n"
+"They contain the type of hook which triggered the run and the full name\n"
+"of the hook in the config, respectively. In the example above, this will\n"
 "be ``$HG_HOOKTYPE=incoming`` and ``$HG_HOOKNAME=incoming.email``."
 msgstr ""
 "多くのフックは、 環境変数に付加的情報が設定された上で実行されます。\n"
@@ -21051,12 +24628,14 @@
 "例えば ``$HG_HOOKTYPE=incoming`` と ``$HG_HOOKNAME=incoming.email``\n"
 "といった具合です。"
 
+#, fuzzy
 msgid ""
 "``changegroup``\n"
-"  Run after a changegroup has been added via push, pull or unbundle.  ID of "
-"the\n"
-"  first new changeset is in ``$HG_NODE`` and last in ``$HG_NODE_LAST``. URL\n"
-"  from which changes came is in ``$HG_URL``."
+"  Run after a changegroup has been added via push, pull or unbundle.  The ID "
+"of\n"
+"  the first new changeset is in ``$HG_NODE`` and last is in ``"
+"$HG_NODE_LAST``.\n"
+"  The URL from which changes came is in ``$HG_URL``."
 msgstr ""
 "``changegroup``\n"
 "  push、 pull、 unbundle によるリビジョン群の追加完了時に実行されます。\n"
@@ -21065,9 +24644,10 @@
 "  に設定されます。 (※ 訳注: 複数リビジョン一括追加時の ``changegroup``\n"
 "  フック実行は1回ですが、 ``incoming`` フックはリビジョン毎に実行されます)"
 
+#, fuzzy
 msgid ""
 "``commit``\n"
-"  Run after a changeset has been created in the local repository. ID\n"
+"  Run after a changeset has been created in the local repository. The ID\n"
 "  of the newly created changeset is in ``$HG_NODE``. Parent changeset\n"
 "  IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``."
 msgstr ""
@@ -21076,11 +24656,12 @@
 "  新規作成リビジョンの ID が ``$HG_NODE`` に、親リビジョンの ID が\n"
 "  ``$HG_PARENT1`` および ``$HG_PARENT2`` に設定されます。"
 
+#, fuzzy
 msgid ""
 "``incoming``\n"
 "  Run after a changeset has been pulled, pushed, or unbundled into\n"
 "  the local repository. The ID of the newly arrived changeset is in\n"
-"  ``$HG_NODE``. URL that was source of changes came is in ``$HG_URL``."
+"  ``$HG_NODE``. The URL that was source of the changes is in ``$HG_URL``."
 msgstr ""
 "``incoming``\n"
 "  push、 pull、 unbundle によるリビジョンの追加完了時に実行されます。\n"
@@ -21089,11 +24670,12 @@
 "  (※ 訳注: 複数リビジョン一括追加時の ``changegroup``\n"
 "  フック実行は1回ですが、 ``incoming`` フックはリビジョン毎に実行されます)"
 
+#, fuzzy
 msgid ""
 "``outgoing``\n"
-"  Run after sending changes from local repository to another. ID of\n"
-"  first changeset sent is in ``$HG_NODE``. Source of operation is in\n"
-"  ``$HG_SOURCE``; Also see :hg:`help config.hooks.preoutgoing` hook."
+"  Run after sending changes from the local repository to another. The ID of\n"
+"  first changeset sent is in ``$HG_NODE``. The source of operation is in\n"
+"  ``$HG_SOURCE``. Also see :hg:`help config.hooks.preoutgoing`."
 msgstr ""
 "``outgoing``\n"
 "  他リポジトリへの変更反映完了後に実行されます。\n"
@@ -21164,11 +24746,12 @@
 "  フック実行が失敗した場合、 当該コマンドは実行されず、\n"
 "  Mercurial は実行失敗の終了コードを返します。"
 
+#, fuzzy
 msgid ""
 "``prechangegroup``\n"
 "  Run before a changegroup is added via push, pull or unbundle. Exit\n"
-"  status 0 allows the changegroup to proceed. Non-zero status will\n"
-"  cause the push, pull or unbundle to fail. URL from which changes\n"
+"  status 0 allows the changegroup to proceed. A non-zero status will\n"
+"  cause the push, pull or unbundle to fail. The URL from which changes\n"
 "  will come is in ``$HG_URL``."
 msgstr ""
 "``prechangegroup``\n"
@@ -21177,10 +24760,11 @@
 "  非 0 の終了コードは、 push、 pull、 unbundle の中断を意味します。\n"
 "  追加リビジョン群の取り込み元 URL が ``$HG_URL`` に設定されます。"
 
+#, fuzzy
 msgid ""
 "``precommit``\n"
 "  Run before starting a local commit. Exit status 0 allows the\n"
-"  commit to proceed. Non-zero status will cause the commit to fail.\n"
+"  commit to proceed. A non-zero status will cause the commit to fail.\n"
 "  Parent changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``."
 msgstr ""
 "``precommit``\n"
@@ -21190,10 +24774,11 @@
 "  親リビジョンの ID が\n"
 "  ``$HG_PARENT1`` および ``$HG_PARENT2`` に設定されます。"
 
+#, fuzzy
 msgid ""
 "``prelistkeys``\n"
 "  Run before listing pushkeys (like bookmarks) in the\n"
-"  repository. Non-zero status will cause failure. The key namespace is\n"
+"  repository. A non-zero status will cause failure. The key namespace is\n"
 "  in ``$HG_NAMESPACE``."
 msgstr ""
 "``prelistkeys``\n"
@@ -21201,16 +24786,19 @@
 "  非 0 の終了コードは、 処理の中断を意味します。\n"
 "  キーの名前空間が ``$HG_NAMESPACE`` に設定されます。"
 
+#, fuzzy
 msgid ""
 "``preoutgoing``\n"
 "  Run before collecting changes to send from the local repository to\n"
-"  another. Non-zero status will cause failure. This lets you prevent\n"
-"  pull over HTTP or SSH. Also prevents against local pull, push\n"
-"  (outbound) or bundle commands, but not effective, since you can\n"
-"  just copy files instead then. Source of operation is in\n"
-"  ``$HG_SOURCE``. If \"serve\", operation is happening on behalf of remote\n"
-"  SSH or HTTP repository. If \"push\", \"pull\" or \"bundle\", operation\n"
-"  is happening on behalf of repository on same system."
+"  another. A non-zero status will cause failure. This lets you prevent\n"
+"  pull over HTTP or SSH. It can also prevent propagating commits (via\n"
+"  local pull, push (outbound) or bundle commands), but not completely,\n"
+"  since you can just copy files instead. The source of operation is in\n"
+"  ``$HG_SOURCE``. If \"serve\", the operation is happening on behalf of a "
+"remote\n"
+"  SSH or HTTP repository. If \"push\", \"pull\" or \"bundle\", the "
+"operation\n"
+"  is happening on behalf of a repository on same system."
 msgstr ""
 "``preoutgoing``\n"
 "  他リポジトリへの変更反映において、 対象リビジョン確定前に実行されます。\n"
@@ -21225,10 +24813,11 @@
 "  \"push\"、 \"pull\" または \"bundle\" が設定されている場合、\n"
 "  同一ホスト上のリポジトリが処理契機となっています。"
 
+#, fuzzy
 msgid ""
 "``prepushkey``\n"
 "  Run before a pushkey (like a bookmark) is added to the\n"
-"  repository. Non-zero status will cause the key to be rejected. The\n"
+"  repository. A non-zero status will cause the key to be rejected. The\n"
 "  key namespace is in ``$HG_NAMESPACE``, the key is in ``$HG_KEY``,\n"
 "  the old value (if any) is in ``$HG_OLD``, and the new value is in\n"
 "  ``$HG_NEW``."
@@ -21241,13 +24830,14 @@
 "  (更新の場合は) 旧値が ``$HG_OLD`` に、\n"
 "  新値が ``$HG_NEW`` に設定されます。"
 
+#, fuzzy
 msgid ""
 "``pretag``\n"
 "  Run before creating a tag. Exit status 0 allows the tag to be\n"
-"  created. Non-zero status will cause the tag to fail. ID of\n"
-"  changeset to tag is in ``$HG_NODE``. Name of tag is in ``$HG_TAG``. Tag "
-"is\n"
-"  local if ``$HG_LOCAL=1``, in repository if ``$HG_LOCAL=0``."
+"  created. A non-zero status will cause the tag to fail. The ID of the\n"
+"  changeset to tag is in ``$HG_NODE``. The name of tag is in ``$HG_TAG``. "
+"The\n"
+"  tag is local if ``$HG_LOCAL=1``, or in the repository if ``$HG_LOCAL=0``."
 msgstr ""
 "``pretag``\n"
 "  タグの新規生成前に実行されます。\n"
@@ -21258,10 +24848,11 @@
 "  ローカルタグの場合は ``$HG_LOCAL=1`` に、\n"
 "  通常のタグの場合は ``$HG_LOCAL=0`` になります。"
 
+#, fuzzy
 msgid ""
 "``pretxnopen``\n"
 "  Run before any new repository transaction is open. The reason for the\n"
-"  transaction will be in ``$HG_TXNNAME`` and a unique identifier for the\n"
+"  transaction will be in ``$HG_TXNNAME``, and a unique identifier for the\n"
 "  transaction will be in ``HG_TXNID``. A non-zero status will prevent the\n"
 "  transaction from being opened."
 msgstr ""
@@ -21270,26 +24861,56 @@
 "  ``$HG_TXNNAME`` に、 一意な識別子が ``HG_TXNID`` に設定されます。 \n"
 "  終了コードが非ゼロの場合、 トランザクションは開始されません。"
 
+#, fuzzy
 msgid ""
 "``pretxnclose``\n"
 "  Run right before the transaction is actually finalized. Any repository "
 "change\n"
 "  will be visible to the hook program. This lets you validate the "
 "transaction\n"
-"  content or change it. Exit status 0 allows the commit to proceed. Non-"
+"  content or change it. Exit status 0 allows the commit to proceed. A non-"
 "zero\n"
 "  status will cause the transaction to be rolled back. The reason for the\n"
-"  transaction opening will be in ``$HG_TXNNAME`` and a unique identifier "
+"  transaction opening will be in ``$HG_TXNNAME``, and a unique identifier "
 "for\n"
 "  the transaction will be in ``HG_TXNID``. The rest of the available data "
 "will\n"
-"  vary according the transaction type. New changesets will add ``$HG_NODE`` "
-"(id\n"
-"  of the first added changeset), ``$HG_NODE_LAST`` (id of the last added\n"
-"  changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables, bookmarks and "
-"phases\n"
-"  changes will set ``HG_BOOKMARK_MOVED`` and ``HG_PHASES_MOVED`` to ``1``, "
-"etc."
+"  vary according the transaction type. New changesets will add ``$HG_NODE``\n"
+"  (the ID of the first added changeset), ``$HG_NODE_LAST`` (the ID of the "
+"last\n"
+"  added changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables.  Bookmark and\n"
+"  phase changes will set ``HG_BOOKMARK_MOVED`` and ``HG_PHASES_MOVED`` to "
+"``1``\n"
+"  respectively, etc."
+msgstr ""
+"``pretxnclose``\n"
+"  トランザクション完了直前に実行されます。 完了時の記録内容の全てを、\n"
+"  フックから参照できます。 トランザクション内容の検証や変更が可能です。\n"
+"  終了コードが 0 の場合、 トランザクション完了処理が継続されます。\n"
+"  それ以外の場合、 トランザクションはロールバックされます。\n"
+"  トランザクション種別が ``$HG_TXNNAME`` に、 一意な識別子が ``HG_TXNID``\n"
+"  に設定されます。 それ以外の情報は、 トランザクション種別に依存します。\n"
+"  例えば、 新規リビジョン群を追加するトランザクションの場合、 ``$HG_NODE``\n"
+"  (追加リビジョン群の最初のものの ID)、 ``$HG_NODE_LAST`` (最後のものの\n"
+"  ID)、 ``$HG_URL`` および ``$HG_SOURCE`` が設定されます。\n"
+"  ブックマークやフェーズの変更の場合、 ``HG_BOOKMARK_MOVED`` や\n"
+"  ``HG_PHASES_MOVED`` に ``1`` が設定されます。"
+
+#, fuzzy
+msgid ""
+"``pretxnclose-bookmark``\n"
+"  Run right before a bookmark change is actually finalized. Any repository\n"
+"  change will be visible to the hook program. This lets you validate the\n"
+"  transaction content or change it. Exit status 0 allows the commit to\n"
+"  proceed. A non-zero status will cause the transaction to be rolled back.\n"
+"  The name of the bookmark will be available in ``$HG_BOOKMARK``, the new\n"
+"  bookmark location will be available in ``$HG_NODE`` while the previous\n"
+"  location will be available in ``$HG_OLDNODE``. In case of a bookmark\n"
+"  creation ``$HG_OLDNODE`` will be empty. In case of deletion ``$HG_NODE``\n"
+"  will be empty.\n"
+"  In addition, the reason for the transaction opening will be in\n"
+"  ``$HG_TXNNAME``, and a unique identifier for the transaction will be in\n"
+"  ``HG_TXNID``."
 msgstr ""
 "``pretxnclose``\n"
 "  トランザクション完了直前に実行されます。 完了時の記録内容の全てを、\n"
@@ -21304,12 +24925,47 @@
 "  ブックマークやフェーズの変更の場合、 ``HG_BOOKMARK_MOVED`` や\n"
 "  ``HG_PHASES_MOVED`` に ``1`` が設定されます。"
 
+#, fuzzy
+msgid ""
+"``pretxnclose-phase``\n"
+"  Run right before a phase change is actually finalized. Any repository "
+"change\n"
+"  will be visible to the hook program. This lets you validate the "
+"transaction\n"
+"  content or change it. Exit status 0 allows the commit to proceed.  A non-"
+"zero\n"
+"  status will cause the transaction to be rolled back. The hook is called\n"
+"  multiple times, once for each revision affected by a phase change.\n"
+"  The affected node is available in ``$HG_NODE``, the phase in ``"
+"$HG_PHASE``\n"
+"  while the previous ``$HG_OLDPHASE``. In case of new node, ``"
+"$HG_OLDPHASE``\n"
+"  will be empty.  In addition, the reason for the transaction opening will "
+"be in\n"
+"  ``$HG_TXNNAME``, and a unique identifier for the transaction will be in\n"
+"  ``HG_TXNID``. The hook is also run for newly added revisions. In this "
+"case\n"
+"  the ``$HG_OLDPHASE`` entry will be empty."
+msgstr ""
+"``pretxnclose``\n"
+"  トランザクション完了直前に実行されます。 完了時の記録内容の全てを、\n"
+"  フックから参照できます。 トランザクション内容の検証や変更が可能です。\n"
+"  終了コードが 0 の場合、 トランザクション完了処理が継続されます。\n"
+"  それ以外の場合、 トランザクションはロールバックされます。\n"
+"  トランザクション種別が ``$HG_TXNNAME`` に、 一意な識別子が ``HG_TXNID``\n"
+"  に設定されます。 それ以外の情報は、 トランザクション種別に依存します。\n"
+"  例えば、 新規リビジョン群を追加するトランザクションの場合、 ``$HG_NODE``\n"
+"  (追加リビジョン群の最初のものの ID)、 ``$HG_NODE_LAST`` (最後のものの\n"
+"  ID)、 ``$HG_URL`` および ``$HG_SOURCE`` が設定されます。\n"
+"  ブックマークやフェーズの変更の場合、 ``HG_BOOKMARK_MOVED`` や\n"
+"  ``HG_PHASES_MOVED`` に ``1`` が設定されます。"
+
+#, fuzzy
 msgid ""
 "``txnclose``\n"
 "  Run after any repository transaction has been committed. At this\n"
 "  point, the transaction can no longer be rolled back. The hook will run\n"
-"  after the lock is released. See :hg:`help config.hooks.pretxnclose` docs "
-"for\n"
+"  after the lock is released. See :hg:`help config.hooks.pretxnclose` for\n"
 "  details about available variables."
 msgstr ""
 "``txnclose``\n"
@@ -21318,30 +24974,64 @@
 "  排他は解放されます。 参照可能な変数の詳細に関しては\n"
 "  :hg:`help config.hooks.pretxnclose` の説明を参照してください。"
 
+#, fuzzy
+msgid ""
+"``txnclose-bookmark``\n"
+"  Run after any bookmark change has been committed. At this point, the\n"
+"  transaction can no longer be rolled back. The hook will run after the "
+"lock\n"
+"  is released. See :hg:`help config.hooks.pretxnclose-bookmark` for details\n"
+"  about available variables."
+msgstr ""
+"``txnclose``\n"
+"  トランザクション完了直後に実行されます。 このフックの実行結果は、\n"
+"  トランザクションのロールバックを生じません。 フック実行に先立って、\n"
+"  排他は解放されます。 参照可能な変数の詳細に関しては\n"
+"  :hg:`help config.hooks.pretxnclose` の説明を参照してください。"
+
+#, fuzzy
+msgid ""
+"``txnclose-phase``\n"
+"  Run after any phase change has been committed. At this point, the\n"
+"  transaction can no longer be rolled back. The hook will run after the "
+"lock\n"
+"  is released. See :hg:`help config.hooks.pretxnclose-phase` for details "
+"about\n"
+"  available variables."
+msgstr ""
+"``txnclose``\n"
+"  トランザクション完了直後に実行されます。 このフックの実行結果は、\n"
+"  トランザクションのロールバックを生じません。 フック実行に先立って、\n"
+"  排他は解放されます。 参照可能な変数の詳細に関しては\n"
+"  :hg:`help config.hooks.pretxnclose` の説明を参照してください。"
+
+#, fuzzy
 msgid ""
 "``txnabort``\n"
 "  Run when a transaction is aborted. See :hg:`help config.hooks."
 "pretxnclose`\n"
-"  docs for details about available variables."
+"  for details about available variables."
 msgstr ""
 "``txnabort``\n"
 "  トランザクション中断時に実行されます。 参照可能な変数の詳細に関しては\n"
 "  :hg:`help config.hooks.pretxnclose` の説明を参照してください。"
 
+#, fuzzy
 msgid ""
 "``pretxnchangegroup``\n"
 "  Run after a changegroup has been added via push, pull or unbundle, but "
 "before\n"
-"  the transaction has been committed. Changegroup is visible to hook "
-"program.\n"
-"  This lets you validate incoming changes before accepting them. Passed the "
-"ID\n"
-"  of the first new changeset in ``$HG_NODE`` and last in ``$HG_NODE_LAST``.\n"
-"  Exit status 0 allows the transaction to commit. Non-zero status will "
-"cause\n"
-"  the transaction to be rolled back and the push, pull or unbundle will "
-"fail.\n"
-"  URL that was source of changes is in ``$HG_URL``."
+"  the transaction has been committed. The changegroup is visible to the "
+"hook\n"
+"  program. This allows validation of incoming changes before accepting "
+"them.\n"
+"  The ID of the first new changeset is in ``$HG_NODE`` and last is in\n"
+"  ``$HG_NODE_LAST``. Exit status 0 allows the transaction to commit. A non-"
+"zero\n"
+"  status will cause the transaction to be rolled back, and the push, pull "
+"or\n"
+"  unbundle will fail. The URL that was the source of changes is in ``"
+"$HG_URL``."
 msgstr ""
 "``pretxnchangegroup``\n"
 "  push、 pull、 unbundle によるリビジョン群の追加完了の際に、\n"
@@ -21354,14 +25044,16 @@
 "  push、 pull、 unbundle は中断されます。\n"
 "  追加リビジョンの取り込み元 URL は ``$HG_URL`` に設定されます。"
 
+#, fuzzy
 msgid ""
 "``pretxncommit``\n"
-"  Run after a changeset has been created but the transaction not yet\n"
-"  committed. Changeset is visible to hook program. This lets you\n"
-"  validate commit message and changes. Exit status 0 allows the\n"
-"  commit to proceed. Non-zero status will cause the transaction to\n"
-"  be rolled back. ID of changeset is in ``$HG_NODE``. Parent changeset\n"
-"  IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``."
+"  Run after a changeset has been created, but before the transaction is\n"
+"  committed. The changeset is visible to the hook program. This allows\n"
+"  validation of the commit message and changes. Exit status 0 allows the\n"
+"  commit to proceed. A non-zero status will cause the transaction to\n"
+"  be rolled back. The ID of the new changeset is in ``$HG_NODE``. The "
+"parent\n"
+"  changeset IDs are in ``$HG_PARENT1`` and ``$HG_PARENT2``."
 msgstr ""
 "``pretxncommit``\n"
 "  新規リビジョン作成の際に、\n"
@@ -21374,12 +25066,14 @@
 "  親リビジョンの ID が\n"
 "  ``$HG_PARENT1`` および ``$HG_PARENT2`` に設定されます。"
 
+#, fuzzy
 msgid ""
 "``preupdate``\n"
 "  Run before updating the working directory. Exit status 0 allows\n"
-"  the update to proceed. Non-zero status will prevent the update.\n"
-"  Changeset ID of first new parent is in ``$HG_PARENT1``. If merge, ID\n"
-"  of second new parent is in ``$HG_PARENT2``."
+"  the update to proceed. A non-zero status will prevent the update.\n"
+"  The changeset ID of first new parent is in ``$HG_PARENT1``. If updating to "
+"a\n"
+"  merge, the ID of second new parent is in ``$HG_PARENT2``."
 msgstr ""
 "``preupdate``\n"
 "  作業領域の更新前に実行されます。\n"
@@ -21414,11 +25108,14 @@
 "  (更新の場合は) 旧値が ``$HG_OLD`` に、\n"
 "  新値が ``$HG_NEW`` に設定されます。"
 
+#, fuzzy
 msgid ""
 "``tag``\n"
-"  Run after a tag is created. ID of tagged changeset is in ``$HG_NODE``.\n"
-"  Name of tag is in ``$HG_TAG``. Tag is local if ``$HG_LOCAL=1``, in\n"
-"  repository if ``$HG_LOCAL=0``."
+"  Run after a tag is created. The ID of the tagged changeset is in ``"
+"$HG_NODE``.\n"
+"  The name of tag is in ``$HG_TAG``. The tag is local if ``$HG_LOCAL=1``, or "
+"in\n"
+"  the repository if ``$HG_LOCAL=0``."
 msgstr ""
 "``tag``\n"
 "  タグの新規生成後に実行されます。\n"
@@ -21427,12 +25124,15 @@
 "  ローカルタグの場合は ``$HG_LOCAL=1`` に、\n"
 "  通常のタグの場合は ``$HG_LOCAL=0`` になります。"
 
+#, fuzzy
 msgid ""
 "``update``\n"
-"  Run after updating the working directory. Changeset ID of first\n"
-"  new parent is in ``$HG_PARENT1``. If merge, ID of second new parent is\n"
-"  in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If the\n"
-"  update failed (e.g. because conflicts not resolved), ``$HG_ERROR=1``."
+"  Run after updating the working directory. The changeset ID of first\n"
+"  new parent is in ``$HG_PARENT1``. If updating to a merge, the ID of second "
+"new\n"
+"  parent is in ``$HG_PARENT2``. If the update succeeded, ``$HG_ERROR=0``. If "
+"the\n"
+"  update failed (e.g. because conflicts were not resolved), ``$HG_ERROR=1``."
 msgstr ""
 "``update``\n"
 "  作業領域の更新後に実行されます。\n"
@@ -21442,9 +25142,10 @@
 "  更新処理が成功した場合は ``$HG_ERROR=0`` に、\n"
 "  失敗した場合 (例: 衝突解消の失敗等) は ``$HG_ERROR=1`` が設定されます。"
 
+#, fuzzy
 msgid ""
 "   It is generally better to use standard hooks rather than the\n"
-"   generic pre- and post- command hooks as they are guaranteed to be\n"
+"   generic pre- and post- command hooks, as they are guaranteed to be\n"
 "   called in the appropriate contexts for influencing transactions.\n"
 "   Also, hooks like \"commit\" will be called in all contexts that\n"
 "   generate a commit (e.g. tag) and not just the commit command."
@@ -21660,13 +25361,15 @@
 "    対応するホストとの接続にのみ適用される点以外は、 先述した ``ciphers``\n"
 "    設定と同じです。"
 
+#, fuzzy
 msgid ""
 "``fingerprints``\n"
 "    A list of hashes of the DER encoded peer/remote certificate. Values "
 "have\n"
 "    the form ``algorithm``:``fingerprint``. e.g.\n"
 "    ``sha256:"
-"c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2``."
+"c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2``.\n"
+"    In addition, colons (``:``) can appear in the fingerprint part."
 msgstr ""
 "``fingerprints``\n"
 "    対応するホストの、 DER 符号化された証明書の SHA-1 ハッシュ値です。\n"
@@ -21761,6 +25464,7 @@
 "        ... (base64 PEM 符号化形式の証明書) ...\n"
 "        -----END CERTIFICATE-----"
 
+#, fuzzy
 msgid ""
 "    [hostsecurity]\n"
 "    hg.example.com:fingerprints = sha256:"
@@ -21768,6 +25472,8 @@
 "    hg2.example.com:fingerprints = "
 "sha1:914f1aff87249c09b6859b88b1906d30756491ca, sha1:fc:e2:8d:d9:51:cd:cb:"
 "c1:4d:18:6b:b7:44:8d:49:72:57:e6:cd:33\n"
+"    hg3.example.com:fingerprints = sha256:9a:b0:dc:e2:75:ad:8a:b7:84:58:"
+"e5:1f:07:32:f1:87:e6:bd:24:22:af:b7:ce:8e:9c:b4:10:cf:b9:f4:0e:d2\n"
 "    foo.example.com:verifycertsfile = /etc/ssl/trusted-ca-certs.pem"
 msgstr ""
 "    [hostsecurity]\n"
@@ -21895,6 +25601,20 @@
 "   (デフォルト値: ``abort``)"
 
 msgid ""
+"``on-failure``\n"
+"   When set to ``continue`` (the default), the merge process attempts to\n"
+"   merge all unresolved files using the merge chosen tool, regardless of\n"
+"   whether previous file merge attempts during the process succeeded or "
+"not.\n"
+"   Setting this to ``prompt`` will prompt after any merge failure continue\n"
+"   or halt the merge process. Setting this to ``halt`` will automatically\n"
+"   halt the merge process on any merge tool failure. The merge process\n"
+"   can be restarted by using the ``resolve`` command. When a merge is\n"
+"   halted, the repository is left in a normal ``unresolved`` merge state.\n"
+"   (default: ``continue``)"
+msgstr ""
+
+msgid ""
 "``merge-patterns``\n"
 "------------------"
 msgstr ""
@@ -22011,15 +25731,21 @@
 "``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``. The meaning\n"
-"  of ``$local`` and ``$other`` can vary depending on which action is being\n"
-"  performed. During and update or merge, ``$local`` represents the original\n"
-"  state of the file, while ``$other`` represents the commit you are "
-"updating\n"
-"  to or the commit you are merging with. During a rebase ``$local``\n"
-"  represents the destination of the rebase, and ``$other`` represents the\n"
-"  commit being rebased.\n"
-"  (default: ``$local $base $other``)"
+"  variables: ``$base``, ``$local``, ``$other``, ``$output``."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"  The meaning of ``$local`` and ``$other`` can vary depending on which "
+"action is\n"
+"  being performed. During an update or merge, ``$local`` represents the "
+"original\n"
+"  state of the file, while ``$other`` represents the commit you are updating "
+"to or\n"
+"  the commit you are merging with. During a rebase, ``$local`` represents "
+"the\n"
+"  destination of the rebase, and ``$other`` represents the commit being "
+"rebased."
 msgstr ""
 "``args``\n"
 "  実行時にツールに指定される引数。 ``$base``, ``$local``, ``$other``, \n"
@@ -22033,6 +25759,17 @@
 "  (デフォルト値: ``$local $base $other``)"
 
 msgid ""
+"  Some operations define custom labels to assist with identifying the "
+"revisions,\n"
+"  accessible via ``$labellocal``, ``$labelother``, and ``$labelbase``. If "
+"custom\n"
+"  labels are not available, these will be ``local``, ``other``, and "
+"``base``,\n"
+"  respectively.\n"
+"  (default: ``$local $base $other``)"
+msgstr ""
+
+msgid ""
 "``premerge``\n"
 "  Attempt to run internal non-interactive 3-way merge tool before\n"
 "  launching external tool.  Options are ``true``, ``false``, ``keep`` or\n"
@@ -22111,6 +25848,30 @@
 "  (デフォルト値: False)"
 
 msgid ""
+"``mergemarkers``\n"
+"  Controls whether the labels passed via ``$labellocal``, ``$labelother``, "
+"and\n"
+"  ``$labelbase`` are ``detailed`` (respecting ``mergemarkertemplate``) or\n"
+"  ``basic``. If ``premerge`` is ``keep`` or ``keep-merge3``, the conflict\n"
+"  markers generated during premerge will be ``detailed`` if either this "
+"option or\n"
+"  the corresponding option in the ``[ui]`` section is ``detailed``.\n"
+"  (default: ``basic``)"
+msgstr ""
+
+msgid ""
+"``mergemarkertemplate``\n"
+"  This setting can be used to override ``mergemarkertemplate`` from the "
+"``[ui]``\n"
+"  section on a per-tool basis; this applies to the ``$label``-prefixed "
+"variables\n"
+"  and to the conflict markers that are generated if ``premerge`` is ``keep` "
+"or\n"
+"  ``keep-merge3``. See the corresponding variable in ``[ui]`` for more\n"
+"  information."
+msgstr ""
+
+msgid ""
 "  ``regkey``\n"
 "    Windows registry key which describes install location of this\n"
 "    tool. Mercurial will search for this key first under\n"
@@ -22156,8 +25917,57 @@
 "    当該レジストリキーからの読み出し値に付加する値。 典型的な設定値は、\n"
 "    ツールの実行可能ファイル名です。 (デフォルト値: None)"
 
-msgid ""
-"\n"
+#, fuzzy
+msgid ""
+"``pager``\n"
+"---------"
+msgstr ""
+"``phases``\n"
+"----------"
+
+msgid ""
+"Setting used to control when to paginate and with what external tool. See\n"
+":hg:`help pager` for details."
+msgstr ""
+
+msgid ""
+"``pager``\n"
+"    Define the external tool used as pager."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"    If no pager is set, Mercurial uses the environment variable $PAGER.\n"
+"    If neither pager.pager, nor $PAGER is set, a default pager will be\n"
+"    used, typically `less` on Unix and `more` on Windows. Example::"
+msgstr ""
+"上記設定が無い場合、 Mercurial は PAGER 環境変数を参照します。\n"
+"どちらも未設定の場合、 Mercurial はデフォルトのページャを使用します\n"
+"(通常は `more` コマンド)。"
+
+#, fuzzy
+msgid ""
+"      [pager]\n"
+"      pager = less -FRX"
+msgstr ""
+"  [pager]\n"
+"  pager = less -FRX"
+
+msgid ""
+"``ignore``\n"
+"    List of commands to disable the pager for. Example::"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"      [pager]\n"
+"      ignore = version, help, update"
+msgstr ""
+"  [pager]\n"
+"  ignore = version, help, update"
+
+#, fuzzy
+msgid ""
 "``patch``\n"
 "---------"
 msgstr ""
@@ -22405,11 +26215,11 @@
 "精密プロファイル (名称: ``ls``) と、 サンプリングプロファイル (名称:\n"
 "``stat``) の2種類です。"
 
+#, fuzzy
 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."
+"statistical text report generated from the profiling data."
 msgstr ""
 "以下の説明では、 プロファイル期間に採取される生データの事を\n"
 "'プロファイルデータ'、 プロファイルデータを元にした、\n"
@@ -22552,13 +26362,14 @@
 "``limit``\n"
 "    表示対象行数。 詳細プロファイラ ``ls`` 固有の設定。 (デフォルト値: 30)"
 
+#, fuzzy
 msgid ""
 "``nested``\n"
 "    Show at most this number of lines of drill-down info after each main "
 "entry.\n"
 "    This can help explain the difference between Total and Inline.\n"
 "    Specific to the ``ls`` instrumenting profiler.\n"
-"    (default: 5)"
+"    (default: 0)"
 msgstr ""
 "``nested``\n"
 "    個々のメインエントリ以後の、 掘り下げ (drill-down) 情報表示の、\n"
@@ -22566,6 +26377,33 @@
 "    詳細プロファイラ ``ls`` 固有の設定。 (デフォルト値: 5)"
 
 msgid ""
+"``showmin``\n"
+"    Minimum fraction of samples an entry must have for it to be displayed.\n"
+"    Can be specified as a float between ``0.0`` and ``1.0`` or can have a\n"
+"    ``%`` afterwards to allow values up to ``100``. e.g. ``5%``."
+msgstr ""
+
+msgid "    Only used by the ``stat`` profiler."
+msgstr ""
+
+msgid ""
+"    For the ``hotpath`` format, default is ``0.05``.\n"
+"    For the ``chrome`` format, default is ``0.005``."
+msgstr ""
+
+msgid "    The option is unused on other formats."
+msgstr ""
+
+msgid ""
+"``showmax``\n"
+"    Maximum fraction of samples an entry can have before it is ignored in\n"
+"    display. Values format is the same as ``showmin``."
+msgstr ""
+
+msgid "    For the ``chrome`` format, default is ``0.999``."
+msgstr ""
+
+msgid ""
 "``progress``\n"
 "------------"
 msgstr ""
@@ -22600,6 +26438,12 @@
 "    (デフォルト値: 1.0)"
 
 msgid ""
+"``estimateinterval``\n"
+"    Maximum sampling interval in seconds for speed and estimated time\n"
+"    calculation. (default: 60)"
+msgstr ""
+
+msgid ""
 "``refresh``\n"
 "    Time in seconds between refreshes of the progress bar. (default: 0.1)"
 msgstr ""
@@ -22669,8 +26513,9 @@
 "``rebase``\n"
 "----------"
 
-msgid ""
-"``allowdivergence``\n"
+#, fuzzy
+msgid ""
+"``evolution.allowdivergence``\n"
 "    Default to False, when True allow creating divergence when performing\n"
 "    rebase of obsolete changesets."
 msgstr ""
@@ -22701,6 +26546,19 @@
 msgstr "一般的なサーバ機能の設定。"
 
 msgid ""
+"``bookmarks-pushkey-compat``\n"
+"    Trigger pushkey hook when being pushed bookmark updates. This config "
+"exist\n"
+"    for compatibility purpose (default to True)"
+msgstr ""
+
+msgid ""
+"    If you use ``pushkey`` and ``pre-pushkey`` hooks to control bookmark\n"
+"    movement we recommend you migrate them to ``txnclose-bookmark`` and\n"
+"    ``pretxnclose-bookmark``."
+msgstr ""
+
+msgid ""
 "``compressionengines``\n"
 "    List of compression engines and their relative priority to advertise\n"
 "    to clients."
@@ -22748,6 +26606,16 @@
 "    一時的な書き込みロックが保持されます。\n"
 "    (デフォルト値: True)"
 
+#, fuzzy
+msgid ""
+"``uncompressedallowsecret``\n"
+"    Whether to allow stream clones when the repository contains secret\n"
+"    changesets. (default: False)"
+msgstr ""
+"``allowgz``\n"
+"    (非推奨) .tar.gz 形式でのアーカイブダウンロードの可否。\n"
+"    (デフォルト値: False)"
+
 msgid ""
 "``preferuncompressed``\n"
 "    When set, clients will try to use the uncompressed streaming\n"
@@ -22758,6 +26626,52 @@
 "    (デフォルト値: False)"
 
 msgid ""
+"``disablefullbundle``\n"
+"    When set, servers will refuse attempts to do pull-based clones.\n"
+"    If this option is set, ``preferuncompressed`` and/or clone bundles\n"
+"    are highly recommended. Partial clones will still be allowed.\n"
+"    (default: False)"
+msgstr ""
+
+msgid ""
+"``streamunbundle``\n"
+"    When set, servers will apply data sent from the client directly,\n"
+"    otherwise it will be written to a temporary file first. This option\n"
+"    effectively prevents concurrent pushes."
+msgstr ""
+
+msgid ""
+"``pullbundle``\n"
+"    When set, the server will check pullbundle.manifest for bundles\n"
+"    covering the requested heads and common nodes. The first matching\n"
+"    entry will be streamed to the client."
+msgstr ""
+
+msgid ""
+"    For HTTP transport, the stream will still use zlib compression\n"
+"    for older clients."
+msgstr ""
+
+msgid ""
+"``concurrent-push-mode``\n"
+"    Level of allowed race condition between two pushing clients."
+msgstr ""
+
+msgid ""
+"    - 'strict': push is abort if another client touched the repository\n"
+"      while the push was preparing. (default)\n"
+"    - 'check-related': push is only aborted if it affects head that got "
+"also\n"
+"      affected while the push was preparing."
+msgstr ""
+
+msgid ""
+"    This requires compatible client (version 4.3 and later). Old client "
+"will\n"
+"    use 'strict'."
+msgstr ""
+
+msgid ""
 "``validate``\n"
 "    Whether to validate the completeness of pushed changesets by\n"
 "    checking that all new file revisions specified in manifests are\n"
@@ -22980,6 +26894,74 @@
 "絶対パス化前の参照先に対し、 合致判定/買い替えを再度実施します。\n"
 "書き換えの適用は、 記述順に実施されます。"
 
+#, fuzzy
+msgid ""
+"``subrepos``\n"
+"------------"
+msgstr ""
+"\n"
+"``subpaths``\n"
+"------------"
+
+msgid ""
+"This section contains options that control the behavior of the\n"
+"subrepositories feature. See also :hg:`help subrepos`."
+msgstr ""
+
+msgid ""
+"Security note: auditing in Mercurial is known to be insufficient to\n"
+"prevent clone-time code execution with carefully constructed Git\n"
+"subrepos. It is unknown if a similar detect is present in Subversion\n"
+"subrepos. Both Git and Subversion subrepos are disabled by default\n"
+"out of security concerns. These subrepo types can be enabled using\n"
+"the respective options below."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"``allowed``\n"
+"    Whether subrepositories are allowed in the working directory."
+msgstr ""
+"``parents([set])``\n"
+"    指定リビジョン群または作業領域の、 全親リビジョン群。"
+
+msgid ""
+"    When false, commands involving subrepositories (like :hg:`update`)\n"
+"    will fail for all subrepository types.\n"
+"    (default: true)"
+msgstr ""
+
+msgid ""
+"``hg:allowed``\n"
+"    Whether Mercurial subrepositories are allowed in the working\n"
+"    directory. This option only has an effect if ``subrepos.allowed``\n"
+"    is true.\n"
+"    (default: true)"
+msgstr ""
+
+msgid ""
+"``git:allowed``\n"
+"    Whether Git subrepositories are allowed in the working directory.\n"
+"    This option only has an effect if ``subrepos.allowed`` is true."
+msgstr ""
+
+msgid ""
+"    See the security note above before enabling Git subrepos.\n"
+"    (default: false)"
+msgstr ""
+
+msgid ""
+"``svn:allowed``\n"
+"    Whether Subversion subrepositories are allowed in the working\n"
+"    directory. This option only has an effect if ``subrepos.allowed``\n"
+"    is true."
+msgstr ""
+
+msgid ""
+"    See the security note above before enabling Subversion subrepos.\n"
+"    (default: false)"
+msgstr ""
+
 msgid ""
 "``templatealias``\n"
 "-----------------"
@@ -23186,13 +27168,14 @@
 msgid "    By default, the first bundle advertised by the server is used."
 msgstr ""
 
+#, fuzzy
 msgid ""
 "``color``\n"
-"    String: when to use to colorize output. possible value are auto, "
-"always,\n"
-"    never, or debug (default: auto). 'auto' will use color whenever it "
-"seems\n"
-"    possible. See :hg:`help color` for details."
+"    When to colorize output. Possible value are Boolean (\"yes\" or \"no\"), "
+"or\n"
+"    \"debug\", or \"always\". (default: \"yes\"). \"yes\" will use color "
+"whenever it\n"
+"    seems possible. See :hg:`help color` for details."
 msgstr ""
 "``color``\n"
 "    文字列: コマンド出力のカラー化設定。 指定可能な値は auto, always,\n"
@@ -23200,9 +27183,6 @@
 "    可能な範囲でカラー化されます。 詳細は :hg:`help color`\n"
 "    を参照してください。"
 
-msgid "    (in addition a boolean can be used in place always/never)"
-msgstr "    (true/false 等の真偽値は always/never 相当とみなされます)"
-
 msgid ""
 "``commitsubrepos``\n"
 "    Whether to commit modified subrepositories when committing the\n"
@@ -23365,16 +27345,31 @@
 "    文字コード混在による深刻な問題を生じます。"
 
 msgid ""
+"    Can be overridden per-merge-tool, see the ``[merge-tools]`` section."
+msgstr ""
+
+#, fuzzy
+msgid ""
 "``origbackuppath``\n"
 "    The path to a directory used to store generated .orig files. If the path "
 "is\n"
-"    not a directory, one will be created."
+"    not a directory, one will be created.  If set, files stored in this\n"
+"    directory have the same name as the original file and do not have a ."
+"orig\n"
+"    suffix."
 msgstr ""
 "``origbackuppath``\n"
 "    バックアップ用の .orig ファイル格納先のディレクトリ名。 格納時点で、\n"
 "    対象ディレクトリが不在の場合は、 新規に作成されます。"
 
 msgid ""
+"``paginate``\n"
+"  Control the pagination of command output (default: True). See :hg:`help "
+"pager`\n"
+"  for details."
+msgstr ""
+
+msgid ""
 "``patch``\n"
 "    An optional external tool that ``hg import`` and some extensions\n"
 "    will use for applying patches. By default Mercurial uses an\n"
@@ -23491,6 +27486,11 @@
 
 msgid ""
 "``slash``\n"
+"    (Deprecated. Use ``slashpath`` template filter instead.)"
+msgstr ""
+
+#, fuzzy
+msgid ""
 "    Display paths using a slash (``/``) as the path separator. This\n"
 "    only makes a difference on systems where the default path\n"
 "    separator is not the slash character (e.g. Windows uses the\n"
@@ -23518,6 +27518,12 @@
 "    SSH 接続に使用するコマンド。 (デフォルト値: ``ssh``)"
 
 msgid ""
+"``ssherrorhint``\n"
+"    A hint shown to the user in the case of SSH error (e.g.\n"
+"    ``Please see http://company/internalwiki/ssh.html``)"
+msgstr ""
+
+msgid ""
 "``strict``\n"
 "    Require exact command names, instead of allowing unambiguous\n"
 "    abbreviations. (default: False)"
@@ -23568,6 +27574,17 @@
 "    ロック解放待ちにおけるタイムアウト時間指定 (単位: 秒)。\n"
 "    負値はタイムアウト無しを意味します。 (デフォルト値: 600)"
 
+#, fuzzy
+msgid ""
+"``timeout.warn``\n"
+"    Time (in seconds) before a warning is printed about held lock. A "
+"negative\n"
+"    value means no warning. (default: 0)"
+msgstr ""
+"``timeout``\n"
+"    ロック解放待ちにおけるタイムアウト時間指定 (単位: 秒)。\n"
+"    負値はタイムアウト無しを意味します。 (デフォルト値: 600)"
+
 msgid ""
 "``traceback``\n"
 "    Mercurial always prints a traceback when an unknown exception\n"
@@ -23581,6 +27598,18 @@
 "    MemoryError) であっても、トレースバックを表示します。\n"
 "    (デフォルト値: False)"
 
+msgid "``tweakdefaults``"
+msgstr ""
+
+msgid ""
+"    By default Mercurial's behavior changes very little from release\n"
+"    to release, but over time the recommended config settings\n"
+"    shift. Enable this config to opt in to get automatic tweaks to\n"
+"    Mercurial's behavior over time. This config setting will have no\n"
+"    effet if ``HGPLAIN` is set or ``HGPLAINEXCEPT`` is set and does\n"
+"    not include ``tweakdefaults``. (default: False)"
+msgstr ""
+
 msgid ""
 "``username``\n"
 "    The committer of a changeset created when running \"commit\".\n"
@@ -23654,7 +27683,8 @@
 "信頼できる環境 (例: 私的な LAN 配下で、 全ての利用者に :hg:`push` 許可)\n"
 "において、 素早くサーバを立ち上げたい場合、 以下の起動形式が良いでしょう::"
 
-msgid "    $ hg --config web.allow_push=* --config web.push_ssl=False serve"
+#, fuzzy
+msgid "    $ hg --config web.allow-push=* --config web.push_ssl=False serve"
 msgstr "    $ hg --config web.allow_push=* --config web.push_ssl=False serve"
 
 msgid ""
@@ -23710,21 +27740,23 @@
 "    (非推奨) .tar.gz 形式でのアーカイブダウンロードの可否。\n"
 "    (デフォルト値: False)"
 
-msgid ""
-"``allowpull``\n"
+#, fuzzy
+msgid ""
+"``allow-pull``\n"
 "    Whether to allow pulling from the repository. (default: True)"
 msgstr ""
 "``allowpull``\n"
 "    :hg:`pull` 要求への応答の可否。 (デフォルト値: True)"
 
-msgid ""
-"``allow_push``\n"
+#, fuzzy
+msgid ""
+"``allow-push``\n"
 "    Whether to allow pushing to the repository. If empty or not set,\n"
 "    pushing is not allowed. If the special value ``*``, any remote\n"
 "    user can push, including unauthenticated users. Otherwise, the\n"
 "    remote user must have been authenticated, and the authenticated\n"
 "    user name must be present in this list. The contents of the\n"
-"    allow_push list are examined after the deny_push list."
+"    allow-push list are examined after the deny_push list."
 msgstr ""
 "``allow_push``\n"
 "    :hg:`push` 要求への応答の可否。 空または未設定の場合、 :hg:`push`\n"
@@ -23901,13 +27933,14 @@
 "    threat model."
 msgstr ""
 
+#, fuzzy
 msgid ""
 "``deny_push``\n"
 "    Whether to deny pushing to the repository. If empty or not set,\n"
 "    push is not denied. If the special value ``*``, all remote users are\n"
 "    denied push. Otherwise, unauthenticated users are all denied, and\n"
 "    any authenticated user name present in this list is also denied. The\n"
-"    contents of the deny_push list are examined before the allow_push list."
+"    contents of the deny_push list are examined before the allow-push list."
 msgstr ""
 "``deny_push``\n"
 "    :hg:`push` 要求拒否の要否。 空または未設定の場合、 :hg:`push` は、\n"
@@ -24133,6 +28166,11 @@
 "    (デフォルト値: 20)"
 
 msgid ""
+"``server-header``\n"
+"    Value for HTTP ``Server`` response header."
+msgstr ""
+
+msgid ""
 "``staticurl``\n"
 "    Base URL to use for static files. If unset, static files (e.g. the\n"
 "    hgicon.png favicon) will be served by the CGI script itself. Use\n"
@@ -24259,6 +28297,16 @@
 "並列実施に関する設定。 現状では、 Unix 系システムにおける作業領域更新で、\n"
 "処理の並列実施により、 大規模リポジトリでの大幅な性能改善が見込まれます。"
 
+#, fuzzy
+msgid ""
+"``enabled``\n"
+"    Whether to enable workers code to be used.\n"
+"    (default: true)"
+msgstr ""
+"``enabled``\n"
+"    プロファイラの有効化。\n"
+"    (デフォルト値: false)"
+
 msgid ""
 "``numcpus``\n"
 "    Number of CPUs to use for parallel operations. A zero or\n"
@@ -24470,7 +28518,8 @@
 "    コミットの際のメッセージ入力を行うためのエディタの名前。\n"
 "    EDITOR 環境変数についても参照してください。"
 
-msgid "    (deprecated, use configuration file)"
+#, fuzzy
+msgid "    (deprecated, see :hg:`help config.ui.editor`)"
 msgstr "    (非推奨: 設定ファイル経由で指定してください)"
 
 msgid ""
@@ -24533,6 +28582,10 @@
 "    作業領域のファイル、 マージ対象別リビジョンのファイル、\n"
 "    両者の親リビジョンのファイルを表す、 3つの引数が指定されます。"
 
+#, fuzzy
+msgid "    (deprecated, see :hg:`help config.ui.merge`)"
+msgstr "    (非推奨: 設定ファイル経由で指定してください)"
+
 msgid ""
 "HGRCPATH\n"
 "    A list of files or directories to search for configuration\n"
@@ -24574,12 +28627,26 @@
 "    ツール等から Mercurial を使用する場合に有用です。"
 
 msgid ""
+"    In addition to the features disabled by ``HGPLAIN=``, the following\n"
+"    values can be specified to adjust behavior:"
+msgstr ""
+
+msgid ""
+"    ``+strictflags``\n"
+"        Restrict parsing of command line flags."
+msgstr ""
+
+msgid ""
 "    Equivalent options set via command line flags or environment\n"
 "    variables are not overridden."
 msgstr ""
 "    コマンドラインや環境変数によって、 同等のオプションが、\n"
 "    明示的に指定された場合には、 こららは無視されません。"
 
+#, fuzzy
+msgid "    See :hg:`help scripting` for details."
+msgstr "詳細は :hg:`help color` を参照してください。\n"
+
 msgid ""
 "HGPLAINEXCEPT\n"
 "    This is a comma-separated list of features to preserve when\n"
@@ -24589,9 +28656,12 @@
 "    HGPLAIN による設定無効化の際でも、 継続して利用したい機能名を、\n"
 "    カンマ区切りで列挙します。 現在利用可能な機能名は以下の通り:"
 
+#, fuzzy
 msgid ""
 "    ``alias``\n"
 "        Don't remove aliases.\n"
+"    ``color``\n"
+"        Don't disable colored output.\n"
 "    ``i18n``\n"
 "        Preserve internationalization.\n"
 "    ``revsetalias``\n"
@@ -24641,6 +28711,10 @@
 "    - 対話的な入力\n"
 "    - LOGNAME 環境変数値(``@hostname`` が付与されます)"
 
+#, fuzzy
+msgid "    (deprecated, see :hg:`help config.ui.username`)"
+msgstr "    (非推奨: 設定ファイル経由で指定してください)"
+
 msgid ""
 "EMAIL\n"
 "    May be used as the author of a commit; see HGUSER."
@@ -24783,12 +28857,14 @@
 "(※ 訳注: いわゆる「関数」的なもの) を提供しており、\n"
 "二項演算子による結合や、 括弧によるグループ化も可能です。"
 
+#, fuzzy
 msgid ""
 "Identifiers such as filenames or patterns must be quoted with single\n"
 "or double quotes if they contain characters outside of\n"
 "``[.*{}[]?/\\_a-zA-Z0-9\\x80-\\xff]`` or if they match one of the\n"
 "predefined predicates. This generally applies to file patterns other\n"
-"than globs and arguments for predicates."
+"than globs and arguments for predicates. Pattern prefixes such as\n"
+"``path:`` may be specified without quoting."
 msgstr ""
 "ファイル名やパターンが、 ``[.*{}[]?/\\_a-zA-Z0-9\\x80-\\xff]``\n"
 "以外の文字や、 既存の述語と一致する場合、 引用符(') または二重引用符(\")\n"
@@ -24905,9 +28981,224 @@
 msgid "- Remove files listed in foo.lst that contain the letter a or b::"
 msgstr "- foo.lst の一覧中で a 又は b を名前に含むファイルを登録除外::"
 
-msgid "    hg remove \"set: 'listfile:foo.lst' and (**a* or **b*)\"\n"
+#, fuzzy
+msgid "    hg remove \"set: listfile:foo.lst and (**a* or **b*)\"\n"
 msgstr "    hg remove \"set: 'listfile:foo.lst' and (**a* or **b*)\"\n"
 
+msgid "Most Mercurial commands accept various flags."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"Flag names\n"
+"=========="
+msgstr ""
+"記述例\n"
+"======"
+
+msgid ""
+"Flags for each command are listed in :hg:`help` for that command.\n"
+"Additionally, some flags, such as --repository, are global and can be used "
+"with\n"
+"any command - those are seen in :hg:`help -v`, and can be specified before "
+"or\n"
+"after the command."
+msgstr ""
+
+msgid ""
+"Every flag has at least a long name, such as --repository. Some flags may "
+"also\n"
+"have a short one-letter name, such as the equivalent -R. Using the short or "
+"long\n"
+"name is equivalent and has the same effect."
+msgstr ""
+
+msgid ""
+"Flags that have a short name can also be bundled together - for instance, "
+"to\n"
+"specify both --edit (short -e) and --interactive (short -i), one could use::"
+msgstr ""
+
+#, fuzzy
+msgid "    hg commit -ei"
+msgstr "hg commit"
+
+msgid ""
+"If any of the bundled flags takes a value (i.e. is not a boolean), it must "
+"be\n"
+"last, followed by the value::"
+msgstr ""
+
+#, fuzzy
+msgid "    hg commit -im 'Message'"
+msgstr "指定テキストをコミットログとして使用"
+
+#, fuzzy
+msgid ""
+"Flag types\n"
+"=========="
+msgstr ""
+"フィルタ\n"
+"========"
+
+msgid ""
+"Mercurial command-line flags can be strings, numbers, booleans, or lists of\n"
+"strings."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"Specifying flag values\n"
+"======================"
+msgstr ""
+"単一リビジョンの指定\n"
+"===================="
+
+msgid ""
+"The following syntaxes are allowed, assuming a flag 'flagname' with short "
+"name\n"
+"'f'::"
+msgstr ""
+
+msgid ""
+"    --flagname=foo\n"
+"    --flagname foo\n"
+"    -f foo\n"
+"    -ffoo"
+msgstr ""
+
+msgid ""
+"This syntax applies to all non-boolean flags (strings, numbers or lists)."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"Specifying boolean flags\n"
+"========================"
+msgstr ""
+"単一リビジョンの指定\n"
+"===================="
+
+msgid ""
+"Boolean flags do not take a value parameter. To specify a boolean, use the "
+"flag\n"
+"name to set it to true, or the same name prefixed with 'no-' to set it to\n"
+"false::"
+msgstr ""
+
+msgid ""
+"    hg commit --interactive\n"
+"    hg commit --no-interactive"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"Specifying list flags\n"
+"====================="
+msgstr ""
+"単一リビジョンの指定\n"
+"===================="
+
+msgid ""
+"List flags take multiple values. To specify them, pass the flag multiple "
+"times::"
+msgstr ""
+
+msgid "    hg files --include mercurial --include tests"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"Setting flag defaults\n"
+"====================="
+msgstr ""
+"インタフェースの選択\n"
+"===================="
+
+msgid ""
+"In order to set a default value for a flag in an hgrc file, it is "
+"recommended to\n"
+"use aliases::"
+msgstr ""
+
+msgid ""
+"    [alias]\n"
+"    commit = commit --interactive"
+msgstr ""
+
+#, fuzzy
+msgid "For more information on hgrc files, see :hg:`help config`."
+msgstr ""
+"    (フェーズに関する詳細は、 :hg:`help phases` を参照してください)\n"
+"    "
+
+#, fuzzy
+msgid ""
+"Overriding flags on the command line\n"
+"===================================="
+msgstr ""
+"Mercurial コマンドとの連携\n"
+"=========================="
+
+msgid ""
+"If the same non-list flag is specified multiple times on the command line, "
+"the\n"
+"latest specification is used::"
+msgstr ""
+
+msgid "    hg commit -m \"Ignored value\" -m \"Used value\""
+msgstr ""
+
+msgid "This includes the use of aliases - e.g., if one has::"
+msgstr ""
+
+msgid ""
+"    [alias]\n"
+"    committemp = commit -m \"Ignored value\""
+msgstr ""
+
+msgid "then the following command will override that -m::"
+msgstr ""
+
+msgid "    hg committemp -m \"Used value\""
+msgstr ""
+
+#, fuzzy
+msgid ""
+"Overriding flag defaults\n"
+"========================"
+msgstr ""
+"サブリポジトリの削除\n"
+"===================="
+
+msgid ""
+"Every flag has a default value, and you may also set your own defaults in "
+"hgrc\n"
+"as described above.\n"
+"Except for list flags, defaults can be overridden on the command line simply "
+"by\n"
+"specifying the flag in that location."
+msgstr ""
+
+#, fuzzy
+msgid ""
+"Hidden flags\n"
+"============"
+msgstr ""
+"等価性\n"
+"======"
+
+msgid ""
+"Some flags are not shown in a command's help by default - specifically, "
+"those\n"
+"that are deemed to be experimental, deprecated or advanced. To show all "
+"flags,\n"
+"add the --verbose flag for the help command::"
+msgstr ""
+
+msgid "    hg help --verbose commit\n"
+msgstr ""
+
 msgid ""
 "Ancestor\n"
 "    Any changeset that can be reached by an unbroken chain of parent\n"
@@ -26176,16 +30467,17 @@
 "\"\"\"\"\"\"\"\"\"\"\n"
 "|hgignore(5)|_, |hgrc(5)|_"
 
+#, fuzzy
 msgid ""
 "Copying\n"
 "\"\"\"\"\"\"\"\n"
-"Copyright (C) 2005-2017 Matt Mackall.\n"
+"Copyright (C) 2005-2018 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
 "Copying\n"
 "\"\"\"\"\"\"\"\n"
-"Copyright (C) 2005-2017 Matt Mackall.\n"
+"Copyright (C) 2005-2016 Matt Mackall.\n"
 "本ソフトウェアは、 バージョン2またはそれ以降の GNU General\n"
 "Public License の元での自由な利用が保証されています。"
 
@@ -26239,11 +30531,12 @@
 "==========\n"
 "|hg(1)|_, |hgrc(5)|_"
 
+#, fuzzy
 msgid ""
 "Copying\n"
 "=======\n"
 "This manual page is copyright 2006 Vadim Gelfer.\n"
-"Mercurial is copyright 2005-2017 Matt Mackall.\n"
+"Mercurial is copyright 2005-2018 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
@@ -26527,11 +30820,12 @@
 "==========\n"
 "|hg(1)|_, |hgignore(5)|_"
 
+#, fuzzy
 msgid ""
 "Copying\n"
 "=======\n"
 "This manual page is copyright 2005 Bryan O'Sullivan.\n"
-"Mercurial is copyright 2005-2017 Matt Mackall.\n"
+"Mercurial is copyright 2005-2018 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
@@ -26897,15 +31191,15 @@
 "7. マージ対象ファイルがシンボリックリンクやバイナリファイルでない場合、\n"
 "   内部ツールの ``:merge`` が使用されます。"
 
-msgid "8. The merge of the file fails and must be resolved before commit."
-msgstr ""
-"8. ファイルのマージは失敗とみなされ、 手動での :hg:`resolve` が必要です。"
-
+msgid "8. Otherwise, ``:prompt`` is used."
+msgstr ""
+
+#, fuzzy
 msgid ""
 "   After selecting a merge program, Mercurial will by default attempt\n"
 "   to merge the files using a simple merge algorithm first. Only if it "
 "doesn't\n"
-"   succeed because of conflicting changes Mercurial will actually execute "
+"   succeed because of conflicting changes will Mercurial actually execute "
 "the\n"
 "   merge program. Whether to use the simple merge algorithm first can be\n"
 "   controlled by the premerge setting of the merge tool. Premerge is enabled "
@@ -26927,8 +31221,9 @@
 "マージツールの設定詳細に関しては、 hgrc(5) における merge-tools や\n"
 "ui セクションを参照してください。 (※ 訳注: :hg:`help config` でも参照可能)\n"
 
-msgid ""
-"Some Mercurial commands produce a lot of output, and Mercurial will\n"
+#, fuzzy
+msgid ""
+"Some Mercurial commands can produce a lot of output, and Mercurial will\n"
 "attempt to use a pager to make those commands more pleasant."
 msgstr ""
 "Mercurial のコマンドには、 大量の情報を出力するものがありますが、\n"
@@ -26944,16 +31239,31 @@
 "  [pager]\n"
 "  pager = less -FRX"
 
-msgid ""
-"If no pager is set, the pager extensions uses the environment variable\n"
-"$PAGER. If neither pager.pager, nor $PAGER is set, a default pager\n"
-"will be used, typically `more`."
+#, fuzzy
+msgid ""
+"If no pager is set in the user or repository configuration, Mercurial uses "
+"the\n"
+"environment variable $PAGER. If $PAGER is not set, pager.pager from the "
+"default\n"
+"or system configuration is used. If none of these are set, a default pager "
+"will\n"
+"be used, typically `less` on Unix and `more` on Windows."
 msgstr ""
 "上記設定が無い場合、 Mercurial は PAGER 環境変数を参照します。\n"
 "どちらも未設定の場合、 Mercurial はデフォルトのページャを使用します\n"
 "(通常は `more` コマンド)。"
 
 msgid ""
+"  On Windows, `more` is not color aware, so using it effectively disables "
+"color.\n"
+"  MSYS and Cygwin shells provide `less` as a pager, which can be configured "
+"to\n"
+"  support ANSI color codes.  See :hg:`help config.color.pagermode` to "
+"configure\n"
+"  the color mode when invoking a pager."
+msgstr ""
+
+msgid ""
 "You can disable the pager for certain commands by adding them to the\n"
 "pager.ignore list::"
 msgstr ""
@@ -26975,18 +31285,20 @@
 "ページャ使用を抑止したい場合、 個人の設定ファイル中で、\n"
 "その旨を明記してください。"
 
+#, fuzzy
 msgid ""
 "To control whether the pager is used at all for an individual command,\n"
-"you can use --pager=<value>::"
+"you can use --pager=<value>:"
 msgstr ""
 "--pager=<value> を指定することで、 ページャの使用を、コマンド実行の都度、\n"
 "明示することができます::"
 
+#, fuzzy
 msgid ""
 "  - use as needed: `auto`.\n"
 "  - require the pager: `yes` or `on`.\n"
 "  - suppress the pager: `no` or `off` (any unrecognized value\n"
-"  will also work)."
+"    will also work)."
 msgstr ""
 "  - 必要に応じて使う: `auto`\n"
 "  - 使用する: `yes` または `on`\n"
@@ -26996,11 +31308,9 @@
 msgstr "ページャ使用を全面的に抑止する場合は、 以下のように設定します::"
 
 msgid ""
-"  [pager]\n"
-"  enable = false"
-msgstr ""
-"  [pager]\n"
-"  enable = false"
+"  [ui]\n"
+"  paginate = never"
+msgstr ""
 
 msgid "which will prevent the pager from running.\n"
 msgstr "この設定により、 ページャ使用は完全に抑止されます。\n"
@@ -27130,12 +31440,14 @@
 msgid "Glob examples::"
 msgstr "ワイルドカード指定例::"
 
+#, fuzzy
 msgid ""
 "  glob:*.c       any name ending in \".c\" in the current directory\n"
 "  *.c            any name ending in \".c\" in the current directory\n"
 "  **.c           any name ending in \".c\" in any subdirectory of the\n"
 "                 current directory including itself.\n"
-"  foo/*          any file in directory foo plus all its subdirectories,\n"
+"  foo/*          any file in directory foo\n"
+"  foo/**         any file in directory foo plus all its subdirectories,\n"
 "                 recursively\n"
 "  foo/*.c        any name ending in \".c\" in the directory foo\n"
 "  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
@@ -27250,8 +31562,9 @@
 "必要であれば :hg:`phase` コマンドによる手動でのフェーズ変更も可能です。\n"
 "実行例に関しては :hg:`help -v phase` を参照してください。"
 
-msgid ""
-"To make yours commits secret by default, put this in your\n"
+#, fuzzy
+msgid ""
+"To make your commits secret by default, put this in your\n"
 "configuration file::"
 msgstr ""
 "以下の記述を設定ファイルに追加することで、\n"
@@ -27362,7 +31675,8 @@
 msgid "     hg phase --force --draft ."
 msgstr "     hg phase --force --draft ."
 
-msgid " - show a list of changeset revision and phase::"
+#, fuzzy
+msgid " - show a list of changeset revisions and each corresponding phase::"
 msgstr " - リビジョン番号とフェーズを表示::"
 
 msgid "     hg log --template \"{rev} {phase}\\n\""
@@ -27566,9 +31880,11 @@
 "  n には 0 1 または 2 を指定可能。\n"
 "  n == 0 ならリビジョン自身、 n == 1 なら第1親、 n == 2 なら第2親。"
 
+#, fuzzy
 msgid ""
 "``x~n``\n"
-"  The nth first ancestor of x; ``x~0`` is x; ``x~3`` is ``x^^^``."
+"  The nth first ancestor of x; ``x~0`` is x; ``x~3`` is ``x^^^``.\n"
+"  For n < 0, the nth unambiguous descendent of x."
 msgstr ""
 "``x~n``\n"
 "  リビジョン群 x 中の各リビジョンの、 第1親側の n 番目の祖先。\n"
@@ -27600,12 +31916,12 @@
 "    issue(a1) = grep(r'\\bissue[ :]?' ## a1 ## r'\\b|\\bbug\\(' ## a1 ## "
 "r'\\)')"
 
-msgid ""
-"    ``issue(1234)`` is equivalent to\n"
-"    ``grep(r'\\bissue[ :]?1234\\b|\\bbug\\(1234\\)')``\n"
-"    in this case. This matches against all of \"issue 1234\", "
-"\"issue:1234\",\n"
-"    \"issue1234\" and \"bug(1234)\"."
+#, fuzzy
+msgid ""
+"  ``issue(1234)`` is equivalent to\n"
+"  ``grep(r'\\bissue[ :]?1234\\b|\\bbug\\(1234\\)')``\n"
+"  in this case. This matches against all of \"issue 1234\", \"issue:1234\",\n"
+"  \"issue1234\" and \"bug(1234)\"."
 msgstr ""
 "    上記の別名が定義されている場合、 ``issue(1234)`` という記述は\n"
 "    ``grep(r'\\bissue[ :]?1234\\b|\\bbug\\(1234\\)')`` と等価です。\n"
@@ -27653,9 +31969,10 @@
 "そのような述語の合致判定で、 文字大小を無視したい場合は、 ``(?i)``\n"
 "で始まる正規表現を使ってください。"
 
-msgid ""
-"    ``tag(r're:(?i)release')`` matches \"release\" or \"RELEASE\" or "
-"\"Release\", etc"
+#, fuzzy
+msgid ""
+"For example, ``tag(r're:(?i)release')`` matches \"release\" or \"RELEASE\"\n"
+"or \"Release\", etc."
 msgstr ""
 "    ``tag(r're:(?i)release')``\n"
 "\n"
@@ -27784,8 +32101,10 @@
 msgstr ""
 "    hg log -r \"(keyword(bug) or keyword(issue)) and not ancestors(tag())\""
 
-msgid ""
-"- Update to commit that bookmark @ is pointing too, without activating the\n"
+#, fuzzy
+msgid ""
+"- Update to the commit that bookmark @ is pointing to, without activating "
+"the\n"
 "  bookmark (this works because the last revision of the revset is used)::"
 msgstr ""
 "- ブックマーク @ 参照先に更新しつつ、 ブックマークのアクティブ化を回避\n"
@@ -27968,6 +32287,50 @@
 "    (※ 訳注: 例えば largefiles 無効化は、 リポジトリアクセスを阻害します)\n"
 "    等に対して、 予期せぬ影響を生じ得る点に、 留意してください。"
 
+#, fuzzy
+msgid ""
+"Command-line Flags\n"
+"=================="
+msgstr ""
+"コマンドと URL\n"
+"=============="
+
+msgid ""
+"Mercurial's default command-line parser is designed for humans, and is not\n"
+"robust against malicious input. For instance, you can start a debugger by\n"
+"passing ``--debugger`` as an option value::"
+msgstr ""
+
+msgid "    $ REV=--debugger sh -c 'hg log -r \"$REV\"'"
+msgstr ""
+
+msgid ""
+"This happens because several command-line flags need to be scanned without\n"
+"using a concrete command table, which may be modified while loading "
+"repository\n"
+"settings and extensions."
+msgstr ""
+
+msgid ""
+"Since Mercurial 4.4.2, the parsing of such flags may be restricted by "
+"setting\n"
+"``HGPLAIN=+strictflags``. When this feature is enabled, all early options\n"
+"(e.g. ``-R/--repository``, ``--cwd``, ``--config``) must be specified first\n"
+"amongst the other global options, and cannot be injected to an arbitrary\n"
+"location::"
+msgstr ""
+
+msgid "    $ HGPLAIN=+strictflags hg -R \"$REPO\" log -r \"$REV\""
+msgstr ""
+
+msgid ""
+"In earlier Mercurial versions where ``+strictflags`` isn't available, you\n"
+"can mitigate the issue by concatenating an option value with its flag::"
+msgstr ""
+
+msgid "    $ hg log -r\"$REV\" --keyword=\"$KEYWORD\""
+msgstr ""
+
 msgid ""
 "Consuming Command Output\n"
 "========================"
@@ -28372,8 +32735,9 @@
 ":archive: -S/--subrepos 指定が無い限り、 アーカイブの作成は、\n"
 "    再帰的には実施されません。"
 
-msgid ""
-":cat: cat currently only handles exact file matches in subrepos.\n"
+#, fuzzy
+msgid ""
+":cat: Git subrepositories only support exact file matches.\n"
 "    Subversion subrepositories are currently ignored."
 msgstr ""
 ":cat: 現状では、 サブリポジトリ中のファイルと厳密一致した場合のみ、\n"
@@ -28678,7 +33042,8 @@
 "  乗算用の *\n"
 "  除算用の / (除算結果は、 マイナス無限大方向の整数値に丸められます)"
 
-msgid "Division fulfils the law x = x / y + mod(x, y)."
+#, fuzzy
+msgid "Division fulfills the law x = x / y + mod(x, y)."
 msgstr "除算結果は x = x / y + mod(x, y) を満たします。"
 
 msgid ""
@@ -28698,6 +33063,16 @@
 "テンプレートとしての解釈を抑止する場合は、 ``\\{`` で開始するか、\n"
 "文字列指定の冒頭に ``r`` を付けて下さい (例: ``r'...'``)"
 
+msgid "The dot operator can be used as a shorthand for accessing a sub item:"
+msgstr ""
+
+msgid ""
+"- ``expr.member`` is roughly equivalent to ``expr % '{member}'`` if "
+"``expr``\n"
+"  returns a non-list/dict. The returned value is not stringified.\n"
+"- ``dict.key`` is identical to ``get(dict, 'key')``."
+msgstr ""
+
 msgid ""
 "New keywords and functions can be defined in the ``templatealias`` section "
 "of\n"
@@ -28751,6 +33126,34 @@
 msgid "  $ hg log -r . -Tnodedate"
 msgstr "  $ hg log -r . -Tnodedate"
 
+msgid ""
+"A template defined in ``templates`` section can also be referenced from\n"
+"another template::"
+msgstr ""
+
+#, fuzzy
+msgid "  $ hg log -r . -T \"{rev} {nodedate}\""
+msgstr "  $ hg log -r . -Tnodedate"
+
+msgid ""
+"but be aware that the keywords cannot be overridden by templates. For "
+"example,\n"
+"a template defined as ``templates.rev`` cannot be referenced as ``{rev}``."
+msgstr ""
+
+msgid ""
+"A template defined in ``templates`` section may have sub templates which\n"
+"are inserted before/after/between items::"
+msgstr ""
+
+msgid ""
+"  [templates]\n"
+"  myjson = ' {dict(rev, node|short)|json}'\n"
+"  myjson:docheader = '\\{\\n'\n"
+"  myjson:docfooter = '\\n}\\n'\n"
+"  myjson:separator = ',\\n'"
+msgstr ""
+
 msgid "Some sample command line templates:"
 msgstr "コマンドラインでのテンプレート指定例:"
 
@@ -28951,9 +33354,10 @@
 msgid "Some notes about using SSH with Mercurial:"
 msgstr "Mercurial と SSH を併用する場合の注意点:"
 
+#, fuzzy
 msgid ""
 "- SSH requires an accessible shell account on the destination machine\n"
-"  and a copy of hg in the remote path or specified with as remotecmd.\n"
+"  and a copy of hg in the remote path or specified with remotecmd.\n"
 "- path is relative to the remote user's home directory by default. Use\n"
 "  an extra slash at the start of a path to specify an absolute path::"
 msgstr ""
@@ -29134,11 +33538,15 @@
 msgid "(activating bookmark %s)\n"
 msgstr "(ブックマーク %s をアクティブ化中)\n"
 
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to "
+#, python-format
+msgid "aborting the merge, updating back to %s\n"
+msgstr "マージを中断し、 作業領域を %s へと戻します\n"
+
+msgid ""
+"use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to "
 "abandon\n"
 msgstr ""
-"'hg resolve' で再度衝突解消するか、 'hg up -C .' で変更破棄してください\n"
+"'hg resolve' で衝突解消するか 'hg merge --abort' で変更破棄してください\n"
 
 msgid "(branch merge, don't forget to commit)\n"
 msgstr "(マージ結果の commit を忘れずに)\n"
@@ -29155,10 +33563,6 @@
 msgstr "http://%s%s/%s で待ち受け開始(バインド先は %s:%d)\n"
 
 #, python-format
-msgid "config file %s not found!"
-msgstr "設定ファイル %s が見つかりません!"
-
-#, python-format
 msgid "error reading %s/.hg/hgrc: %s\n"
 msgstr "%s/.hg/hgrc の読み込みに失敗: %s\n"
 
@@ -29166,6 +33570,10 @@
 msgid "error accessing repository at %s\n"
 msgstr "リポジトリ %s へのアクセス失敗\n"
 
+#, python-format
+msgid "config file %s not found!"
+msgstr "設定ファイル %s が見つかりません!"
+
 msgid "SSL support is unavailable"
 msgstr "SSL サポートが利用できません"
 
@@ -29519,6 +33927,15 @@
 msgid "    Show changeset information for each line in a file."
 msgstr "    ファイル各行の由来リビジョンの表示。"
 
+msgid ""
+"    The ``ignorews``, ``ignorewsamount``, ``ignorewseol``, and\n"
+"    ``ignoreblanklines`` query string arguments have the same meaning as\n"
+"    their ``[annotate]`` config equivalents. It uses the hgrc boolean\n"
+"    parsing logic to interpret the value. e.g. ``0`` and ``false`` are\n"
+"    false and ``1`` and ``true`` are true. If not defined, the server\n"
+"    default settings are used."
+msgstr ""
+
 msgid "    The ``fileannotate`` template is rendered."
 msgstr "    結果出力には ``fileannotate`` テンプレートを使用します。"
 
@@ -29602,7 +34019,10 @@
 "    representations of repository topology."
 msgstr "    この機能は、 履歴の木構造をグラフで描画します。"
 
-msgid "    The ``revision`` URL parameter controls the starting changeset."
+#, fuzzy
+msgid ""
+"    The ``revision`` URL parameter controls the starting changeset. If it's\n"
+"    absent, the default is ``tip``."
 msgstr "    URL パス要素 ``{revision}`` で、表示開始リビジョンを指定できます。"
 
 msgid ""
@@ -29612,6 +34032,13 @@
 msgstr ""
 "    クエリ文字列引数 ``revcount`` で、 読み込みの最大数を指定できます。"
 
+msgid ""
+"    The ``graphtop`` query string argument can specify the starting "
+"changeset\n"
+"    for producing ``jsdata`` variable that is used for rendering graph in\n"
+"    JavaScript. By default it has the same value as ``revision``."
+msgstr ""
+
 msgid "    This handler will render the ``graph`` template."
 msgstr "    結果出力には ``graph`` テンプレートを使用します。"
 
@@ -29648,6 +34075,9 @@
 msgid " %d files changed, %d insertions(+), %d deletions(-)\n"
 msgstr " 更新ファイル数 %d、 追加 %d 行(+)、 削除 %d 行(-)\n"
 
+msgid "not displayable without template"
+msgstr "テンプレート指定なしでは表示できません"
+
 #, python-format
 msgid "websub: invalid pattern for %s: %s\n"
 msgstr "websub: %s のパターンが不正です: %s\n"
@@ -29756,20 +34186,6 @@
 msgid "HTTP request error (%s)"
 msgstr "HTTP 要求エラー (%s)"
 
-msgid ""
-"this may be an intermittent failure; if the error persists, consider "
-"contacting the network or server operator"
-msgstr ""
-"ネットワーク経路の切断が主要因です。同様のエラーが継続的に発生する場合は、"
-"ネットワークあるいはサーバの管理者に問い合わせてください"
-
-#, python-format
-msgid "unsupported URL component: \"%s\""
-msgstr "URL 要素 \"%s\" は未サポートです"
-
-msgid "operation not supported over http"
-msgstr "http リポジトリでは未サポートの機能です"
-
 #, python-format
 msgid "real URL is %s\n"
 msgstr "実際の URL: %s\n"
@@ -29786,6 +34202,9 @@
 "%s\n"
 "---%%<---\n"
 
+msgid "unexpected CBOR response from server"
+msgstr "想定外の CBOR サーバ応答"
+
 #, python-format
 msgid "'%s' sent a broken Content-Type header (%s)"
 msgstr "'%s' は壊れた Content-Type ヘッダ(%s)を送信しました"
@@ -29798,16 +34217,50 @@
 msgid "push failed: %s"
 msgstr "履歴反映に失敗: %s"
 
-msgid "Python support for SSL and HTTPS is not installed"
-msgstr "SSL と HTTPS をサポートした Python がインストールされていません"
+#, python-format
+msgid "cannot make request requiring multiple permissions: %s"
+msgstr ""
+
+#, fuzzy
+msgid "unfulfilled command response"
+msgstr "入力が不正です\n"
+
+#, python-format
+msgid ""
+"cannot %s; client or remote repository does not support the %r capability"
+msgstr "%s ができません。 クライアントまたは連携先は機能 %r が未サポートです"
+
+msgid "error decoding CBOR from remote server"
+msgstr "連携先サーバからの CBOR 応答が復号できません"
+
+msgid "try again and consider contacting the server operator"
+msgstr "再実行するなり連携先リポジトリの管理者に連絡するなりしてください"
+
+#, python-format
+msgid "unexpected response type from server: %s"
+msgstr "連携先サーバからの想定外の応答種別: %s"
+
+#, python-format
+msgid "unsupported URL component: \"%s\""
+msgstr "URL 要素 \"%s\" は未サポートです"
 
 msgid "cannot create new http repository"
 msgstr "http リポジトリの新規作成はできません"
 
+msgid "Python support for SSL and HTTPS is not installed"
+msgstr "SSL と HTTPS をサポートした Python がインストールされていません"
+
 msgid "(falling back to static-http)\n"
 msgstr "(static-http との連携に切り替え中)\n"
 
 #, python-format
+msgid "bad HTTP status line: %s"
+msgstr "不正な HTTP ステータス行: %s"
+
+msgid "cannot perform stream clone against local peer"
+msgstr ""
+
+#, python-format
 msgid "repository %s not found"
 msgstr "リポジトリ '%s' が見つかりません"
 
@@ -29819,9 +34272,10 @@
 msgid ".hg/sharedpath points to nonexistent directory %s"
 msgstr ".hg/sharedpath の参照先 %s は存在しません"
 
-#, python-format
-msgid "obsolete feature not enabled but %i markers found!\n"
-msgstr "obsolete 機能は無効ですが、 %i 個の廃止情報マーカが存在します!\n"
+msgid ""
+"repository is using sparse feature but sparse is not enabled; enable the "
+"\"sparse\" extensions to access"
+msgstr ""
 
 #, python-format
 msgid "warning: ignoring unknown working parent %s!\n"
@@ -29843,12 +34297,12 @@
 msgstr "利用可能なロールバック情報がありません\n"
 
 #, python-format
-msgid "repository tip rolled back to revision %s (undo %s: %s)\n"
-msgstr "tip をリビジョン %s へと巻き戻し(%s %s の取り消し)\n"
-
-#, python-format
-msgid "repository tip rolled back to revision %s (undo %s)\n"
-msgstr "tip をリビジョン %s へと巻き戻し(%s の取り消し)\n"
+msgid "repository tip rolled back to revision %d (undo %s: %s)\n"
+msgstr "tip をリビジョン %d へと巻き戻し (%s %s の取り消し)\n"
+
+#, python-format
+msgid "repository tip rolled back to revision %d (undo %s)\n"
+msgstr "tip をリビジョン %d へと巻き戻し (%s の取り消し)\n"
 
 msgid "rolling back unknown transaction\n"
 msgstr "未知のトランザクションの巻き戻し\n"
@@ -29872,10 +34326,6 @@
 msgstr "%d が作業領域の親リビジョンになりました\n"
 
 #, python-format
-msgid "waiting for lock on %s held by process %r on host %r\n"
-msgstr "%s のロック (プロセス %r/ホスト %s が保持) の解放を待っています\n"
-
-#, python-format
 msgid "repository %s"
 msgstr "リポジトリ '%s'"
 
@@ -29899,16 +34349,6 @@
 msgid "cannot partially commit a merge (do not specify files or patterns)"
 msgstr "マージの部分コミットはできません(ファイル名/パターンは指定できません)"
 
-#, 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 "cannot commit merge with missing files"
 msgstr "管理対象ファイルが不在の状況では、マージ結果をコミットできません"
 
@@ -29948,6 +34388,43 @@
 msgstr ""
 "\"hg debuginstall\" で表示される利用可能圧縮エンジン一覧を確認してください"
 
+#, python-format
+msgid "waiting for lock on %s held by process %r on host %r\n"
+msgstr "%s のロック (プロセス %r/ホスト %s が保持) の解放を待っています\n"
+
+#, python-format
+msgid "got lock after %d seconds\n"
+msgstr "%d 秒遅れでロックを獲得\n"
+
+msgid "limit must be a positive integer"
+msgstr "制限には正数を指定してください"
+
+msgid "limit must be positive"
+msgstr "制限には正数を指定してください"
+
+#, python-format
+msgid "warning: %s not inside relative root %s\n"
+msgstr "警告: %s は相対ルート %s の範囲外です\n"
+
+msgid "description:\n"
+msgstr "説明:\n"
+
+#, python-format
+msgid "malformatted line-range pattern %s"
+msgstr "不正な行範囲指定 %s"
+
+#, python-format
+msgid "invalid line range for %s"
+msgstr "不正な行範囲指定 %s"
+
+#, python-format
+msgid "line range pattern '%s' must match exactly one file"
+msgstr "行範囲指定 '%s' は単一ファイルにのみ合致する必要があります"
+
+#, python-format
+msgid "-G/--graph option is incompatible with --%s"
+msgstr "-G/--graph と --%s は併用できません"
+
 msgid "can't use TLS: Python SSL support not installed"
 msgstr "TLS を利用できません: Python SSL サポートがインストールされていません"
 
@@ -30010,9 +34487,6 @@
 msgstr ""
 "フラットなマニフェストではマニフェストディレクトリ '%s' を指定できません"
 
-msgid "fileset expression with no context"
-msgstr "対象リビジョン指定なしの fileset 記述"
-
 #, python-format
 msgid "unable to read file list (%s)"
 msgstr "一覧ファイル(%s)が読み込めません"
@@ -30062,6 +34536,14 @@
 msgstr "%s.%s は無効です (指定値: '%s' 指定可能値: %s)"
 
 #, python-format
+msgid "%s: untracked file conflicts with directory\n"
+msgstr "%s: 管理対象外ファイルが管理対象ファイルのディレクトリ名と衝突\n"
+
+#, python-format
+msgid "%s: untracked directory conflicts with file\n"
+msgstr "%s: 管理対象外ディレクトリが管理対象ファイル名と衝突\n"
+
+#, python-format
 msgid "%s: untracked file differs\n"
 msgstr "%s: 管理対象外ファイルに差分あり\n"
 
@@ -30074,6 +34556,10 @@
 msgstr "%s: 管理対象外ファイルの内容を書き換え\n"
 
 #, python-format
+msgid "%s: replacing untracked files in directory\n"
+msgstr "%s: ディレクトリ配下の管理対象外ファイルの内容を書き換え\n"
+
+#, python-format
 msgid "case-folding collision between %s and %s"
 msgstr "ファイル名の文字大小の問題で %s と %s が衝突します"
 
@@ -30081,6 +34567,13 @@
 msgid "case-folding collision between %s and directory of %s"
 msgstr "ファイル名の文字大小の問題で %s とディレクトリ %s が衝突します"
 
+#, python-format
+msgid "%s: is both a file and a directory\n"
+msgstr "%s: ファイル名/ディレクトリ名の両方で使用\n"
+
+msgid "destination manifest contains path conflicts"
+msgstr "指定リビジョンの管理対象ファイルにパスの衝突が含まれます"
+
 msgid "resolving manifests\n"
 msgstr "管理ファイル一覧の解決中\n"
 
@@ -30146,6 +34639,22 @@
 msgstr "更新中"
 
 #, python-format
+msgid "%s: path conflict - a file or link has the same name as a directory\n"
+msgstr "%s: パス衝突 - ファイル名/リンク名がディレクトリ名と一致\n"
+
+#, python-format
+msgid "the local file has been renamed to %s\n"
+msgstr ""
+
+#, python-format
+msgid "the remote file has been renamed to %s\n"
+msgstr ""
+
+#, python-format
+msgid "resolve manually then use 'hg resolve --mark %s'\n"
+msgstr "手動での衝突解消後、'hg resolve --mark %s' を実施してください\n"
+
+#, python-format
 msgid "getting %s to %s\n"
 msgstr "%s から %s に複製中\n"
 
@@ -30193,6 +34702,11 @@
 msgid "note: possible conflict - %s was deleted and renamed to:\n"
 msgstr "備考: 衝突の可能性 - 削除と平行して %s への改名があります:\n"
 
+msgid ""
+"(warning: large working directory being used without fsmonitor enabled; "
+"enable fsmonitor to improve performance; see \"hg help -e fsmonitor\")\n"
+msgstr ""
+
 msgid "unresolved merge conflicts (see 'hg help resolve')"
 msgstr "未解消の衝突が残っています ('hg help resolve' を参照)"
 
@@ -30202,6 +34716,21 @@
 msgid "run \"hg resolve --all\" to resolve"
 msgstr "衝突解消には \"hg resolve --all\" を実行してください"
 
+#, fuzzy
+msgid "invalid file pattern"
+msgstr "不正パターン"
+
+#, fuzzy, python-format
+msgid "reserved character: %s"
+msgstr "想定外の revspec フォーマット文字 %s"
+
+#, fuzzy, python-format
+msgid "unsupported file pattern: %s"
+msgstr "未サポートなパーサ状態です: %s"
+
+msgid "paths must be prefixed with \"path:\""
+msgstr ""
+
 msgid "Attention:"
 msgstr "注意:"
 
@@ -30229,20 +34758,36 @@
 msgid "Warning!"
 msgstr "警告!"
 
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "bookmark:    %s\n"
-msgstr "ブックマーク: %s\n"
-
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid "tag:         %s\n"
-msgstr "タグ:         %s\n"
-
 #, python-format
 msgid "no such name: %s"
 msgstr "指定の名前は存在しません: %s"
 
+msgid "narrowspec includes section must appear at most once, before excludes"
+msgstr ""
+
+msgid "narrowspec excludes section must appear at most once"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "Invalid narrowspec pattern line: \"%s\""
+msgstr "不正なマッチングパターン: %s"
+
+#, python-format
+msgid "Invalid key \"%s\" in server response"
+msgstr ""
+
+msgid "newlines are not allowed in narrowspec paths"
+msgstr ""
+
+msgid "\".\" and \"..\" are not allowed in narrowspec paths"
+msgstr ""
+
+msgid ""
+"'createmarkers' obsolete option must be enabled if other obsolete options "
+"are enabled"
+msgstr ""
+"廃止情報機能の各オプションの有効化には 'createmarkers' の有効化が必須です"
+
 #, python-format
 msgid ""
 "parsing obsolete marker: metadata is too short, %d bytes expected, got %d"
@@ -30266,6 +34811,10 @@
 msgstr "廃止マーカの作成機能は無効化されています"
 
 #, python-format
+msgid "obsolete feature not enabled but %i markers found!\n"
+msgstr "obsolete 機能は無効ですが、 %i 個の廃止情報マーカが存在します!\n"
+
+#, python-format
 msgid "unknown key: %r"
 msgstr "未知のキーです: %r"
 
@@ -30281,11 +34830,25 @@
 msgid "changeset %s cannot obsolete itself"
 msgstr "リビジョン %s をそれ自身で廃止することはできません"
 
-msgid ""
-"'createmarkers' obsolete option must be enabled if other obsolete options "
-"are enabled"
-msgstr ""
-"廃止情報機能の各オプションの有効化には 'createmarkers' の有効化が必須です"
+#, fuzzy, python-format
+msgid "hidden revision '%s' is pruned"
+msgstr "'%s' は不可視リビジョンです"
+
+#, fuzzy, python-format
+msgid "hidden revision '%s' has diverged"
+msgstr "'%s' は不可視リビジョンです"
+
+#, fuzzy, python-format
+msgid "hidden revision '%s' was rewritten as: %s"
+msgstr "'%s' は不可視リビジョンです"
+
+#, fuzzy, python-format
+msgid "hidden revision '%s' was split as: %s"
+msgstr "'%s' は不可視リビジョンです"
+
+#, python-format
+msgid "hidden revision '%s' was split as: %s and %d more"
+msgstr ""
 
 #, python-format
 msgid "unexpected token: %s"
@@ -30409,6 +34972,10 @@
 msgid "%d hunks, %d lines changed\n"
 msgstr "%d 個の差分、 %d 行の変更\n"
 
+#, fuzzy, python-format
+msgid "apply change %d/%d to '%s'?"
+msgstr "この変更 (%d 件目 / %d 件中) を '%s' から破棄しますか?"
+
 #, python-format
 msgid "discard change %d/%d to '%s'?"
 msgstr "この変更 (%d 件目 / %d 件中) を '%s' から破棄しますか?"
@@ -30417,9 +34984,9 @@
 msgid "record change %d/%d to '%s'?"
 msgstr "この変更 (%d 件目 / %d 件中) を '%s' に記録しますか?"
 
-#, python-format
-msgid "revert change %d/%d to '%s'?"
-msgstr "この変更 (%d 件目 / %d 件中) を '%s' に記録しますか?"
+#, fuzzy, python-format
+msgid "apply this change to '%s'?"
+msgstr "この変更を '%s' から破棄しますか?"
 
 #, python-format
 msgid "discard this change to '%s'?"
@@ -30429,9 +34996,31 @@
 msgid "record this change to '%s'?"
 msgstr "この変更を '%s' に記録しますか?"
 
-#, python-format
-msgid "revert this change to '%s'?"
-msgstr "この変更を '%s' に記録しますか?"
+#, fuzzy
+msgid ""
+"[Ynesfdaq?]$$ &Yes, apply this change$$ &No, skip this change$$ &Edit this "
+"change manually$$ &Skip remaining changes to this file$$ Apply remaining "
+"changes to this &file$$ &Done, skip remaining changes and files$$ Apply &all "
+"changes to all remaining files$$ &Quit, applying no changes$$ &? (display "
+"help)"
+msgstr ""
+"[Ynesfdaq?]$$ この変更を記録(&yes)$$ この変更を無視(&no)$$ この変更を手動で編"
+"集(&edit)$$ 同一ファイルの以後の全ての変更を無視(&skip)$$ 同一ファイル(&file)"
+"の以後の全ての変更を記録$$ 以後の全ての変更を無視=記録作業を完了(&done)$$ 以"
+"後の全て(&all)の変更を記録$$ 変更の記録自体を中止(&quit)$$ ヘルプ表示(&?)"
+
+#, fuzzy
+msgid ""
+"[Ynesfdaq?]$$ &Yes, discard this change$$ &No, skip this change$$ &Edit this "
+"change manually$$ &Skip remaining changes to this file$$ Discard remaining "
+"changes to this &file$$ &Done, skip remaining changes and files$$ Discard "
+"&all changes to all remaining files$$ &Quit, discarding no changes$$ &? "
+"(display help)"
+msgstr ""
+"[Ynesfdaq?]$$ この変更を記録(&yes)$$ この変更を無視(&no)$$ この変更を手動で編"
+"集(&edit)$$ 同一ファイルの以後の全ての変更を無視(&skip)$$ 同一ファイル(&file)"
+"の以後の全ての変更を記録$$ 以後の全ての変更を無視=記録作業を完了(&done)$$ 以"
+"後の全て(&all)の変更を記録$$ 変更の記録自体を中止(&quit)$$ ヘルプ表示(&?)"
 
 msgid ""
 "[Ynesfdaq?]$$ &Yes, record this change$$ &No, skip this change$$ &Edit this "
@@ -30480,6 +35069,10 @@
 msgid "bad hunk #%d"
 msgstr "不正な差分: #%d"
 
+#, fuzzy, python-format
+msgid "bad hunk #%d: %s"
+msgstr "不正な差分: #%d"
+
 #, python-format
 msgid "bad hunk #%d old text line %d"
 msgstr "不正な差分: #%d 元テキスト %d 行目"
@@ -30565,9 +35158,8 @@
 msgid "%s not under root '%s'"
 msgstr "%s はルートディレクトリ '%s' の配下にはありません"
 
-#, python-format
-msgid "cannot %s; remote repository does not support the %r capability"
-msgstr "%s ができません。 連携先は機能 %r が未サポートです"
+msgid "bad phase-heads stream"
+msgstr ""
 
 msgid "cannot lookup negative revision"
 msgstr "負値のリビジョン指定は無効です"
@@ -30588,12 +35180,8 @@
 msgstr "phases.new-commit: 不正なフェーズ名です ('%s')"
 
 #, python-format
-msgid "exited with status %d"
-msgstr "終了コード %d で終了しました"
-
-#, python-format
-msgid "killed by signal %d"
-msgstr "シグナル %d で強制終了されました"
+msgid "illegal ssh hostname or username starting with -: %s"
+msgstr "SSH 連携のホスト名またはユーザ名が - で始まる不正なものです: %s"
 
 #, python-format
 msgid "unrecognized profiling format '%s' - Ignored\n"
@@ -30663,13 +35251,6 @@
 msgid "saved backup bundle to %s\n"
 msgstr "バックアップのバンドルを %s に保存\n"
 
-msgid "adding branch\n"
-msgstr "ブランチを追加中\n"
-
-#, python-format
-msgid "error removing %s: %s\n"
-msgstr "ファイル %s の破棄に失敗: %s\n"
-
 #, python-format
 msgid "strip failed, backup bundle stored in '%s'\n"
 msgstr "リビジョン除外に失敗: バックアップバンドルを '%s' に保存\n"
@@ -30683,6 +35264,10 @@
 "(fix the problem, then recover the changesets with \"hg unbundle '%s'\")\n"
 msgstr "(問題解決後に \"hg unbundle '%s'\" で履歴を復旧してください)\n"
 
+#, python-format
+msgid "warning: orphaned descendants detected, not stripping %s\n"
+msgstr "警告: 孤立するリビジョンがあるため、破棄しません: %s\n"
+
 msgid "(not rebuilding fncache because repository does not support fncache)\n"
 msgstr "(fncache 未サポートのリポジトリのため、fncache の再構築は省略)\n"
 
@@ -30697,6 +35282,10 @@
 msgstr "fncache は最新の状態です\n"
 
 #, python-format
+msgid "cannot %s; remote repository does not support the %r capability"
+msgstr "%s ができません。 連携先は機能 %r が未サポートです"
+
+#, python-format
 msgid "cannot register processor on unknown flag '%#x'."
 msgstr ""
 
@@ -30708,8 +35297,12 @@
 msgid "cannot register multiple processors on flag '%#x'."
 msgstr ""
 
-msgid "index entry flags need RevlogNG"
-msgstr "インデックスエントリフラグは RevlogNG 対応が必要です"
+#, python-format
+msgid "node %s is not censored"
+msgstr "ノード %s は検閲対象ではありません"
+
+msgid "index entry flags need revlog version 1"
+msgstr "インデックスエントリフラグは revlog version 1 対応が必要です"
 
 #, python-format
 msgid "revlog chunk cache size %r is not greater than 0"
@@ -30719,17 +35312,13 @@
 msgid "revlog chunk cache size %r is not a power of 2"
 msgstr "revlog chunk のキャッシュサイズ %r は2の累乗ではありません"
 
-#, python-format
-msgid "index %s unknown flags %#04x for format v0"
-msgstr "インデックス %s: %#04x は未知のフラグです(フォーマット v0)"
-
-#, python-format
-msgid "index %s unknown flags %#04x for revlogng"
+#, fuzzy, python-format
+msgid "unknown flags (%#04x) in version %d revlog %s"
 msgstr "インデックス %s: %#04x は未知のフラグです(revlogng)"
 
-#, python-format
-msgid "index %s unknown format %d"
-msgstr "インデックス %s: %d は未知のフォーマットです"
+#, fuzzy, python-format
+msgid "unknown version (%d) in revlog %s"
+msgstr "未知のエンコーディング '%s' が指定されました"
 
 #, python-format
 msgid "index %s is corrupted"
@@ -30777,9 +35366,13 @@
 msgid "unknown compression type %r"
 msgstr "%r は未知の圧縮形式です"
 
-#, python-format
-msgid "node %s is not censored"
-msgstr "ノード %s は検閲対象ではありません"
+#, fuzzy, python-format
+msgid "%s: attempt to add null revision"
+msgstr "null リビジョンにはタグ付けできません"
+
+#, fuzzy, python-format
+msgid "%s: attempt to add wdir revision"
+msgstr "%s は有効なリビジョンではありません"
 
 #, python-format
 msgid "value for deltareuse invalid: %s"
@@ -30794,6 +35387,22 @@
 msgid "destination revlog has filtered revisions"
 msgstr ""
 
+#, fuzzy
+msgid "empty string is not a valid revision"
+msgstr "%s は有効なリビジョンではありません"
+
+#, fuzzy
+msgid "can't use a relation in this context"
+msgstr "ここではリストを使用できません"
+
+#, fuzzy
+msgid "relation subscript must be an integer"
+msgstr "CPU 数には数値を指定してください"
+
+#, fuzzy
+msgid "can't use a subscript in this context"
+msgstr "ここではリストを使用できません"
+
 msgid "see hg help \"revsets.x or y\""
 msgstr "hg help \"revsets.x or y\" を参照してください"
 
@@ -30836,13 +35445,38 @@
 "    1つのリビジョンだけが指定された場合、\n"
 "    そのリビジョン自身が『共通の祖先』とみなされます。"
 
-msgid ""
-"``ancestors(set)``\n"
-"    Changesets that are ancestors of a changeset in set."
+#, fuzzy
+msgid ""
+"``ancestors(set[, depth])``\n"
+"    Changesets that are ancestors of changesets in set, including the\n"
+"    given changesets themselves."
 msgstr ""
 "``ancestors(set)``\n"
 "    set 中のリビジョンに対する祖先リビジョン群。"
 
+msgid ""
+"    If depth is specified, the result only includes changesets up to\n"
+"    the specified generation."
+msgstr ""
+
+#. i18n: "ancestors" is a keyword
+#, fuzzy
+msgid "ancestors takes at least 1 argument"
+msgstr "extra には最低1つの引数が必要です"
+
+#. i18n: "ancestors" is a keyword
+#, fuzzy
+msgid "ancestors expects an integer depth"
+msgstr "word にはインデックス値を数値で指定してください"
+
+#, fuzzy
+msgid "negative depth"
+msgstr "負値のオフセットは指定できません"
+
+#, fuzzy
+msgid "revision in set has more than one child"
+msgstr "リビジョン %d は1つ以上のブランチの分岐点です"
+
 msgid "~ expects a number"
 msgstr "~ には数値を指定してください"
 
@@ -30931,21 +35565,26 @@
 msgid "branch '%s' does not exist"
 msgstr "ブランチ '%s' は存在しません"
 
-msgid ""
-"``bumped()``\n"
+#, fuzzy
+msgid ""
+"``phasedivergent()``\n"
 "    Mutable changesets marked as successors of public changesets."
 msgstr ""
 "``bumped()``\n"
 "    public フェーズなリビジョンの後継で、 且つ改変可能なリビジョン。"
 
-msgid "    Only non-public and non-obsolete changesets can be `bumped`."
+#, fuzzy
+msgid ""
+"    Only non-public and non-obsolete changesets can be `phasedivergent`.\n"
+"    (EXPERIMENTAL)"
 msgstr ""
 "    非 public で、且つ廃止設定されていないリビジョンのみが `bumped`\n"
 "    とみなされます。"
 
-#. i18n: "bumped" is a keyword
-msgid "bumped takes no arguments"
-msgstr "bumped には引数が指定できません"
+#. i18n: "phasedivergent" is a keyword
+#, fuzzy
+msgid "phasedivergent takes no arguments"
+msgstr "divergent には引数が指定できません"
 
 msgid ""
 "``bundle()``\n"
@@ -31039,13 +35678,25 @@
 msgid "desc requires a string"
 msgstr "desc には文字列を指定してください"
 
-msgid ""
-"``descendants(set)``\n"
-"    Changesets which are descendants of changesets in set."
+#, fuzzy
+msgid ""
+"``descendants(set[, depth])``\n"
+"    Changesets which are descendants of changesets in set, including the\n"
+"    given changesets themselves."
 msgstr ""
 "``descendants(set)``\n"
 "    指定リビジョン群の子孫リビジョン群。"
 
+#. i18n: "descendants" is a keyword
+#, fuzzy
+msgid "descendants takes at least 1 argument"
+msgstr "extra には最低1つの引数が必要です"
+
+#. i18n: "descendants" is a keyword
+#, fuzzy
+msgid "descendants expects an integer depth"
+msgstr "pad() の width 引数には数値を指定してください"
+
 msgid ""
 "``destination([set])``\n"
 "    Changesets that were created by a graft, transplant or rebase "
@@ -31059,18 +35710,33 @@
 "    生成されたリビジョン群。 set 指定が省略された場合、 ``all()``\n"
 "    指定相当とみなします。"
 
-msgid ""
-"``divergent()``\n"
-"    Final successors of changesets with an alternative set of final "
-"successors."
+#, fuzzy
+msgid ""
+"``contentdivergent()``\n"
+"    Final successors of changesets with an alternative set of final\n"
+"    successors. (EXPERIMENTAL)"
 msgstr ""
 "``divergent()``\n"
 "    他の最終後継リビジョンが存在する、 最終後継リビジョン群。"
 
-#. i18n: "divergent" is a keyword
-msgid "divergent takes no arguments"
+#. i18n: "contentdivergent" is a keyword
+#, fuzzy
+msgid "contentdivergent takes no arguments"
 msgstr "divergent には引数が指定できません"
 
+#, fuzzy
+msgid ""
+"``extdata(source)``\n"
+"    Changesets in the specified extdata source. (EXPERIMENTAL)"
+msgstr ""
+"``bisect(string)``\n"
+"    探索状態に合致するリビジョン群:"
+
+#. i18n: "extdata" is a keyword
+#, fuzzy
+msgid "extdata takes at least 1 string argument"
+msgstr "extra には最低1つの引数が必要です"
+
 msgid ""
 "``extinct()``\n"
 "    Obsolete changesets with obsolete descendants only."
@@ -31151,22 +35817,15 @@
 "    limit() 記述の別名。"
 
 #, python-format
-msgid "%s takes no arguments or a pattern and an optional revset"
-msgstr "%s にはパターンと revset しか指定できません"
-
-#, python-format
 msgid "%s expected a pattern"
 msgstr "%s にはパターン文字列を指定してください"
 
-#, python-format
-msgid "%s expected one starting revision"
-msgstr "%s には開始リビジョンを指定してください"
-
-msgid ""
-"``follow([pattern[, startrev]])``\n"
+#, fuzzy
+msgid ""
+"``follow([file[, startrev]])``\n"
 "    An alias for ``::.`` (ancestors of the working directory's first "
 "parent).\n"
-"    If pattern is specified, the histories of files matching given\n"
+"    If file pattern is specified, the histories of files matching given\n"
 "    pattern in the revision given by startrev are followed, including copies."
 msgstr ""
 "``follow([pattern[, startrev]])``\n"
@@ -31207,22 +35866,27 @@
 msgid "followlines requires a line range"
 msgstr "followlines には行範囲を指定してください"
 
+#. i18n: "followlines" is a keyword
 msgid "followlines expects exactly one revision"
 msgstr "followlines に指定可能なリビジョンは1つのみです"
 
 msgid "followlines requires a pattern"
 msgstr "followlines にはパターンを指定してください"
 
+#. i18n: "followlines" is a keyword
 msgid "followlines expects exactly one file"
 msgstr "followlines に指定可能なファイルは1つのみです"
 
+#. i18n: "followlines" is a keyword
 msgid "followlines expects a line range"
 msgstr "followlines には行範囲を指定してください"
 
 msgid "line range bounds must be integers"
 msgstr "行範囲指定には整数値を使用してください"
 
-msgid "'descend' argument must be a boolean"
+#. i18n: "descend" is a keyword
+#, fuzzy
+msgid "descend argument must be a boolean"
 msgstr "descend 引数には真偽値を指定してください"
 
 msgid ""
@@ -31339,6 +36003,10 @@
 msgid "limit expects a number"
 msgstr "limit には数値を指定してください"
 
+#, fuzzy
+msgid "negative number to select"
+msgstr "負値のオフセットは指定できません"
+
 msgid "negative offset"
 msgstr "負値のオフセットは指定できません"
 
@@ -31557,6 +36225,12 @@
 msgid "secret takes no arguments"
 msgstr "secret には引数が指定できません"
 
+msgid ""
+"``stack([revs])``\n"
+"    Experimental revset for the stack of changesets or working directory\n"
+"    parent. (EXPERIMENTAL)"
+msgstr ""
+
 msgid "^ expects a number 0, 1, or 2"
 msgstr "^ には 0、 1 または 2 を指定してください"
 
@@ -31794,6 +36468,11 @@
 msgstr "subrepo にはパターン指定が必要です"
 
 msgid ""
+"``successors(set)``\n"
+"    All successors for set, including the given set themselves"
+msgstr ""
+
+msgid ""
 "``tag([name])``\n"
 "    The specified tag by name, or all tagged revisions if no name is given."
 msgstr ""
@@ -31815,17 +36494,19 @@
 msgid "the argument to tag must be a string"
 msgstr "tag には文字列を指定してください"
 
-msgid ""
-"``unstable()``\n"
-"    Non-obsolete changesets with obsolete ancestors."
+#, fuzzy
+msgid ""
+"``orphan()``\n"
+"    Non-obsolete changesets with obsolete ancestors. (EXPERIMENTAL)"
 msgstr ""
 "``unstable()``\n"
 "    祖先に廃止リビジョンを持つ、非廃止リビジョン群 (※ 訳注: 日本語訳では\n"
 "    unstable を『非永続』と訳しています)"
 
-#. i18n: "unstable" is a keyword
-msgid "unstable takes no arguments"
-msgstr "unstable には引数が指定できません"
+#. i18n: "orphan" is a keyword
+#, fuzzy
+msgid "orphan takes no arguments"
+msgstr "head には引数が指定できません"
 
 msgid ""
 "``user(string)``\n"
@@ -31834,8 +36515,9 @@
 "``user(string)``\n"
 "    文字列をユーザ名に持つリビジョン群。 合致判定は文字大小を無視。"
 
-msgid ""
-"``wdir``\n"
+#, fuzzy
+msgid ""
+"``wdir()``\n"
 "    Working directory. (EXPERIMENTAL)"
 msgstr ""
 "``wdir``\n"
@@ -31852,8 +36534,9 @@
 msgid "syntax error in revset '%s'"
 msgstr "revsets 表記 '%s' での文法エラー"
 
-msgid "not a symbol"
-msgstr "シンボル以外が指定されました"
+#, fuzzy
+msgid "can't use '::' in this context"
+msgstr "ここでは添え字値を使用できません"
 
 msgid "can't negate that"
 msgstr "負値にできません"
@@ -31865,26 +36548,67 @@
 msgid "\"##\" can't concatenate \"%s\" element"
 msgstr "\"##\" 演算子は \"%s\" 要素を結合できません"
 
+msgid "here"
+msgstr ""
+
 #, python-format
 msgid "unexpected revspec format character %s"
 msgstr "想定外の revspec フォーマット文字 %s"
 
+#, fuzzy
+msgid "incomplete revspec format character"
+msgstr "想定外の revspec フォーマット文字 %s"
+
+#, fuzzy
+msgid "missing argument for revspec"
+msgstr "引数がありません"
+
+#, fuzzy
+msgid "invalid argument for revspec"
+msgstr "引数が不正です"
+
+#, fuzzy
+msgid "too many revspec arguments specified"
+msgstr "オプション指定が過剰です"
+
+#, python-format
+msgid "cannot %s null changeset"
+msgstr "null リビジョンに対する %s 操作はできません"
+
+msgid "no changeset checked out"
+msgstr "作業領域が未更新です"
+
+#, python-format
+msgid "cannot %s while merging"
+msgstr "マージ実施中は %s 操作はできません"
+
+#, python-format
+msgid "cannot %s public changesets"
+msgstr "public フェーズのリビジョンに対する %s 操作はできません"
+
+#, python-format
+msgid "cannot %s changeset with children"
+msgstr "子孫を持つリビジョンに対する %s 操作はできません"
+
 #, python-format
 msgid "no changes found (ignored %d secret changesets)\n"
 msgstr "差分はありません (secret フェーズの %d 個のリビジョンは無視)\n"
 
 #, python-format
-msgid "timed out waiting for lock held by %s"
+msgid "timed out waiting for lock held by %r"
 msgstr "%s のロック解放待ちを断念"
 
 #, python-format
-msgid "lock held by %s"
+msgid "lock held by %r"
 msgstr "%s によるロック保持"
 
 #, python-format
 msgid "abort: %s: %s\n"
 msgstr "中止: %s: %s\n"
 
+msgid "(lock might be very busy)\n"
+msgstr "(ロック要求殺到中と思われます)\n"
+
 #, python-format
 msgid "abort: could not lock %s: %s\n"
 msgstr "中止: %s のロックに失敗: %s\n"
@@ -31910,8 +36634,8 @@
 msgid "abort: file censored %s!\n"
 msgstr "中止: 検閲対象ファイルです: %s\n"
 
-msgid "killed!\n"
-msgstr "強制終了されました!\n"
+msgid "abort: working directory revision cannot be specified\n"
+msgstr "中止: 作業領域 (wdir) は指定できません\n"
 
 msgid "(did you forget to compile extensions?)\n"
 msgstr "(エクステンションのコンパイルを忘れていませんか?)\n"
@@ -31938,6 +36662,10 @@
 msgstr "数値だけの名前は使用できません"
 
 #, python-format
+msgid "leading or trailing whitespace in name %r"
+msgstr "名称 %r の冒頭/末尾に空白文字があります"
+
+#, python-format
 msgid "ui.portablefilenames value is invalid ('%s')"
 msgstr "ui.portablefilenames 値が不正です ('%s')"
 
@@ -31945,6 +36673,17 @@
 msgid "possible case-folding collision for %s"
 msgstr "ファイル名の文字大小の問題で %s が衝突します"
 
+#, python-format
+msgid "hidden revision '%s'"
+msgstr "'%s' は不可視リビジョンです"
+
+msgid "use --hidden to access hidden revisions"
+msgstr "不可視リビジョンへのアクセス時には --hidden 指定が必要です"
+
+#, python-format
+msgid "filtered revision '%s' (not in '%s' subset)"
+msgstr "'%s' はフィルタリング対象リビジョンです ('%s' には属しません)"
+
 msgid "empty revision range"
 msgstr "該当するリビジョンがありません"
 
@@ -31956,6 +36695,14 @@
 msgstr "ディレクトリの作成中: %s\n"
 
 #, python-format
+msgid "removing conflicting file: %s\n"
+msgstr "同名ファイルの削除中: %s\n"
+
+#, python-format
+msgid "removing conflicting directory: %s\n"
+msgstr "同名ディレクトリの削除中: %s\n"
+
+#, python-format
 msgid "recording removal of %s as rename to %s (%d%% similar)\n"
 msgstr "%s の削除を %s へのファイル名変更として記録中 (類似度 %d%%)\n"
 
@@ -31974,13 +36721,56 @@
 "see https://mercurial-scm.org/wiki/MissingRequirement for more information"
 msgstr "詳細は https://mercurial-scm.org/wiki/MissingRequirement 参照"
 
-msgid "child process failed to start"
-msgstr "子プロセスの生成に失敗"
+#, python-format
+msgid "unknown extdata source '%s'"
+msgstr "外部データソース '%s' は未知のものです"
+
+#, python-format
+msgid "extdata command '%s' failed: %s"
+msgstr "外部データコマンド '%s' が失敗: %s"
+
+msgid "empty simplekeyvalue file"
+msgstr "simplekeyvalue ファイルが空です"
+
+#, python-format
+msgid "%r can't be used as a key"
+msgstr "%r はキーとして使用できません"
+
+#, python-format
+msgid "obsoleted %i changesets\n"
+msgstr "%i 個のリビジョンを廃止\n"
+
+#, python-format
+msgid "%i new %s changesets\n"
+msgstr "%i 個のリビジョンを新規 %s 化\n"
+
+#, python-format
+msgid "new changesets %s\n"
+msgstr "新規リビジョン範囲 %s\n"
+
+#, python-format
+msgid "%s and %d others"
+msgstr "%s 他 %d 個"
+
+#, python-format
+msgid "rejecting multiple heads on branch \"%s\""
+msgstr "ブランチ \"%s\" の複数ヘッド化を拒否"
+
+#, python-format
+msgid "%d heads: %s"
+msgstr "%d 個のヘッド: %s"
+
+#, python-format
+msgid "warning: accessing hidden changesets for write operation: %s\n"
+msgstr "警告: 不可視リビジョンへの改変操作: %s\n"
 
 #, python-format
 msgid "invalid value for --daemon-postexec: %s"
 msgstr "--daemon-postexec への指定値が不正です: %s"
 
+msgid "child process failed to start"
+msgstr "子プロセスの生成に失敗"
+
 #, python-format
 msgid "unknown mode %s"
 msgstr "未知のモード %s"
@@ -32019,15 +36809,75 @@
 msgid "can only specify three labels."
 msgstr "ラベルは3つのみ指定可。"
 
-#, python-format
-msgid "couldn't parse location %s"
-msgstr "URL %s の解析に失敗"
-
-msgid "password in URL not supported"
-msgstr "パスワード付き URL は未サポートです"
-
-msgid "could not create remote repo"
-msgstr "指定リポジトリの作成に失敗"
+msgid "sparse config cannot have includes after excludes"
+msgstr ""
+
+#, python-format
+msgid "sparse config entry outside of section: %s"
+msgstr ""
+
+msgid "add an [include] or [exclude] line to declare the entry type"
+msgstr ""
+
+#, python-format
+msgid "warning: sparse profile cannot use paths starting with /, ignoring %s\n"
+msgstr ""
+
+#, fuzzy
+msgid "cannot parse sparse patterns from working directory"
+msgstr "作業領域の親リビジョンの内容は検閲できません"
+
+msgid "dropping temporarily included sparse files"
+msgstr ""
+
+#, python-format
+msgid "cleaned up %d temporarily added file(s) from the sparse checkout\n"
+msgstr ""
+
+#, python-format
+msgid "temporarily included %d file(s) in the sparse checkout for merging\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "pending changes to '%s'\n"
+msgstr "リビジョン %s を改変中\n"
+
+#, fuzzy
+msgid "could not update sparseness due to pending changes"
+msgstr "変更をコミットするか、変更を破棄 (update --clean) してください"
+
+msgid ""
+"cannot change sparseness due to pending changes (delete the files or use --"
+"force to bring them back dirty)"
+msgstr ""
+
+#, fuzzy
+msgid "paths cannot be absolute"
+msgstr "%s の削除に失敗"
+
+#, fuzzy, python-format
+msgid "Profiles changed: %d\n"
+msgstr "ファイル変更なし"
+
+#, fuzzy, python-format
+msgid "Include rules changed: %d\n"
+msgstr "履歴反映対象に非永続 (unstable) リビジョンが含まれます!: %s"
+
+#, fuzzy, python-format
+msgid "Exclude rules changed: %d\n"
+msgstr "履歴反映対象に非永続 (unstable) リビジョンが含まれます!: %s"
+
+#, python-format
+msgid "Files added: %d\n"
+msgstr ""
+
+#, python-format
+msgid "Files dropped: %d\n"
+msgstr ""
+
+#, python-format
+msgid "Files conflicting: %d\n"
+msgstr ""
 
 msgid "no suitable response from remote hg"
 msgstr "連携先リポジトリからの応答が不適切"
@@ -32040,12 +36890,21 @@
 msgstr "連携先からの直前の出力を確認してください"
 
 #, python-format
-msgid "push refused: %s"
-msgstr "履歴反映が拒否されました: %s"
-
-#, python-format
-msgid "unexpected parameter %r"
-msgstr "想定外のパラメータ: %s"
+msgid "unknown version of SSH protocol: %s"
+msgstr "未知の SSH プロトコルバージョン: %s"
+
+#, python-format
+msgid "couldn't parse location %s"
+msgstr "URL %s の解析に失敗"
+
+msgid "password in URL not supported"
+msgstr "パスワード付き URL は未サポートです"
+
+msgid "could not create remote repo"
+msgstr "指定リポジトリの作成に失敗"
+
+msgid "capability exchange failed"
+msgstr "連携機能確認に失敗しました"
 
 msgid "capath not supported"
 msgstr "capath は未サポートです"
@@ -32053,17 +36912,6 @@
 msgid "cadata not supported"
 msgstr "cadata は未サポートです"
 
-msgid ""
-"setting ciphers in [hostsecurity] is not supported by this version of Python"
-msgstr ""
-"このバージョンの Python では [hostsecurity] での暗号形式設定は未サポートです"
-
-msgid ""
-"remove the config option or run Mercurial with a modern Python version "
-"(preferred)"
-msgstr ""
-"設定を破棄するか、新しい Python で Mercurial を実行してください(後者を推奨)"
-
 #, python-format
 msgid "unsupported protocol from hostsecurity.%s: %s"
 msgstr "hostsecurity.%s での未サポートプロトコルの指定: %s"
@@ -32119,6 +36967,13 @@
 msgstr "内部エラー: serverhostname 引数が未指定です"
 
 #, python-format
+msgid "certificate file (%s) does not exist; cannot connect to %s"
+msgstr "証明書ファイル (%s) が存在しません。%s に接続できません。"
+
+msgid "restore missing file or fix references in Mercurial config"
+msgstr ""
+
+#, python-format
 msgid "could not set ciphers: %s"
 msgstr "暗号形式の指定に失敗: %s"
 
@@ -32190,9 +37045,18 @@
 msgid "(see https://mercurial-scm.org/wiki/SecureConnections for more info)\n"
 msgstr "(詳細は https://mercurial-scm.org/wiki/SecureConnections 参照)\n"
 
+msgid ""
+"(the full certificate chain may not be available locally; see \"hg help "
+"debugssl\")\n"
+msgstr ""
+
 msgid "ssl connection failed"
 msgstr "ssl 接続に失敗"
 
+#, python-format
+msgid "referenced certificate file (%s) does not exist"
+msgstr "指定された証明書ファイル (%s) が存在しません"
+
 msgid "TLS 1.1 not supported by this Python"
 msgstr "利用中の Python では TLS 1.1 が未サポートです"
 
@@ -32263,14 +37127,14 @@
 #, python-format
 msgid ""
 "(SHA-1 fingerprint for %s found in legacy [hostfingerprints] section; if you "
-"trust this fingerprint, set the following config value in [hostsecurity] and "
-"remove the old one from [hostfingerprints] to upgrade to a more secure "
-"SHA-256 fingerprint: %s.fingerprints=%s)\n"
+"trust this fingerprint, remove the old SHA-1 fingerprint from "
+"[hostfingerprints] and add the following entry to the new [hostsecurity] "
+"section: %s:fingerprints=%s)\n"
 msgstr ""
 "(旧来の [hostfingerprints] セクションに %s 向けの SHA-1 フィンガープリントが"
-"記述されています。この値が信用できる場合は、後述する設定を [hostsecurity]セク"
-"ションに記述した上で、[hostfingerprints] のエントリを削除することで、より強固"
-"な SHA-256 フィンガープリントに移行してください: %s.fingerprints=%s)\n"
+"記述されています。この値が信用できる場合は、SHA-1 フィンガープリントを旧来の"
+"[hostfingerprints] エントリから削除し、後述する設定を [hostsecurity]セクショ"
+"ンに記述してください: %s.fingerprints=%s)\n"
 
 #, python-format
 msgid "certificate for %s has unexpected fingerprint %s"
@@ -32313,6 +37177,9 @@
 msgid "'%s' does not appear to be an hg repository"
 msgstr "'%s' は Mercurial リポジトリ形式とは思われません"
 
+msgid "lock not available"
+msgstr "ロックできません"
+
 msgid "cannot lock static-http repository"
 msgstr "static-http リポジトリはロックできません"
 
@@ -32323,6 +37190,19 @@
 msgid "invalid entry in fncache, line %d"
 msgstr "ファイル名キャッシュに不正なエントリ: %d 行目"
 
+msgid "warning: stream clone requested but server has them disabled\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"warning: stream clone requested but client is missing requirements: %s\n"
+msgstr ""
+
+msgid ""
+"(see https://www.mercurial-scm.org/wiki/MissingRequirement for more "
+"information)\n"
+msgstr "(詳細は https://www.mercurial-scm.org/wiki/MissingRequirement 参照)\n"
+
 msgid "unexpected response from remote server:"
 msgstr "想定外の連携先サーバ応答:"
 
@@ -32372,72 +37252,11 @@
 msgid "unable to apply stream clone: unsupported format: %s"
 msgstr "stream clone が適用できません: 未サポートな形式 %s"
 
-#, python-format
-msgid "(in subrepo %s)"
+#, fuzzy, python-format
+msgid "(in subrepository \"%s\")"
 msgstr "(サブリポジトリ %s で発生)"
 
 #, python-format
-msgid "warning: subrepo spec file '%s' not found\n"
-msgstr "警告: サブリポジトリの spec ファイル '%s' が見つかりません\n"
-
-#, python-format
-msgid "subrepo spec file '%s' not found"
-msgstr "サブリポジトリの spec ファイル '%s' が見つかりません"
-
-#, python-format
-msgid "invalid subrepository revision specifier in '%s' line %d"
-msgstr "'%s' の %d 行目におけるサブリポジトリのリビジョン指定が不正です"
-
-#, python-format
-msgid "bad subrepository pattern in %s: %s"
-msgstr "%s におけるサブリポジトリ指定の不正: %s"
-
-msgid "missing ] in subrepo source"
-msgstr "サブリポジトリ元指定に ] がありません"
-
-#, python-format
-msgid ""
-" subrepository sources for %(s)s differ\n"
-"use (l)ocal%(l)s source (%(lo)s) or (r)emote%(o)s source (%(ro)s)?$$ &Local $"
-"$ &Remote"
-msgstr ""
-" サブリポジトリ %(s)s の連携先が異なっています。\n"
-"現行側%(l)s 連携先 (%(lo)s):(l)ocal と、他方側%(o)s 連携先 (%(ro)s):(r)emote "
-"のどちらを採用しますか?$$ &Local $$ &Remote"
-
-#, python-format
-msgid ""
-" subrepository %(s)s diverged (local revision: %(sl)s, remote revision: "
-"%(sr)s)\n"
-"(M)erge, keep (l)ocal%(l)s or keep (r)emote%(o)s?$$ &Merge $$ &Local $$ "
-"&Remote"
-msgstr ""
-" サブリポジトリ %(s)s の参照先が異なっています (現行側: %(sl)s, 他方側: "
-"%(sr)s)\n"
-"両者のマージ:(m)erge, 現行側%(l)s 参照先:(l)ocal, 他方側%(o)s 参照先:"
-"(r)emote のいずれを採用しますか?$$ &Merge $$ &Local $$ &Remote"
-
-#, python-format
-msgid ""
-" local%(l)s changed subrepository %(s)s which remote%(o)s removed\n"
-"use (c)hanged version or (d)elete?$$ &Changed $$ &Delete"
-msgstr ""
-" 現行側%(l)s でのサブリポジトリ %(s)s の変更が、他方側%(o)s での削除と衝突し"
-"ます\n"
-"変更:(c)hanged と、削除:(d)elete のどちらを採用しますか?$$ &Changed $$ "
-"&Delete"
-
-#, python-format
-msgid ""
-" remote%(o)s changed subrepository %(s)s which local%(l)s removed\n"
-"use (c)hanged version or (d)elete?$$ &Changed $$ &Delete"
-msgstr ""
-" 他方側%(o)s でのサブリポジトリ %(s)s の変更が、現行側%(l)s での削除と衝突し"
-"ます\n"
-"変更:(c)hanged と、削除:(d)elete のどちらを採用しますか?$$ &Changed $$ "
-"&Delete"
-
-#, python-format
 msgid ""
 " subrepository sources for %s differ\n"
 "use (l)ocal source (%s) or (r)emote source (%s)?$$ &Local $$ &Remote"
@@ -32455,31 +37274,32 @@
 "現行内容 (%s):(l)ocal と、他方側参照先 (%s):(r)emote のどちらを採用しますか?"
 "$$ &Local $$ &Remote"
 
-msgid "default path for subrepository not found"
-msgstr "サブリポジトリの連携先が見つかりません"
-
 #, python-format
 msgid "warning: removing potentially hostile 'hgrc' in '%s'\n"
 msgstr "警告: 潜在的な問題となりえる '%s' 中の hgrc ファイルを破棄します\n"
 
+#, fuzzy, python-format
+msgid "subrepo '%s' traverses symbolic link"
+msgstr "パス %r はシンボリックリンク '%r' が含まれています"
+
+#, fuzzy
+msgid "subrepos not enabled"
+msgstr "%r にはリスト処理を適用できません"
+
+#, fuzzy
+msgid "see 'hg help config.subrepos' for details"
+msgstr "詳細は 'hg help phases' 参照"
+
+#, python-format
+msgid "%s subrepos not allowed"
+msgstr ""
+
 #, python-format
 msgid "unknown subrepo type %s"
 msgstr "未知のサブリポジトリ種別 '%s'"
 
-#, python-format
-msgid "invalid phases.checksubrepos configuration: %s"
-msgstr "phases.checksubrepos 設定が不正です: %s"
-
-#, python-format
-msgid "can't commit in %s phase conflicting %s from subrepository %s"
-msgstr "%s フェーズでのコミットは、%s なサブリポジトリ %s と矛盾します"
-
-#, python-format
-msgid "warning: changes are committed in %s phase from subrepository %s\n"
-msgstr "警告: %s フェーズでコミットします(サブリポジトリ %s に追従)\n"
-
-#, python-format
-msgid "uncommitted changes in subrepository '%s'"
+#, fuzzy, python-format
+msgid "uncommitted changes in subrepository \"%s\""
 msgstr "サブリポジトリ '%s' の変更が未コミットです"
 
 msgid "addremove is not supported"
@@ -32505,6 +37325,10 @@
 msgid "removing subrepo %s\n"
 msgstr "サブリポジトリの %s を登録除外中\n"
 
+#, fuzzy, python-format
+msgid "sharing subrepo %s from %s\n"
+msgstr "サブリポジトリ %s に %s から複製中\n"
+
 #, python-format
 msgid "cloning subrepo %s from %s\n"
 msgstr "サブリポジトリ %s に %s から複製中\n"
@@ -32513,8 +37337,8 @@
 msgid "pulling subrepo %s from %s\n"
 msgstr "サブリポジトリ %s に %s から取り込み中\n"
 
-#, python-format
-msgid "revision %s in subrepo %s is hidden\n"
+#, fuzzy, python-format
+msgid "revision %s in subrepository \"%s\" is hidden\n"
 msgstr "リビジョン %s はサブリポジトリ %s 中の不可視リビジョンです\n"
 
 #, python-format
@@ -32529,6 +37353,10 @@
 msgid "reverting subrepo %s\n"
 msgstr "サブリポジトリ %s の変更取り消し中\n"
 
+#, fuzzy, python-format
+msgid "unsharing subrepo '%s'\n"
+msgstr "サブリポジトリ %s から %s へ反映中\n"
+
 #, python-format
 msgid "subrepo '%s' is hidden in revision %s\n"
 msgstr "サブリポジトリ '%s' の参照先はリビジョン %s 時点で不可視です\n"
@@ -32585,12 +37413,12 @@
 msgid "git %s error %d in %s"
 msgstr "git %s 実行のエラー %d がサブリポジトリ %s で発生"
 
-#, python-format
-msgid "revision %s does not exist in subrepo %s\n"
+#, fuzzy, python-format
+msgid "revision %s does not exist in subrepository \"%s\"\n"
 msgstr "リビジョン %s はサブリポジトリ %s には存在しません\n"
 
-#, python-format
-msgid "checking out detached HEAD in subrepo %s\n"
+#, fuzzy, python-format
+msgid "checking out detached HEAD in subrepository \"%s\"\n"
 msgstr "サブリポジトリ %s において、切り離された HEAD が取り出されました。\n"
 
 msgid "check out a git branch if you intend to make changes\n"
@@ -32600,23 +37428,110 @@
 msgid "subrepo %s is missing"
 msgstr "サブリポジトリ %s が見つかりません"
 
-#, python-format
-msgid "unrelated git branch checked out in subrepo %s\n"
+#, fuzzy, python-format
+msgid "unrelated git branch checked out in subrepository \"%s\"\n"
 msgstr "サブリポジトリ %s は、 無関係な git ブランチで更新されています\n"
 
-#, python-format
-msgid "pushing branch %s of subrepo %s\n"
+#, fuzzy, python-format
+msgid "pushing branch %s of subrepository \"%s\"\n"
 msgstr "ブランチ %s をサブリポジトリ %s から反映中\n"
 
-#, python-format
-msgid ""
-"no branch checked out in subrepo %s\n"
+#, fuzzy, python-format
+msgid ""
+"no branch checked out in subrepository \"%s\"\n"
 "cannot push revision %s\n"
 msgstr ""
 "サブリポジトリ %s にブランチが取り出されていません。\n"
 "リビジョン %s を反映できません。\n"
 
 #, python-format
+msgid "warning: subrepo spec file '%s' not found\n"
+msgstr "警告: サブリポジトリの spec ファイル '%s' が見つかりません\n"
+
+#, python-format
+msgid "subrepo spec file '%s' not found"
+msgstr "サブリポジトリの spec ファイル '%s' が見つかりません"
+
+#, python-format
+msgid "invalid subrepository revision specifier in '%s' line %d"
+msgstr "'%s' の %d 行目におけるサブリポジトリのリビジョン指定が不正です"
+
+#, python-format
+msgid "bad subrepository pattern in %s: %s"
+msgstr "%s におけるサブリポジトリ指定の不正: %s"
+
+#, fuzzy
+msgid "missing ] in subrepository source"
+msgstr "サブリポジトリ元指定に ] がありません"
+
+#, python-format
+msgid ""
+" subrepository sources for %(s)s differ\n"
+"use (l)ocal%(l)s source (%(lo)s) or (r)emote%(o)s source (%(ro)s)?$$ &Local $"
+"$ &Remote"
+msgstr ""
+" サブリポジトリ %(s)s の連携先が異なっています。\n"
+"現行側%(l)s 連携先 (%(lo)s):(l)ocal と、他方側%(o)s 連携先 (%(ro)s):(r)emote "
+"のどちらを採用しますか?$$ &Local $$ &Remote"
+
+#, python-format
+msgid ""
+" subrepository %(s)s diverged (local revision: %(sl)s, remote revision: "
+"%(sr)s)\n"
+"(M)erge, keep (l)ocal%(l)s or keep (r)emote%(o)s?$$ &Merge $$ &Local $$ "
+"&Remote"
+msgstr ""
+" サブリポジトリ %(s)s の参照先が異なっています (現行側: %(sl)s, 他方側: "
+"%(sr)s)\n"
+"両者のマージ:(m)erge, 現行側%(l)s 参照先:(l)ocal, 他方側%(o)s 参照先:"
+"(r)emote のいずれを採用しますか?$$ &Merge $$ &Local $$ &Remote"
+
+#, python-format
+msgid ""
+" local%(l)s changed subrepository %(s)s which remote%(o)s removed\n"
+"use (c)hanged version or (d)elete?$$ &Changed $$ &Delete"
+msgstr ""
+" 現行側%(l)s でのサブリポジトリ %(s)s の変更が、他方側%(o)s での削除と衝突し"
+"ます\n"
+"変更:(c)hanged と、削除:(d)elete のどちらを採用しますか?$$ &Changed $$ "
+"&Delete"
+
+#, python-format
+msgid ""
+" remote%(o)s changed subrepository %(s)s which local%(l)s removed\n"
+"use (c)hanged version or (d)elete?$$ &Changed $$ &Delete"
+msgstr ""
+" 他方側%(o)s でのサブリポジトリ %(s)s の変更が、現行側%(l)s での削除と衝突し"
+"ます\n"
+"変更:(c)hanged と、削除:(d)elete のどちらを採用しますか?$$ &Changed $$ "
+"&Delete"
+
+#, 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 "default path for subrepository not found"
+msgstr "サブリポジトリの連携先が見つかりません"
+
+#, python-format
+msgid "invalid phases.checksubrepos configuration: %s"
+msgstr "phases.checksubrepos 設定が不正です: %s"
+
+#, python-format
+msgid "can't commit in %s phase conflicting %s from subrepository %s"
+msgstr "%s フェーズでのコミットは、%s なサブリポジトリ %s と矛盾します"
+
+#, python-format
+msgid "warning: changes are committed in %s phase from subrepository %s\n"
+msgstr "警告: %s フェーズでコミットします(サブリポジトリ %s に追従)\n"
+
+#, python-format
 msgid ""
 "automatic .hgtags merge failed\n"
 "the following %d tags are in conflict: %s\n"
@@ -32653,17 +37568,27 @@
 
 msgid ""
 ":basename: Any text. Treats the text as a path, and returns the last\n"
-"    component of the path after splitting by the path separator\n"
-"    (ignoring trailing separators). For example, \"foo/bar/baz\" becomes\n"
-"    \"baz\" and \"foo/bar//\" becomes \"bar\"."
+"    component of the path after splitting by the path separator.\n"
+"    For example, \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\" becomes "
+"\"\"."
 msgstr ""
 ":basename: 文字列。 与えられた文字列をパスとみなし、 パス構成要素の、\n"
-"    末尾要素を取り出します (末尾パス区切りは無視されます)。\n"
-"    例) \"foo/bar/baz\" は \"baz\"、 \"foo/bar//\" は \"bar\""
+"    末尾要素を取り出します。\n"
+"    例: \"foo/bar/baz\" は \"baz\"、 \"foo/bar//\" は \"\""
 
 msgid ":count: List or text. Returns the length as an integer."
 msgstr ":count: 列挙または文字列。 長さを整数値で返します。"
 
+msgid "not countable"
+msgstr "カウント不能"
+
+msgid ""
+":dirname: Any text. Treats the text as a path, and strips the last\n"
+"    component of the path after splitting by the path separator."
+msgstr ""
+":dirname: 文字列。 与えられた文字列をパスとみなし、 パス構成要素の、\n"
+"    末尾要素を取り除いたものを返します。"
+
 msgid ""
 ":domain: Any text. Finds the first string that looks like an email\n"
 "    address, and extracts just the domain component. Example: ``User\n"
@@ -32745,37 +37670,6 @@
 "    名前部分だけを取り出します。"
 
 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"
-"    >>> # 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'"
-
-msgid ""
 ":revescape: Any text. Escapes all \"special\" characters, except @.\n"
 "    Forward slashes are escaped twice to prevent web servers from "
 "prematurely\n"
@@ -32807,19 +37701,22 @@
 msgstr ":short: リビジョンハッシュ 値。 12 桁程度の短縮形式にします。"
 
 msgid ""
-":shortbisect: Any text. Treats `text` as a bisection status, and\n"
+":shortbisect: Any text. Treats `label` as a bisection status, and\n"
 "    returns a single-character representing the status (G: good, B: bad,\n"
 "    S: skipped, U: untested, I: ignored). Returns single space if `text`\n"
 "    is not a valid bisection status."
 msgstr ""
-":shortbisect: 文字列。 `文字列` を二分探索 (bisect) 状態とみなし、\n"
+":shortbisect: 指定文字列を二分探索 (bisect) 状態とみなし、\n"
 "    状態に見合った1文字 (G: good, B: bad, S: skipped, U: untested, I:\n"
-"    ignored) を返します。 `文字列` が二分探索状態として不適切な場合、\n"
+"    ignored) を返します。 指定文字列が二分探索状態として不適切な場合、\n"
 "    空白文字を返します。"
 
 msgid ":shortdate: Date. Returns a date like \"2006-09-18\"."
 msgstr ":shortdate: 日時情報。 \"2006-09-18\" 形式で可読化します。"
 
+msgid ":slashpath: Any text. Replaces the native path separator with slash."
+msgstr ":slashpath: 文字列。 環境依存のパス区切り文字をスラッシュで置換。"
+
 msgid ":splitlines: Any text. Split text into a list of lines."
 msgstr ":splitlines: 文字列。 文字列を行のリストに分割します。"
 
@@ -32864,263 +37761,6 @@
 msgid ":utf8: Any text. Converts from the local character encoding to UTF-8."
 msgstr ":utf8: 文字列。実行環境の文字コードから UTF-8 に変換します"
 
-msgid ":author: String. The unmodified author of the changeset."
-msgstr ":author: 文字列。 リビジョンの作者名(記録情報そのまま)。"
-
-msgid ":bisect: String. The changeset bisection status."
-msgstr ":bisect: 文字列。 当該リビジョンの二分探索状態。"
-
-msgid ""
-":branch: String. The name of the branch on which the changeset was\n"
-"    committed."
-msgstr ":branch: 文字列。 リビジョンの属するブランチ名。"
-
-msgid ""
-":branches: List of strings. The name of the branch on which the\n"
-"    changeset was committed. Will be empty if the branch name was\n"
-"    default. (DEPRECATED)"
-msgstr ""
-":branches: 文字列列挙。 リビジョンの属するブランチ名。\n"
-"    ブランチ名が default の場合は空 (非推奨)"
-
-msgid ""
-":bookmarks: List of strings. Any bookmarks associated with the\n"
-"    changeset. Also sets 'active', the name of the active bookmark."
-msgstr ""
-":bookmarks: 文字列列挙。 当該リビジョンに付与されたブックマークの一覧。\n"
-"    アクティブブックマークが存在する場合は 'active' キーワードも利用可能。"
-
-msgid ":children: List of strings. The children of the changeset."
-msgstr ":children: 文字列列挙。 リビジョンの子供。"
-
-msgid ""
-":currentbookmark: String. The active bookmark, if it is\n"
-"    associated with the changeset (DEPRECATED)"
-msgstr ""
-":currentbookmark: 文字列. アクティブなブックマーク (対象リビジョンに対し、\n"
-"    関連付けられている場合のみ) (非推奨)"
-
-msgid ""
-":activebookmark: String. The active bookmark, if it is\n"
-"    associated with the changeset"
-msgstr ""
-":activebookmark: 文字列. アクティブなブックマーク (対象リビジョンに対し、\n"
-"    関連付けられている場合のみ)"
-
-msgid ":date: Date information. The date when the changeset was committed."
-msgstr ":date: 日時情報。 リビジョンが記録された日時。"
-
-msgid ":desc: String. The text of the changeset description."
-msgstr ":desc:      文字列。 リビジョンのコミットログ。"
-
-msgid ""
-":diffstat: String. Statistics of changes with the following format:\n"
-"    \"modified files: +added/-removed lines\""
-msgstr ""
-":diffstat: 文字列。 以下の形式での変更概要。\n"
-"    \"変更対象ファイル: +追加行数/-削除行数\""
-
-msgid ":envvars: A dictionary of environment variables. (EXPERIMENTAL)"
-msgstr ":envvars: 環境変数の辞書。 (実験的実装)"
-
-msgid ""
-":extras: List of dicts with key, value entries of the 'extras'\n"
-"    field of this changeset."
-msgstr ""
-":extras: 辞書の列挙。当該リビジョンの 'extras' 情報一覧。\n"
-"    (※ 訳注: 各辞書は ``key`` および ``value`` というキーを持ちます)"
-
-msgid ":file_adds: List of strings. Files added by this changeset."
-msgstr ":file_adds: 文字列列挙。 当該リビジョンでの追加ファイル一覧。"
-
-msgid ""
-":file_copies: List of strings. Files copied in this changeset with\n"
-"    their sources."
-msgstr ":file_copies: 文字列列挙。  当該リビジョンでの複製元ファイル一覧。"
-
-msgid ""
-":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
-"    only if the --copied switch is set."
-msgstr ""
-":file_copies_switch: 文字列列挙。  \"file_copies\" と同義だが、\n"
-"    --copied 指定のある時のみ表示。"
-
-msgid ":file_dels: List of strings. Files removed by this changeset."
-msgstr ":file_dels: 文字列列挙。 当該リビジョンでの登録除外ファイル一覧。"
-
-msgid ":file_mods: List of strings. Files modified by this changeset."
-msgstr ":file_mods: 文字列列挙。 当該リビジョンでの変更ファイル一覧。"
-
-msgid ""
-":files: List of strings. All files modified, added, or removed by this\n"
-"    changeset."
-msgstr ""
-":files: 文字列列挙。 当該リビジョンでの、 変更/追加登録または\n"
-"    登録除外ファイルの一覧。"
-
-msgid ""
-":graphnode: String. The character representing the changeset node in\n"
-"    an ASCII revision graph"
-msgstr ""
-":graphnode: 文字列。 ASCII 文字での履歴グラフ表示の際に、\n"
-"    リビジョン表示で使用する文字。"
-
-msgid ":index: Integer. The current iteration of the loop. (0 indexed)"
-msgstr ":index: 整数。 繰り返しにおける現時点での添え字値。 (開始値は 0)"
-
-msgid "can't use index in this context"
-msgstr "ここでは添え字値を使用できません"
-
-msgid ""
-":latesttag: List of strings. The global tags on the most recent globally\n"
-"    tagged ancestor of this changeset.  If no such tags exist, the list\n"
-"    consists of the single string \"null\"."
-msgstr ""
-":latesttag: 文字列列挙。 当該リビジョンの祖先に対して、\n"
-"    最も最近に付与されたグローバルタグの一覧。 当該タグが存在しない場合、\n"
-"    単一要素 \"null\" を持つ配列。"
-
-msgid ":latesttagdistance: Integer. Longest path to the latest tag."
-msgstr ":latesttagdistance: 整数。 最新タグへの最長パス"
-
-msgid ":changessincelatesttag: Integer. All ancestors not in the latest tag."
-msgstr ""
-":changessincelatesttag: 数値。 最新タグ以降の全祖先リビジョン数。\n"
-"    (※ 訳注: 履歴中に分岐がない場合は latesttagdistance と等価です)"
-
-msgid ""
-":namespaces: Dict of lists. Names attached to this changeset per\n"
-"    namespace."
-msgstr ""
-":namespaces: 列挙の辞書。 リビジョンに関連付けられている名前を、\n"
-"    名前空間毎に列挙したもの。"
-
-msgid ""
-":node: String. The changeset identification hash, as a 40 hexadecimal\n"
-"    digit string."
-msgstr ":node: 文字列。 リビジョン識別用の 40 桁 16 進数ハッシュ値。"
-
-msgid ":obsolete: String. Whether the changeset is obsolete."
-msgstr ""
-":obsolete: 文字列。 当該リビジョンが廃止済みか否か。\n"
-"    (※ 訳注: \"obsolete\" か空文字列が返却されます)"
-
-msgid ""
-":p1rev: Integer. The repository-local revision number of the changeset's\n"
-"    first parent, or -1 if the changeset has no parents."
-msgstr ""
-":p1rev: 整数。 第1親リビジョンの、 当該リポジトリにおけるリビジョン番号。\n"
-"    親を持たないリビジョンの場合は -1。"
-
-msgid ""
-":p2rev: Integer. The repository-local revision number of the changeset's\n"
-"    second parent, or -1 if the changeset has no second parent."
-msgstr ""
-":p2rev: 整数。 第2親リビジョンの、 当該リポジトリにおけるリビジョン番号。\n"
-"    第2親を持たないリビジョンの場合は -1。"
-
-msgid ""
-":p1node: String. The identification hash of the changeset's first parent,\n"
-"    as a 40 digit hexadecimal string. If the changeset has no parents, all\n"
-"    digits are 0."
-msgstr ""
-":p1node: 文字列。 第1親リビジョンの 40 桁ハッシュ値の文字列。\n"
-"    親を持たないリビジョンの場合は、 全桁が 0 のハッシュ値文字列。"
-
-msgid ""
-":p2node: String. The identification hash of the changeset's second\n"
-"    parent, as a 40 digit hexadecimal string. If the changeset has no "
-"second\n"
-"    parent, all digits are 0."
-msgstr ""
-":p2node: 文字列。 第1親リビジョンの 40 桁ハッシュ値の文字列。\n"
-"    第2親を持たないリビジョンの場合は、 全桁が 0 のハッシュ値文字列。"
-
-msgid ""
-":parents: List of strings. The parents of the changeset in \"rev:node\"\n"
-"    format. If the changeset has only one \"natural\" parent (the "
-"predecessor\n"
-"    revision) nothing is shown."
-msgstr ""
-":parents: 文字列列挙。 当該リビジョンの親リビジョンの \"rev:node\" 形式。\n"
-"    親が単一で、 且つリビジョン番号が1つ前の場合は、 何も表示されません。"
-
-msgid ":phase: String. The changeset phase name."
-msgstr ":phase: 文字列。 当該リビジョンのフェーズ名。"
-
-msgid ":phaseidx: Integer. The changeset phase index."
-msgstr ":phaseidx: 数値。 当該リビジョンのフェーズ値。"
-
-msgid ":rev: Integer. The repository-local changeset revision number."
-msgstr ":rev: 整数。 各リポジトリ固有のリビジョン番号。"
-
-msgid ":subrepos: List of strings. Updated subrepositories in the changeset."
-msgstr ":subrepos: 文字列挙。 当該リビジョンで更新されたサブリポジトリ名。"
-
-msgid ":tags: List of strings. Any tags associated with the changeset."
-msgstr ":tags: 文字列列挙。 当該リビジョンに付与されたタグの一覧。"
-
-msgid ":termwidth: Integer. The width of the current terminal."
-msgstr ":termwidth: 整数。 端末の表示カラム数。"
-
-msgid ":troubles: List of strings. Evolution troubles affecting the changeset."
-msgstr ""
-":troubles: 文字列列挙。 当該リビジョンに関連する evolution の trouble 情報。"
-
-msgid "    (EXPERIMENTAL)"
-msgstr "    (実験的実装)"
-
-msgid "unterminated template expansion"
-msgstr "テンプレート定義が終端していません"
-
-#, python-format
-msgid "unknown method '%s'"
-msgstr "未知の処理 '%s' が指定されました"
-
-#, python-format
-msgid "expected a symbol, got '%s'"
-msgstr "シンボル (symbol) 指定が必要です (実際の指定は '%s')"
-
-msgid "expected template specifier"
-msgstr "テンプレート指定が必要です"
-
-#, python-format
-msgid "recursive reference '%s' in template"
-msgstr "テンプレートでの '%s' における再帰参照"
-
-#, python-format
-msgid "unknown function '%s'"
-msgstr "未知の関数 '%s' が指定されました"
-
-#, python-format
-msgid "template filter '%s' is not compatible with keyword '%s'"
-msgstr "フィルタ指定 '%s' はキーワード '%s' と互換性がありません"
-
-#, python-format
-msgid "incompatible use of template filter '%s'"
-msgstr "フィルタ指定 '%s' は互換性がありません"
-
-#, python-format
-msgid "keyword '%s' is not iterable"
-msgstr "キーワード '%s' にはリスト処理を適用できません"
-
-#, python-format
-msgid "%r is not iterable"
-msgstr "%r にはリスト処理を適用できません"
-
-msgid "negation needs an integer argument"
-msgstr "負値指定は整数値に対してのみ有効です"
-
-msgid "arithmetic only defined on integers"
-msgstr "算術演算は整数値に対してのみ有効です"
-
-msgid "division by zero is not defined"
-msgstr "0 での除算は未サポートです"
-
-#, python-format
-msgid "filter %s expects one argument"
-msgstr "フィルタ %s の引数は1個です"
-
 msgid ""
 ":date(date[, fmt]): Format a date. See :hg:`help dates` for formatting\n"
 "    strings. The default is a Unix date format, including the timezone:\n"
@@ -33166,6 +37806,16 @@
 msgstr "diff の引数は 0 〜 2 個です"
 
 msgid ""
+":extdata(source): Show a text read from the specified extdata source. "
+"(EXPERIMENTAL)"
+msgstr ""
+
+#. i18n: "extdata" is a keyword
+#, fuzzy
+msgid "extdata expects one argument"
+msgstr "relpath の引数は1個です"
+
+msgid ""
 ":files(pattern): All files of the current changeset matching the pattern. "
 "See\n"
 "    :hg:`help patterns`."
@@ -33202,6 +37852,15 @@
 msgstr "formatnode の引数は1個です"
 
 msgid ""
+":mailmap(author): Return the author, updated according to the value\n"
+"    set in the .mailmap file"
+msgstr ""
+
+#, fuzzy
+msgid "mailmap expects one argument"
+msgstr "files の引数は1個です"
+
+msgid ""
 ":pad(text, width[, fillchar=' '[, left=False]]): Pad text with a\n"
 "    fill character."
 msgstr ""
@@ -33337,6 +37996,32 @@
 msgid "localdate expects a timezone"
 msgstr "localdate の入力にはタイムゾーンを与えてください"
 
+msgid ":max(iterable): Return the max of an iterable"
+msgstr ""
+
+#. i18n: "max" is a keyword
+#, fuzzy
+msgid "max expects one argument"
+msgstr "relpath の引数は1個です"
+
+#. i18n: "max" is a keyword
+#, fuzzy
+msgid "max first argument should be an iterable"
+msgstr "extra の第1引数には文字列を指定してください"
+
+msgid ":min(iterable): Return the min of an iterable"
+msgstr ""
+
+#. i18n: "min" is a keyword
+#, fuzzy
+msgid "min expects one argument"
+msgstr "files の引数は1個です"
+
+#. i18n: "min" is a keyword
+#, fuzzy
+msgid "min first argument should be an iterable"
+msgstr "extra の第1引数には文字列を指定してください"
+
 msgid ":mod(a, b): Calculate a mod b such that a / b + a mod b == a"
 msgstr ":mod(a, b): a を b で除算した余り値 (a / b + a mod b == a)。"
 
@@ -33345,6 +38030,62 @@
 msgstr "mod の引数は2個です"
 
 msgid ""
+":obsfateoperations(markers): Compute obsfate related information based on "
+"markers (EXPERIMENTAL)"
+msgstr ""
+
+#. i18n: "obsfateoperations" is a keyword
+#, fuzzy
+msgid "obsfateoperations expects one argument"
+msgstr "formatnode の引数は1個です"
+
+#. i18n: "obsfateoperations" is a keyword
+msgid "obsfateoperations first argument should be an iterable"
+msgstr ""
+
+msgid ""
+":obsfatedate(markers): Compute obsfate related information based on markers "
+"(EXPERIMENTAL)"
+msgstr ""
+
+#. i18n: "obsfatedate" is a keyword
+#, fuzzy
+msgid "obsfatedate expects one argument"
+msgstr "formatnode の引数は1個です"
+
+#. i18n: "obsfatedate" is a keyword
+msgid "obsfatedate first argument should be an iterable"
+msgstr ""
+
+msgid ""
+":obsfateusers(markers): Compute obsfate related information based on markers "
+"(EXPERIMENTAL)"
+msgstr ""
+
+#. i18n: "obsfateusers" is a keyword
+#, fuzzy
+msgid "obsfateusers expects one argument"
+msgstr "フィルタ %s の引数は1個です"
+
+#. i18n: "obsfateusers" is a keyword
+msgid "obsfateusers first argument should be an iterable of obsmakers"
+msgstr ""
+
+msgid ""
+":obsfateverb(successors, markers): Compute obsfate related information based "
+"on successors (EXPERIMENTAL)"
+msgstr ""
+
+#. i18n: "obsfateverb" is a keyword
+#, fuzzy
+msgid "obsfateverb expects two arguments"
+msgstr "label の引数は2個です"
+
+#. i18n: "obsfateverb" is a keyword
+msgid "obsfateverb first argument should be countable"
+msgstr ""
+
+msgid ""
 ":relpath(path): Convert a repository-absolute path into a filesystem path "
 "relative to\n"
 "    the current working directory."
@@ -33451,9 +38192,335 @@
 msgid "word expects an integer index"
 msgstr "word にはインデックス値を数値で指定してください"
 
+#. i18n: column positioning for "hg log"
+#, python-format
+msgid ""
+"bookmark:    %s\n"
+"branch:      %s\n"
+"changeset:   %s\n"
+"copies:      %s\n"
+"date:        %s\n"
+"extra:       %s=%s\n"
+"files+:      %s\n"
+"files-:      %s\n"
+"files:       %s\n"
+"instability: %s\n"
+"manifest:    %s\n"
+"obsolete:    %s\n"
+"parent:      %s\n"
+"phase:       %s\n"
+"summary:     %s\n"
+"tag:         %s\n"
+"user:        %s\n"
+msgstr ""
+"ブックマーク: %s\n"
+"ブランチ:     %s\n"
+"リビジョン:   %s\n"
+"コピー:       %s\n"
+"日付:         %s\n"
+"その他:       %s=%s\n"
+"ファイル追加: %s\n"
+"ファイル削除: %s\n"
+"ファイル:     %s\n"
+"不定性:       %s\n"
+"manifest参照: %s\n"
+"廃止:         %s\n"
+"親リビジョン: %s\n"
+"フェーズ:     %s\n"
+"要約:         %s\n"
+"タグ:         %s\n"
+"ユーザ:       %s\n"
+
+msgid ":author: String. The unmodified author of the changeset."
+msgstr ":author: 文字列。 リビジョンの作者名(記録情報そのまま)。"
+
+msgid ":bisect: String. The changeset bisection status."
+msgstr ":bisect: 文字列。 当該リビジョンの二分探索状態。"
+
+msgid ""
+":branch: String. The name of the branch on which the changeset was\n"
+"    committed."
+msgstr ":branch: 文字列。 リビジョンの属するブランチ名。"
+
+msgid ""
+":branches: List of strings. The name of the branch on which the\n"
+"    changeset was committed. Will be empty if the branch name was\n"
+"    default. (DEPRECATED)"
+msgstr ""
+":branches: 文字列列挙。 リビジョンの属するブランチ名。\n"
+"    ブランチ名が default の場合は空 (非推奨)"
+
+msgid ""
+":bookmarks: List of strings. Any bookmarks associated with the\n"
+"    changeset. Also sets 'active', the name of the active bookmark."
+msgstr ""
+":bookmarks: 文字列列挙。 当該リビジョンに付与されたブックマークの一覧。\n"
+"    アクティブブックマークが存在する場合は 'active' キーワードも利用可能。"
+
+msgid ":children: List of strings. The children of the changeset."
+msgstr ":children: 文字列列挙。 リビジョンの子供。"
+
+msgid ""
+":currentbookmark: String. The active bookmark, if it is associated with the "
+"changeset.\n"
+"    (DEPRECATED)"
+msgstr ""
+":currentbookmark: 文字列. アクティブなブックマーク (対象リビジョンに対し、\n"
+"    関連付けられている場合のみ) (非推奨)"
+
+msgid ""
+":activebookmark: String. The active bookmark, if it is associated with the "
+"changeset."
+msgstr ""
+":activebookmark: 文字列. アクティブなブックマーク (対象リビジョンに対し、\n"
+"    関連付けられている場合のみ)"
+
+msgid ":date: Date information. The date when the changeset was committed."
+msgstr ":date: 日時情報。 リビジョンが記録された日時。"
+
+msgid ":desc: String. The text of the changeset description."
+msgstr ":desc:      文字列。 リビジョンのコミットログ。"
+
+msgid ""
+":diffstat: String. Statistics of changes with the following format:\n"
+"    \"modified files: +added/-removed lines\""
+msgstr ""
+":diffstat: 文字列。 以下の形式での変更概要。\n"
+"    \"変更対象ファイル: +追加行数/-削除行数\""
+
+msgid ":envvars: A dictionary of environment variables. (EXPERIMENTAL)"
+msgstr ":envvars: 環境変数の辞書。 (実験的実装)"
+
+msgid ""
+":extras: List of dicts with key, value entries of the 'extras'\n"
+"    field of this changeset."
+msgstr ""
+":extras: 辞書の列挙。当該リビジョンの 'extras' 情報一覧。\n"
+"    (※ 訳注: 各辞書は ``key`` および ``value`` というキーを持ちます)"
+
+msgid ":file_adds: List of strings. Files added by this changeset."
+msgstr ":file_adds: 文字列列挙。 当該リビジョンでの追加ファイル一覧。"
+
+msgid ""
+":file_copies: List of strings. Files copied in this changeset with\n"
+"    their sources."
+msgstr ":file_copies: 文字列列挙。  当該リビジョンでの複製元ファイル一覧。"
+
+msgid ""
+":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
+"    only if the --copied switch is set."
+msgstr ""
+":file_copies_switch: 文字列列挙。  \"file_copies\" と同義だが、\n"
+"    --copied 指定のある時のみ表示。"
+
+msgid ":file_dels: List of strings. Files removed by this changeset."
+msgstr ":file_dels: 文字列列挙。 当該リビジョンでの登録除外ファイル一覧。"
+
+msgid ":file_mods: List of strings. Files modified by this changeset."
+msgstr ":file_mods: 文字列列挙。 当該リビジョンでの変更ファイル一覧。"
+
+msgid ""
+":files: List of strings. All files modified, added, or removed by this\n"
+"    changeset."
+msgstr ""
+":files: 文字列列挙。 当該リビジョンでの、 変更/追加登録または\n"
+"    登録除外ファイルの一覧。"
+
+msgid ""
+":graphnode: String. The character representing the changeset node in an "
+"ASCII\n"
+"    revision graph."
+msgstr ""
+":graphnode: 文字列。 ASCII 文字での履歴グラフ表示の際に、\n"
+"    リビジョン表示で使用する文字。"
+
+msgid ""
+":graphwidth: Integer. The width of the graph drawn by 'log --graph' or zero."
+msgstr ":graphwidth: 整数。 'log --graph' でのグラフ表示カラム数 (または 0)。"
+
+msgid ":index: Integer. The current iteration of the loop. (0 indexed)"
+msgstr ":index: 整数。 繰り返しにおける現時点での添え字値。 (開始値は 0)"
+
+msgid "can't use index in this context"
+msgstr "ここでは添え字値を使用できません"
+
+msgid ""
+":latesttag: List of strings. The global tags on the most recent globally\n"
+"    tagged ancestor of this changeset.  If no such tags exist, the list\n"
+"    consists of the single string \"null\"."
+msgstr ""
+":latesttag: 文字列列挙。 当該リビジョンの祖先に対して、\n"
+"    最も最近に付与されたグローバルタグの一覧。 当該タグが存在しない場合、\n"
+"    単一要素 \"null\" を持つ配列。"
+
+msgid ":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ":latesttagdistance: 整数。 最新タグへの最長パス"
+
+msgid ":changessincelatesttag: Integer. All ancestors not in the latest tag."
+msgstr ""
+":changessincelatesttag: 数値。 最新タグ以降の全祖先リビジョン数。\n"
+"    (※ 訳注: 履歴中に分岐がない場合は latesttagdistance と等価です)"
+
+msgid ""
+":namespaces: Dict of lists. Names attached to this changeset per\n"
+"    namespace."
+msgstr ""
+":namespaces: 列挙の辞書。 リビジョンに関連付けられている名前を、\n"
+"    名前空間毎に列挙したもの。"
+
+msgid ""
+":node: String. The changeset identification hash, as a 40 hexadecimal\n"
+"    digit string."
+msgstr ":node: 文字列。 リビジョン識別用の 40 桁 16 進数ハッシュ値。"
+
+msgid ":obsolete: String. Whether the changeset is obsolete. (EXPERIMENTAL)"
+msgstr ""
+":obsolete: 文字列。 当該リビジョンの廃止状況。\n"
+"    (※ 訳注: \"obsolete\" か空文字列が返却されます) (実験的実装)"
+
+#, fuzzy
+msgid ""
+":peerurls: A dictionary of repository locations defined in the [paths] "
+"section\n"
+"    of your configuration file."
+msgstr ""
+"Mercurial 設定ファイルの ``templatealias`` セクションにおいて、\n"
+"キーワードや関数を、 独自に定義可能です::"
+
+msgid ""
+":predecessors: Returns the list if the closest visible successors. "
+"(EXPERIMENTAL)"
+msgstr ""
+
+msgid ":reporoot: String. The root directory of the current repository."
+msgstr ":reporoot: 文字列。 現リポジトリのルートディレクトリ位置。"
+
+msgid ""
+":successorssets: Returns a string of sets of successors for a changectx. "
+"Format used\n"
+"    is: [ctx1, ctx2], [ctx3] if ctx has been splitted into ctx1 and ctx2\n"
+"    while also diverged into ctx3. (EXPERIMENTAL)"
+msgstr ""
+
+msgid ""
+":succsandmarkers: Returns a list of dict for each final successor of ctx. "
+"The dict\n"
+"    contains successors node id in \"successors\" keys and the list of\n"
+"    obs-markers from ctx to the set of successors in \"markers\".\n"
+"    (EXPERIMENTAL)"
+msgstr ""
+
+msgid ""
+":p1rev: Integer. The repository-local revision number of the changeset's\n"
+"    first parent, or -1 if the changeset has no parents."
+msgstr ""
+":p1rev: 整数。 第1親リビジョンの、 当該リポジトリにおけるリビジョン番号。\n"
+"    親を持たないリビジョンの場合は -1。"
+
+msgid ""
+":p2rev: Integer. The repository-local revision number of the changeset's\n"
+"    second parent, or -1 if the changeset has no second parent."
+msgstr ""
+":p2rev: 整数。 第2親リビジョンの、 当該リポジトリにおけるリビジョン番号。\n"
+"    第2親を持たないリビジョンの場合は -1。"
+
+msgid ""
+":p1node: String. The identification hash of the changeset's first parent,\n"
+"    as a 40 digit hexadecimal string. If the changeset has no parents, all\n"
+"    digits are 0."
+msgstr ""
+":p1node: 文字列。 第1親リビジョンの 40 桁ハッシュ値の文字列。\n"
+"    親を持たないリビジョンの場合は、 全桁が 0 のハッシュ値文字列。"
+
+msgid ""
+":p2node: String. The identification hash of the changeset's second\n"
+"    parent, as a 40 digit hexadecimal string. If the changeset has no "
+"second\n"
+"    parent, all digits are 0."
+msgstr ""
+":p2node: 文字列。 第1親リビジョンの 40 桁ハッシュ値の文字列。\n"
+"    第2親を持たないリビジョンの場合は、 全桁が 0 のハッシュ値文字列。"
+
+msgid ""
+":parents: List of strings. The parents of the changeset in \"rev:node\"\n"
+"    format. If the changeset has only one \"natural\" parent (the "
+"predecessor\n"
+"    revision) nothing is shown."
+msgstr ""
+":parents: 文字列列挙。 当該リビジョンの親リビジョンの \"rev:node\" 形式。\n"
+"    親が単一で、 且つリビジョン番号が1つ前の場合は、 何も表示されません。"
+
+msgid ":phase: String. The changeset phase name."
+msgstr ":phase: 文字列。 当該リビジョンのフェーズ名。"
+
+#, fuzzy
+msgid ":phaseidx: Integer. The changeset phase index. (ADVANCED)"
+msgstr ":phaseidx: 数値。 当該リビジョンのフェーズ値。"
+
+msgid ":rev: Integer. The repository-local changeset revision number."
+msgstr ":rev: 整数。 各リポジトリ固有のリビジョン番号。"
+
+msgid ":subrepos: List of strings. Updated subrepositories in the changeset."
+msgstr ":subrepos: 文字列挙。 当該リビジョンで更新されたサブリポジトリ名。"
+
+msgid ":tags: List of strings. Any tags associated with the changeset."
+msgstr ":tags: 文字列列挙。 当該リビジョンに付与されたタグの一覧。"
+
+msgid ":termwidth: Integer. The width of the current terminal."
+msgstr ":termwidth: 整数。 端末の表示カラム数。"
+
+#, fuzzy
+msgid ""
+":instabilities: List of strings. Evolution instabilities affecting the "
+"changeset.\n"
+"    (EXPERIMENTAL)"
+msgstr ""
+":troubles: 文字列列挙。 当該リビジョンに関連する evolution の trouble 情報。"
+
+msgid ""
+":verbosity: String. The current output verbosity in 'debug', 'quiet', "
+"'verbose',\n"
+"    or ''."
+msgstr ""
+
+msgid ""
+":whyunstable: List of dicts explaining all instabilities of a changeset.\n"
+"    (EXPERIMENTAL)"
+msgstr ""
+
+msgid "unterminated template expansion"
+msgstr "テンプレート定義が終端していません"
+
+#, python-format
+msgid "unknown method '%s'"
+msgstr "未知の処理 '%s' が指定されました"
+
+#, python-format
+msgid "expected a symbol, got '%s'"
+msgstr "シンボル (symbol) 指定が必要です (実際の指定は '%s')"
+
+msgid "expected template specifier"
+msgstr "テンプレート指定が必要です"
+
+#, python-format
+msgid "recursive reference '%s' in template"
+msgstr "テンプレートでの '%s' における再帰参照"
+
+#, python-format
+msgid "unknown function '%s'"
+msgstr "未知の関数 '%s' が指定されました"
+
+#, python-format
+msgid "filter %s expects one argument"
+msgstr "フィルタ %s の引数は1個です"
+
 msgid "template alias"
 msgstr "テンプレート別名定義"
 
+#, fuzzy, python-format
+msgid "template resource not available: %s"
+msgstr "python mysql のサポートが利用できません: %s"
+
 msgid "no templates found, try `hg debuginstall` for more info"
 msgstr "テンプレートが見つかりません。`hg debuginstall` を試してみてください"
 
@@ -33483,6 +38550,50 @@
 msgid "invalid template engine: %s"
 msgstr "不正なテンプレートエンジン指定: %s"
 
+msgid "list of strings is not mappable"
+msgstr ""
+
+#, fuzzy
+msgid "not a date tuple nor a string"
+msgstr "date には文字列を指定してください"
+
+#, fuzzy
+msgid "not an integer"
+msgstr "数値だけの名前は使用できません"
+
+#, python-format
+msgid "incompatible use of template filter '%s'"
+msgstr "フィルタ指定 '%s' は互換性がありません"
+
+#, python-format
+msgid "template filter '%s' is not compatible with keyword '%s'"
+msgstr "フィルタ指定 '%s' はキーワード '%s' と互換性がありません"
+
+#, fuzzy, python-format
+msgid "keyword '%s' is not iterable of mappings"
+msgstr "キーワード '%s' にはリスト処理を適用できません"
+
+#, fuzzy, python-format
+msgid "%r is not iterable of mappings"
+msgstr "%r にはリスト処理を適用できません"
+
+#, fuzzy, python-format
+msgid "keyword '%s' has no member"
+msgstr "キーワード '%s' にはリスト処理を適用できません"
+
+#, fuzzy, python-format
+msgid "%r has no member"
+msgstr "%r にはリスト処理を適用できません"
+
+msgid "negation needs an integer argument"
+msgstr "負値指定は整数値に対してのみ有効です"
+
+msgid "arithmetic only defined on integers"
+msgstr "算術演算は整数値に対してのみ有効です"
+
+msgid "division by zero is not defined"
+msgstr "0 での除算は未サポートです"
+
 msgid "cannot use transaction when it is already committed/aborted"
 msgstr "既に完了/中断されているためトランザクションを利用できません"
 
@@ -33550,8 +38661,8 @@
 msgid "use 'hg config --edit' to set your username"
 msgstr "'hg config --edit' 実行でユーザ名を設定してください"
 
-#, python-format
-msgid "username %s contains a newline\n"
+#, fuzzy, python-format
+msgid "username %r contains a newline\n"
 msgstr "ユーザ名 %s が改行を含んでいます\n"
 
 #, python-format
@@ -33636,6 +38747,13 @@
 msgstr ""
 
 msgid ""
+"Compresion algorithm used to compress data. Some engine are faster than other"
+msgstr ""
+
+msgid "revlog content will be recompressed with the new algorithm."
+msgstr ""
+
+msgid ""
 "deltas within internal storage will be recalculated to choose an optimal "
 "base revision where this was not already done; the size of the repository "
 "may shrink and various operations may become faster; the first time this "
@@ -33673,6 +38791,19 @@
 "drastically slow down execution time"
 msgstr ""
 
+msgid ""
+"every revision will be re-added as if it was new content. It will go through "
+"the full storage mechanism giving extensions a chance to process it (eg. "
+"lfs). This is similar to \"redeltaall\" but even slower since more logic is "
+"involved."
+msgstr ""
+
+msgid ""
+"each revision will be added as new content to the internal storage; this "
+"will likely drastically slow down execution time, but some extensions might "
+"need it"
+msgstr ""
+
 #, python-format
 msgid ""
 "migrating %d total revisions (%d in filelogs, %d in manifests, %d in "
@@ -33897,10 +39028,6 @@
 msgid "%s mismatch: expected %s, got %s"
 msgstr "想定外の %s: 想定 %s に対して実際は %s"
 
-#, python-format
-msgid "command '%s' failed: %s"
-msgstr "コマンド '%s' が失敗: %s"
-
 msgid "copying"
 msgstr "コピー中"
 
@@ -33917,63 +39044,14 @@
 msgid "filename contains '%s', which is reserved on Windows"
 msgstr "ファイル名に、Windows で予約されている '%s' が含まれます"
 
-#, python-format
-msgid "filename contains %r, which is invalid on Windows"
+#, fuzzy, python-format
+msgid "filename contains '%s', which is invalid on Windows"
 msgstr "ファイル名に、Windows 上で不正な %r が含まれます"
 
 #, python-format
 msgid "filename ends with '%s', which is not allowed on Windows"
 msgstr "ファイル名の末尾が、 Windows 上で不正な '%s' です"
 
-msgid "check your clock"
-msgstr "システムの時刻設定を確認してください"
-
-#, python-format
-msgid "negative timestamp: %d"
-msgstr "負のタイムスタンプ: %d"
-
-msgid "now"
-msgstr "now"
-
-msgid "today"
-msgstr "today"
-
-msgid "yesterday"
-msgstr "yesterday"
-
-#, python-format
-msgid "invalid date: %r"
-msgstr "不正な日付: %r"
-
-#, python-format
-msgid "date exceeds 32 bits: %d"
-msgstr "日付が32ビットを超えています: %d"
-
-#, python-format
-msgid "impossible time zone offset: %d"
-msgstr "あり得ないタイムゾーン: %d"
-
-msgid "dates cannot consist entirely of whitespace"
-msgstr "空白文字だけで構成された日時指定は不正です"
-
-msgid "invalid day spec, use '<DATE'"
-msgstr "不正な日付の指定です。 '<DATE' 形式で記述してください。"
-
-msgid "invalid day spec, use '>DATE'"
-msgstr "不正な日付の指定です。 '>DATE' 形式で記述してください。"
-
-#, python-format
-msgid "invalid day spec: %s"
-msgstr "不正な日付の指定です: %s"
-
-#, python-format
-msgid "%s must be nonnegative (see 'hg help dates')"
-msgstr "%s には正の値を指定してください ('hg help dates' 参照)"
-
-#, python-format
-msgid "invalid regular expression: %s"
-msgstr "不正な正規表現: %s"
-
 msgid "line range must be positive"
 msgstr "行範囲は昇順で指定してください"
 
@@ -34027,6 +39105,10 @@
 msgid "file:// URLs can only refer to localhost"
 msgstr "file:// URL が参照できるのはローカルホストのみです"
 
+#, fuzzy, python-format
+msgid "potentially unsafe url: %r"
+msgstr "潜在的セキュリティ問題の可能性がある serve --stdio 実行: %r"
+
 #, python-format
 msgid "%.0f s"
 msgstr "%.0f 秒"
@@ -34092,7 +39174,7 @@
 
 #, python-format
 msgid "bundle type %s already registered by %s"
-msgstr "bundle 種別 %s は %s として登録済みです"
+msgstr "バンドル形式 %s は %s として登録済みです"
 
 #, python-format
 msgid "wire protocol compression %s already registered by %s"
@@ -34106,6 +39188,109 @@
 msgid "compression engine %s could not be loaded"
 msgstr "圧縮エンジン %s が読み込めません"
 
+msgid ""
+"``gzip``\n"
+"    zlib compression using the DEFLATE algorithm."
+msgstr ""
+
+msgid ""
+"        All Mercurial clients should support this format. The compression\n"
+"        algorithm strikes a reasonable balance between compression ratio\n"
+"        and size."
+msgstr ""
+
+msgid ""
+"``bzip2``\n"
+"    An algorithm that produces smaller bundles than ``gzip``."
+msgstr ""
+
+msgid "        All Mercurial clients should support this format."
+msgstr ""
+
+msgid ""
+"        This engine will likely produce smaller bundles than ``gzip`` but\n"
+"        will be significantly slower, both during compression and\n"
+"        decompression."
+msgstr ""
+
+msgid ""
+"        If available, the ``zstd`` engine can yield similar or better\n"
+"        compression at much higher speeds."
+msgstr ""
+
+msgid ""
+"``none``\n"
+"    No compression is performed."
+msgstr ""
+
+msgid "        Use this compression engine to explicitly disable compression."
+msgstr ""
+
+#, python-format
+msgid "stream ended unexpectedly (got %d bytes, expected %d)"
+msgstr "想定外のデータ終端 (実データ:%d バイト 期待データ:%d バイト)"
+
+msgid "check your clock"
+msgstr "システムの時刻設定を確認してください"
+
+#, python-format
+msgid "negative timestamp: %d"
+msgstr "負のタイムスタンプ: %d"
+
+msgid "now"
+msgstr "now"
+
+msgid "today"
+msgstr "today"
+
+msgid "yesterday"
+msgstr "yesterday"
+
+#, python-format
+msgid "invalid date: %r"
+msgstr "不正な日付: %r"
+
+#, python-format
+msgid "date exceeds 32 bits: %d"
+msgstr "日付が32ビットを超えています: %d"
+
+#, python-format
+msgid "impossible time zone offset: %d"
+msgstr "あり得ないタイムゾーン: %d"
+
+msgid "dates cannot consist entirely of whitespace"
+msgstr "空白文字だけで構成された日時指定は不正です"
+
+msgid "invalid day spec, use '<DATE'"
+msgstr "不正な日付の指定です。 '<DATE' 形式で記述してください。"
+
+msgid "invalid day spec, use '>DATE'"
+msgstr "不正な日付の指定です。 '>DATE' 形式で記述してください。"
+
+#, python-format
+msgid "invalid day spec: %s"
+msgstr "不正な日付の指定です: %s"
+
+#, python-format
+msgid "%s must be nonnegative (see 'hg help dates')"
+msgstr "%s には正の値を指定してください ('hg help dates' 参照)"
+
+#, python-format
+msgid "exited with status %d"
+msgstr "終了コード %d で終了しました"
+
+#, python-format
+msgid "killed by signal %d"
+msgstr "シグナル %d で強制終了されました"
+
+#, python-format
+msgid "command '%s' failed: %s"
+msgstr "コマンド '%s' が失敗: %s"
+
+#, python-format
+msgid "invalid regular expression: %s"
+msgstr "不正な正規表現: %s"
+
 #, python-format
 msgid "empty or missing %s"
 msgstr "%s は、 空か見つかりません"
@@ -34228,8 +39413,8 @@
 msgstr "ファイル名 '%s' のデコードに失敗"
 
 #, python-format
-msgid "warning: orphan revlog '%s'"
-msgstr "警告: revlog '%s' はどこからも参照されていません"
+msgid "warning: orphan data file '%s'"
+msgstr "警告: 履歴情報 '%s' はどこからも参照されていません"
 
 msgid "crosschecking files in changesets and manifests\n"
 msgstr "リビジョンとマニフェストによるファイルのクロスチェック中\n"
@@ -34313,21 +39498,120 @@
 msgid "can only call close() when context manager active"
 msgstr "(internal error) can only call close() when context manager active"
 
-msgid "incompatible Mercurial client; bundle2 required"
-msgstr "bundle2 未サポートの Mercurial クライアントとは互換性がありません"
-
-msgid "see https://www.mercurial-scm.org/wiki/IncompatibleClient"
-msgstr ""
-"https://www.mercurial-scm.org/wiki/IncompatibleClient を参照してください"
-
-msgid "look up remote revision"
-msgstr "連携先でのリビジョンの検索"
-
-msgid "push failed (unexpected response):"
-msgstr "履歴反映に失敗 (想定外の応答):"
-
-msgid "look up remote changes"
-msgstr "連携先での変更の検索"
+#, python-format
+msgid "illegal ssh hostname or username starting with - or /: %s"
+msgstr ""
+
+#, python-format
+msgid "received incomplete frame: got %d bytes: %s"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "frame length error: expected %d; got %d"
+msgstr "想定外のサイズです: 想定 %d に対して実際は %d"
+
+#, python-format
+msgid "received frame with even numbered stream ID: %d"
+msgstr ""
+
+msgid ""
+"received frame on unknown inactive stream without beginning of stream flag "
+"set"
+msgstr ""
+
+msgid "command request missing \"name\" field"
+msgstr ""
+
+msgid "received command request frame with both new and continuation flags set"
+msgstr ""
+
+msgid ""
+"received command request frame with neither new nor continuation flags set"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "expected command request frame; got %d"
+msgstr "想定外のコマンド: %s"
+
+#, python-format
+msgid "request with ID %d already received"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "request with ID %d is already active"
+msgstr "リビジョン %d は既に MQ 管理下にあります"
+
+msgid "received command request frame without new flag set"
+msgstr ""
+
+#, python-format
+msgid "received frame for request that is still active: %d"
+msgstr ""
+
+#, python-format
+msgid "received frame for request that is not receiving: %d"
+msgstr ""
+
+msgid "received command request frame when request frames were supposedly done"
+msgstr ""
+
+msgid "mismatch between expect data flag and previous frame"
+msgstr ""
+
+#, python-format
+msgid "received command data frame for request that is not expecting data: %d"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "received unexpected frame type: %d"
+msgstr "想定外のパラメータ: %s"
+
+msgid "command data frame without flags"
+msgstr ""
+
+#, fuzzy
+msgid "server already errored"
+msgstr "unshelve による退避情報復旧が未完了です"
+
+#, python-format
+msgid "received frame with odd numbered stream ID: %d"
+msgstr ""
+
+msgid "received frame on unknown stream without beginning of stream flag set"
+msgstr ""
+
+#, python-format
+msgid "received frame for inactive request ID: %d"
+msgstr ""
+
+msgid "Experimental API server endpoint not enabled"
+msgstr ""
+
+msgid ""
+"APIs can be accessed at /api/<name>, where <name> can be one of the "
+"following:\n"
+msgstr ""
+
+#, fuzzy
+msgid "(no available APIs)\n"
+msgstr "利用可能なスタイル:\n"
+
+#, python-format
+msgid ""
+"Unknown API: %s\n"
+"Known APIs: %s"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "API %s not enabled\n"
+msgstr "%s は改名されていません\n"
+
+msgid "requested wire protocol command is not available over HTTP"
+msgstr ""
+
+#, python-format
+msgid "unexpected parameter %r"
+msgstr "想定外のパラメータ: %s"
 
 #, python-format
 msgid "invalid compression engine defined in %s: %s"
@@ -34341,5 +39625,318 @@
 msgid "usable compression engines: %s"
 msgstr "利用可能な圧縮エンジン一覧: %s"
 
+msgid "unfulfilled batch command response"
+msgstr ""
+
+#, fuzzy
+msgid "clone bundles"
+msgstr "clone 用バンドルファイル %s を適用中\n"
+
+msgid "look up remote revision"
+msgstr "連携先でのリビジョンの検索"
+
+msgid "push failed (unexpected response):"
+msgstr "履歴反映に失敗 (想定外の応答):"
+
+msgid "look up remote changes"
+msgstr "連携先での変更の検索"
+
+msgid "incompatible Mercurial client; bundle2 required"
+msgstr "bundle2 未サポートの Mercurial クライアントとは互換性がありません"
+
+msgid "see https://www.mercurial-scm.org/wiki/IncompatibleClient"
+msgstr ""
+"https://www.mercurial-scm.org/wiki/IncompatibleClient を参照してください"
+
+msgid "server has pull-based clones disabled"
+msgstr ""
+
+#, fuzzy
+msgid "remove --pull if specified or upgrade Mercurial"
+msgstr "Mercurial の管理対象外ファイルの削除"
+
+#, fuzzy, python-format
+msgid "received %r\n"
+msgstr "%s を削除"
+
+msgid "HTTP version 2 API handler"
+msgstr ""
+
+#, python-format
+msgid "do not know how to process %s\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "unknown permission: %s"
+msgstr "'%s' は未知のリビジョンです"
+
+msgid "commands require POST requests"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "unknown wire protocol command: %s\n"
+msgstr "未知のコマンド %s"
+
+#, fuzzy, python-format
+msgid "invalid wire protocol command: %s"
+msgstr "利用可能なプロトコル: %s"
+
+#, python-format
+msgid "client MUST specify Accept header with value: %s\n"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "client MUST send Content-Type header with value: %s\n"
+msgstr "'%s' は壊れた Content-Type ヘッダ(%s)を送信しました"
+
+msgid "debugreflect service not available"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "wire protocol command not available: %s"
+msgstr "patch コマンドが失敗: %s"
+
+#, python-format
+msgid "insufficient permissions to execute command: %s"
+msgstr ""
+
+msgid "multiple commands cannot be issued to this URL"
+msgstr ""
+
+msgid "command in frame must match command in URL"
+msgstr ""
+
+msgid "unhandled response type from wire proto command"
+msgstr ""
+
 msgid "number of cpus must be an integer"
 msgstr "CPU 数には数値を指定してください"
+
+msgid "failed to kill worker threads while handling an exception\n"
+msgstr ""
+
+#~ msgid "not rebasing ignored %s\n"
+#~ msgstr "無視対象のリビジョン '%s' は移動されません\n"
+
+#~ msgid "cannot use revision %d as base, result would have 3 parents"
+#~ msgstr "親リビジョンが 3 つになるので、 リビジョン %d をベースにできません"
+
+#, fuzzy
+#~ msgid "could not find content for release note %s"
+#~ msgstr "サブリポジトリ '%s' で使用する 'git' がありません"
+
+#~ msgid ""
+#~ "    Output may be to a file, in which case the name of the file is\n"
+#~ "    given using a format string. The formatting rules as follows:"
+#~ msgstr ""
+#~ "    出力先指定(置換指定可能)がある場合、 出力はファイルに保存されます。\n"
+#~ "    置換指定として以下のものが使用可能です:"
+
+#~ msgid "include the specified changeset"
+#~ msgstr "複製対象に含めるリビジョン"
+
+#~ msgid "clone only the specified branch"
+#~ msgstr "指定ブランチのみを複製"
+
+#~ msgid ""
+#~ "      In some cases, you can clone repositories and the working\n"
+#~ "      directory using full hardlinks with ::"
+#~ msgstr ""
+#~ "      リポジトリの内部管理データと作業領域中のファイル全てに対する、\n"
+#~ "      ハードリンクによる複製の作成には、 以下の方法が使えるかも知れませ"
+#~ "ん::"
+
+#~ msgid "        $ cp -al REPO REPOCLONE"
+#~ msgstr "        $ cp -al REPO REPOCLONE"
+
+#~ msgid ""
+#~ "      This is the fastest way to clone, but it is not always safe. The\n"
+#~ "      operation is not atomic (making sure REPO is not modified during\n"
+#~ "      the operation is up to you) and you have to make sure your\n"
+#~ "      editor breaks hardlinks (Emacs and most Linux Kernel tools do\n"
+#~ "      so). Also, this is not compatible with certain extensions that\n"
+#~ "      place their metadata under the .hg directory, such as mq."
+#~ msgstr ""
+#~ "      この方法は最速の複製方法かもしれませんが、 常に安全とは限りませ"
+#~ "ん。\n"
+#~ "      操作の単一性は保障されません (複製中のリポジトリの変更防止は、 \n"
+#~ "      利用者責務) し、 利用するエディタのファイル変更時の振る舞いが、\n"
+#~ "      ハードリンクを破棄するものである必要があります (Emacs および多くの\n"
+#~ "      Linux 系ツールは、 そのように振舞います)。 この制約は、\n"
+#~ "      MQ エクステンションのように、 .hg ディレクトリ配下に、\n"
+#~ "      管理情報を格納するツールとは相容れません。"
+
+#~ msgid "cannot amend while merging"
+#~ msgstr "マージ実施中の作業領域では改変できません"
+
+#~ msgid "only one config item permitted"
+#~ msgstr "複数の設定項目指定は無効です"
+
+#~ msgid "unstable: %d changesets"
+#~ msgstr "unstable リビジョン: %d 個"
+
+#~ msgid "Select hunks to revert"
+#~ msgstr "取り消しに用いる差分の選択"
+
+#~ msgid "[-l REV] [-r REV] [-b BRANCH]... [OTHER]"
+#~ msgstr "[-l REV] [-r REV] [-b BRANCH]... [OTHER]"
+
+#~ msgid "push includes unstable changeset: %s!"
+#~ msgstr "履歴反映対象に非永続 (unstable) リビジョンが含まれます!: %s"
+
+#~ msgid "    %s"
+#~ msgstr "    %s"
+
+#~ msgid ""
+#~ "Copying\n"
+#~ "\"\"\"\"\"\"\"\n"
+#~ "Copyright (C) 2005-2017 Matt Mackall.\n"
+#~ "Free use of this software is granted under the terms of the GNU General\n"
+#~ "Public License version 2 or any later version."
+#~ msgstr ""
+#~ "Copying\n"
+#~ "\"\"\"\"\"\"\"\n"
+#~ "Copyright (C) 2005-2017 Matt Mackall.\n"
+#~ "本ソフトウェアは、 バージョン2またはそれ以降の GNU General\n"
+#~ "Public License の元での自由な利用が保証されています。"
+
+#~ msgid "operation not supported over http"
+#~ msgstr "http リポジトリでは未サポートの機能です"
+
+#~ msgid "revert change %d/%d to '%s'?"
+#~ msgstr "この変更 (%d 件目 / %d 件中) を '%s' に記録しますか?"
+
+#~ msgid "revert this change to '%s'?"
+#~ msgstr "この変更を '%s' に記録しますか?"
+
+#, fuzzy
+#~ msgid ""
+#~ "[Ynesfdaq?]$$ &Yes, revert this change$$ &No, skip this change$$ &Edit "
+#~ "this change manually$$ &Skip remaining changes to this file$$ Revert "
+#~ "remaining changes to this &file$$ &Done, skip remaining changes and files$"
+#~ "$ Revert &all changes to all remaining files$$ &Quit, reverting no changes"
+#~ "$$ &? (display help)"
+#~ msgstr ""
+#~ "[Ynesfdaq?]$$ この変更を記録(&yes)$$ この変更を無視(&no)$$ この変更を手動"
+#~ "で編集(&edit)$$ 同一ファイルの以後の全ての変更を無視(&skip)$$ 同一ファイル"
+#~ "(&file)の以後の全ての変更を記録$$ 以後の全ての変更を無視=記録作業を完了"
+#~ "(&done)$$ 以後の全て(&all)の変更を記録$$ 変更の記録自体を中止(&quit)$$ ヘ"
+#~ "ルプ表示(&?)"
+
+#~ msgid "bumped takes no arguments"
+#~ msgstr "bumped には引数が指定できません"
+
+#~ msgid "%s takes no arguments or a pattern and an optional revset"
+#~ msgstr "%s にはパターンと revset しか指定できません"
+
+#~ msgid "%s expected one starting revision"
+#~ msgstr "%s には開始リビジョンを指定してください"
+
+#~ msgid "unstable takes no arguments"
+#~ msgstr "unstable には引数が指定できません"
+
+#~ 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"
+#~ "    >>> # 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'"
+
+#~ msgid "    (EXPERIMENTAL)"
+#~ msgstr "    (実験的実装)"
+
+#~ msgid "enable Mercurial color mode (DEPRECATED)"
+#~ msgstr "Mercurial の出力のカラー化 (非推奨)"
+
+#~ msgid ""
+#~ "This extension enables Mercurial color mode. The feature is now directly\n"
+#~ "available in Mercurial core. You can access it using::"
+#~ msgstr ""
+#~ "本エクステンションは Mercurial 出力をカラー化します。 カラー化機能は、\n"
+#~ "Mercurial のコア機能に取り込まれたため、 以下の設定のみで利用可能です::"
+
+#~ msgid "histedit: moving bookmarks %s from %s to %s\n"
+#~ msgstr "histedit: ブックマーク %s を %s から %s に移動中\n"
+
+#~ msgid "too many shelved changes named '%s'"
+#~ msgstr "名前のベースに '%s' を使用する退避情報が多過ぎます"
+
+#~ msgid "received changelog group is empty"
+#~ msgstr "受信した変更履歴は空です"
+
+#~ msgid "stripping intermediate changeset %s\n"
+#~ msgstr "中途リビジョン %s を除外中\n"
+
+#~ msgid "stripping amended changeset %s\n"
+#~ msgstr "改変対象リビジョン %s を除外中\n"
+
+#~ msgid "no ignore patterns found"
+#~ msgstr "無視対象ファイルの指定がありません"
+
+#~ msgid "    (in addition a boolean can be used in place always/never)"
+#~ msgstr "    (true/false 等の真偽値は always/never 相当とみなされます)"
+
+#~ msgid "8. The merge of the file fails and must be resolved before commit."
+#~ msgstr ""
+#~ "8. ファイルのマージは失敗とみなされ、 手動での :hg:`resolve` が必要です。"
+
+#~ msgid ""
+#~ "  [pager]\n"
+#~ "  enable = false"
+#~ msgstr ""
+#~ "  [pager]\n"
+#~ "  enable = false"
+
+#~ msgid ""
+#~ "this may be an intermittent failure; if the error persists, consider "
+#~ "contacting the network or server operator"
+#~ msgstr ""
+#~ "ネットワーク経路の切断が主要因です。同様のエラーが継続的に発生する場合は、"
+#~ "ネットワークあるいはサーバの管理者に問い合わせてください"
+
+#~ msgid "fileset expression with no context"
+#~ msgstr "対象リビジョン指定なしの fileset 記述"
+
+#~ msgid "index %s unknown flags %#04x for format v0"
+#~ msgstr "インデックス %s: %#04x は未知のフラグです(フォーマット v0)"
+
+#~ msgid "index %s unknown format %d"
+#~ msgstr "インデックス %s: %d は未知のフォーマットです"
+
+#~ msgid ""
+#~ "setting ciphers in [hostsecurity] is not supported by this version of "
+#~ "Python"
+#~ msgstr ""
+#~ "このバージョンの Python では [hostsecurity] での暗号形式設定は未サポートで"
+#~ "す"
+
+#~ msgid ""
+#~ "remove the config option or run Mercurial with a modern Python version "
+#~ "(preferred)"
+#~ msgstr ""
+#~ "設定を破棄するか、新しい Python で Mercurial を実行してください(後者を推"
+#~ "奨)"
--- a/i18n/pt_BR.po	Sat May 26 03:01:14 2018 +0530
+++ b/i18n/pt_BR.po	Wed Jun 06 13:31:24 2018 -0400
@@ -27,15 +27,15 @@
 # update              atualizar (v.), atualização (s.)
 # working directory   diretório de trabalho
 # 
-# Wagner Bruna <wbruna@softwareexpress.com.br>, 2016, 2017.
+# Wagner Bruna <wbruna@softwareexpress.com.br>, 2016, 2017, 2018.
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@mercurial-scm.org>\n"
+"POT-Creation-Date: 2017-07-31 12:15-0300\n"
+"PO-Revision-Date: 2018-05-04 18:34-0300\n"
 "Last-Translator: Wagner Bruna <wbruna@softwareexpress.com.br>\n"
-"Language-Team: Brazilian Portuguese <>\n"
-"POT-Creation-Date: 2017-07-31 12:15-0300\n"
-"PO-Revision-Date: 2017-07-31 12:13-0300\n"
+"Language-Team: Portuguese <>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -1669,7 +1669,8 @@
 "\"clonebundles\" is a server-side extension used to advertise the existence\n"
 "of pre-generated, externally hosted bundle files to clients that are\n"
 "cloning so that cloning can be faster, more reliable, and require less\n"
-"resources on the server."
+"resources on the server. \"pullbundles\" is a related feature for sending\n"
+"pre-generated bundle files to clients as part of pull operations."
 msgstr ""
 
 msgid ""
@@ -1683,8 +1684,13 @@
 msgstr ""
 
 msgid ""
-"This extension provides server operators the ability to offload potentially\n"
-"expensive clone load to an external service. Here's how it works."
+"This extension provides server operators the ability to offload\n"
+"potentially expensive clone load to an external service. Pre-generated\n"
+"bundles also allow using more CPU intensive compression, reducing the\n"
+"effective bandwidth requirements."
+msgstr ""
+
+msgid "Here's how clone bundles work:"
 msgstr ""
 
 msgid ""
@@ -1702,7 +1708,7 @@
 "7. The client reconnects to the original server and performs the equivalent\n"
 "   of :hg:`pull` to retrieve all repository data not in the bundle. (The\n"
 "   repository could have been updated between when the bundle was created\n"
-"   and when the client started the clone.)"
+"   and when the client started the clone.) This may use \"pullbundles\"."
 msgstr ""
 
 msgid ""
@@ -1714,15 +1720,32 @@
 "clones to less than 1% of original."
 msgstr ""
 
+msgid "Here's how pullbundles work:"
+msgstr ""
+
+msgid ""
+"1. A manifest file listing available bundles and describing the revisions\n"
+"   is added to the Mercurial repository on the server.\n"
+"2. A new-enough client informs the server that it supports partial pulls\n"
+"   and initiates a pull.\n"
+"3. If the server has pull bundles enabled and sees the client advertising\n"
+"   partial pulls, it checks for a matching pull bundle in the manifest.\n"
+"   A bundle matches if the format is supported by the client, the client\n"
+"   has the required revisions already and needs something from the bundle.\n"
+"4. If there is at least one matching bundle, the server sends it to the client.\n"
+"5. The client applies the bundle and notices that the server reply was\n"
+"   incomplete. It initiates another pull."
+msgstr ""
+
 msgid "To work, this extension requires the following of server operators:"
 msgstr ""
 
 msgid ""
 "* Generating bundle files of repository content (typically periodically,\n"
 "  such as once per day).\n"
-"* A file server that clients have network access to and that Python knows\n"
-"  how to talk to through its normal URL handling facility (typically an\n"
-"  HTTP server).\n"
+"* Clone bundles: A file server that clients have network access to and that\n"
+"  Python knows how to talk to through its normal URL handling facility\n"
+"  (typically an HTTP/HTTPS server).\n"
 "* A process for keeping the bundles manifest in sync with available bundle\n"
 "  files."
 msgstr ""
@@ -1741,7 +1764,7 @@
 
 msgid ""
 ":hg:`debugcreatestreamclonebundle` can be used to produce a special\n"
-"*streaming clone bundle*. These are bundle files that are extremely efficient\n"
+"*streaming clonebundle*. These are bundle files that are extremely efficient\n"
 "to produce and consume (read: fast). However, they are larger than\n"
 "traditional bundle formats and require that clients support the exact set\n"
 "of repository data store formats in use by the repository that created them.\n"
@@ -1755,7 +1778,8 @@
 "A server operator is responsible for creating a ``.hg/clonebundles.manifest``\n"
 "file containing the list of available bundle files suitable for seeding\n"
 "clones. If this file does not exist, the repository will not advertise the\n"
-"existence of clone bundles when clients connect."
+"existence of clone bundles when clients connect. For pull bundles,\n"
+"``.hg/pullbundles.manifest`` is used."
 msgstr ""
 
 msgid "The manifest file contains a newline (\\n) delimited list of entries."
@@ -1775,6 +1799,11 @@
 msgstr ""
 
 msgid ""
+"For pull bundles, the URL is a path under the ``.hg`` directory of the\n"
+"repository."
+msgstr ""
+
+msgid ""
 "Keys in UPPERCASE are reserved for use by Mercurial and are defined below.\n"
 "All non-uppercase keys can be used by site installations. An example use\n"
 "for custom properties is to use the *datacenter* attribute to define which\n"
@@ -1845,6 +1874,19 @@
 msgstr ""
 
 msgid ""
+"heads\n"
+"   Used for pull bundles. This contains the ``;`` separated changeset\n"
+"   hashes of the heads of the bundle content."
+msgstr ""
+
+msgid ""
+"bases\n"
+"   Used for pull bundles. This contains the ``;`` separated changeset\n"
+"   hashes of the roots of the bundle content. This can be skipped if\n"
+"   the bundle was created without ``--base``."
+msgstr ""
+
+msgid ""
 "Manifests can contain multiple entries. Assuming metadata is defined, clients\n"
 "will filter entries from the manifest that they don't support. The remaining\n"
 "entries are optionally sorted by client preferences\n"
@@ -3781,6 +3823,17 @@
 "dos arquivos a serem comparados."
 
 msgid ""
+"If there is more than one file being compared and the \"child\" revision\n"
+"is the working directory, any modifications made in the external diff\n"
+"program will be copied back to the working directory from the temporary\n"
+"directory."
+msgstr ""
+"Se houver mais de um arquivo sendo comparado e a revisão filha for\n"
+"o diretório de trabalho, qualquer modificação feita na programa\n"
+"externo de diff será copiada do diretório temporário para o diretório\n"
+"de trabalho."
+
+msgid ""
 "The extdiff extension also allows you to configure new diff commands, so\n"
 "you do not need to type :hg:`extdiff -p kdiff3` always. ::"
 msgstr ""
@@ -4146,6 +4199,195 @@
 msgid "new changeset %d:%s merges remote changes with local\n"
 msgstr "nova revisão %d:%s mescla alterações remotas com local\n"
 
+msgid "rewrite file content in changesets or working copy (EXPERIMENTAL)"
+msgstr ""
+"reescreve o conteúdo de arquivos em revisões ou no diretório de trabalho "
+"(EXPERIMENTAL)"
+
+msgid ""
+"Provides a command that runs configured tools on the contents of modified files,\n"
+"writing back any fixes to the working copy or replacing changesets."
+msgstr ""
+"Fornece um comando que executa ferramentas configuradas no conteúdo\n"
+"de arquivos modificados, escrevendo correções na cópia de trabalho\n"
+"ou substituindo revisões."
+
+msgid ""
+"Here is an example configuration that causes :hg:`fix` to apply automatic\n"
+"formatting fixes to modified lines in C++ code::"
+msgstr ""
+"Esta é uma configuração de exemplo que faz com que :hg:`fix` aplique\n"
+"correções de formatação para linhas modificadas em código C++::"
+
+msgid ""
+"  [fix]\n"
+"  clang-format:command=clang-format --assume-filename={rootpath}\n"
+"  clang-format:linerange=--lines={first}:{last}\n"
+"  clang-format:fileset=set:**.cpp or **.hpp"
+msgstr ""
+"  [fix]\n"
+"  clang-format:command=clang-format --assume-filename={rootpath}\n"
+"  clang-format:linerange=--lines={first}:{last}\n"
+"  clang-format:fileset=set:**.cpp or **.hpp"
+
+msgid ""
+"The :command suboption forms the first part of the shell command that will be\n"
+"used to fix a file. The content of the file is passed on standard input, and the\n"
+"fixed file content is expected on standard output. If there is any output on\n"
+"standard error, the file will not be affected. Some values may be substituted\n"
+"into the command::"
+msgstr ""
+"A sub-opção :command forma a primeira parte do comando shell que\n"
+"será usado para corrigir um arquivo.\n"
+"O conteúdo do arquivo é passado na entrada padrão, e o conteúdo\n"
+"corrigido é esperado na saída padrão.\n"
+"Se houver qualquer conteúdo na saída de erros, o arquivo não será\n"
+"afetado.\n"
+"Alguns valores podem ser substituídos no comando::"
+
+msgid ""
+"  {rootpath}  The path of the file being fixed, relative to the repo root\n"
+"  {basename}  The name of the file being fixed, without the directory path"
+msgstr ""
+"  {rootpath}  O caminho do arquivo a ser corrigido, relativo ao raiz do repositório\n"
+"  {basename}  O nome do arquivo a ser corrigido, sem o diretório"
+
+msgid ""
+"If the :linerange suboption is set, the tool will only be run if there are\n"
+"changed lines in a file. The value of this suboption is appended to the shell\n"
+"command once for every range of changed lines in the file. Some values may be\n"
+"substituted into the command::"
+msgstr ""
+"Se a sub-opção :linerange for definida, a ferramenta será executada\n"
+"apenas se houverem linhas modificadas no arquivo.\n"
+"O valor desta sub-opção é concatenado ao comando shell uma vez para\n"
+"cada faixa de linhas modificadas no arquivo.\n"
+"Alguns valores podem ser substituídos no comando::"
+
+msgid ""
+"  {first}   The 1-based line number of the first line in the modified range\n"
+"  {last}    The 1-based line number of the last line in the modified range"
+msgstr ""
+"  {first}   O número contado a partir de 1 da primeira linha na faixa modificada\n"
+"  {last}    O número contado a partir de 1 da última linha na faixa modificada"
+
+msgid ""
+"The :fileset suboption determines which files will be passed through each\n"
+"configured tool. See :hg:`help fileset` for possible values. If there are file\n"
+"arguments to :hg:`fix`, the intersection of these filesets is used."
+msgstr ""
+"A sub-opção :fileset determina quais arquivos serão passados\n"
+"para cada ferramenta configurada. Veja :hg:`help fileset` para\n"
+"possíveis valores. Se houverem argumentos para :hg:`fix`, será\n"
+"usada a intersecção desses filesets."
+
+msgid ""
+"There is also a configurable limit for the maximum size of file that will be\n"
+"processed by :hg:`fix`::"
+msgstr ""
+"Há também um limite configurável para o tamanho máximo de arquivo\n"
+"que será processado por :hg:`fix`::"
+
+msgid ""
+"  [fix]\n"
+"  maxfilesize=2MB"
+msgstr ""
+"  [fix]\n"
+"  maxfilesize=2MB"
+
+msgid "fix all non-public non-obsolete revisions"
+msgstr "conserta todas as revisões não-públicas e não-obsoletas"
+
+msgid ""
+"revisions to diff against (overrides automatic selection, and applies to "
+"every revision being fixed)"
+msgstr ""
+"revis~oes que servirão como gase do diff (sobrepõe a seleção automática para"
+" todas as revisões a serem consertadas)"
+
+msgid "revisions to fix"
+msgstr "revisões a serem consertadas"
+
+msgid "fix the working directory"
+msgstr "conserta o diretório de trabalho"
+
+msgid "always fix every line of a file"
+msgstr "sempre conserta todas as linhas de um arquivo"
+
+msgid "rewrite file content in changesets or working directory"
+msgstr ""
+"reescreve o conteúdo de arquivos em revisões ou no diretório de trabalho"
+
+msgid ""
+"    Runs any configured tools to fix the content of files. Only affects files\n"
+"    with changes, unless file arguments are provided. Only affects changed lines\n"
+"    of files, unless the --whole flag is used. Some tools may always affect the\n"
+"    whole file regardless of --whole."
+msgstr ""
+"    Executa qualquer ferramenta configurada para consertar o\n"
+"    conteúdo de arquivos.\n"
+"    Afeta apenas arquivos com mudanças, a não ser que sejam\n"
+"    fornecidos argumentos de arquivo.\n"
+"    Afeta apenas as linhas modificadas dos arquivos, a não\n"
+"    ser que a opção --whole seja usada.\n"
+"    Algumas ferramentas podem afetar sempre o arquivo inteiro\n"
+"    independente da opção --whole."
+
+msgid ""
+"    If revisions are specified with --rev, those revisions will be checked, and\n"
+"    they may be replaced with new revisions that have fixed file content.  It is\n"
+"    desirable to specify all descendants of each specified revision, so that the\n"
+"    fixes propagate to the descendants. If all descendants are fixed at the same\n"
+"    time, no merging, rebasing, or evolution will be required."
+msgstr ""
+"    Se revisões forem especificadas com --rev, tais revisões serão\n"
+"    verificadas, e elas podem ser substituídas por novas revisões\n"
+"    com os conteúdos dos arquivos consertados.\n"
+"    É desejável especificar todos os descendentes de cada revisão\n"
+"    pedida, para que as correções sejam propagadas para os\n"
+"    descendentes.\n"
+"    Se todos os descendentes forem consertados ao mesmo tempo,\n"
+"    nem mesclagens, rebase ou evolução serão necessários."
+
+msgid ""
+"    If --working-dir is used, files with uncommitted changes in the working copy\n"
+"    will be fixed. If the checked-out revision is also fixed, the working\n"
+"    directory will update to the replacement revision."
+msgstr ""
+"    Se --working-dir for usada, serão consertados os arquivos com\n"
+"    mudanças pendentes no diretório de trabalho.\n"
+"    Se a revisão pai do diretório de trabalho também for consertada,\n"
+"    o diretório de trabalho será atualizado para a nova revisão."
+
+msgid ""
+"    When determining what lines of each file to fix at each revision, the whole\n"
+"    set of revisions being fixed is considered, so that fixes to earlier\n"
+"    revisions are not forgotten in later ones. The --base flag can be used to\n"
+"    override this default behavior, though it is not usually desirable to do so.\n"
+"    "
+msgstr ""
+"    Ao determinar quais linhas de cada arquivo devem ser corrigidas\n"
+"    em cada revisão, é considerado o conjunto completo de revisões,\n"
+"    para que correções em revisões anteriores não sejam esquecidas\n"
+"    em revisões posteriores.\n"
+"    A opção --base pode ser usada para modificar esse comportamento,\n"
+"    apesar de tipicamente isso não ser desejado.\n"
+"    "
+
+msgid "cannot specify both \"--rev\" and \"--all\""
+msgstr "não se pode especificar ao mesmo tempo \"--rev\" e \"--all\""
+
+#, python-format
+msgid "ignoring file larger than %s: %s\n"
+msgstr "ignorando arquivo maior do que %s: %s\n"
+
+msgid "can only fix a changeset together with all its descendants"
+msgstr ""
+"só é possível consertar uma revisão junto com todos os seus descendentes"
+
+msgid "wdir"
+msgstr "wdir"
+
 msgid "Faster status operations with the Watchman file monitor (EXPERIMENTAL)"
 msgstr ""
 "Operações de status de arquivo mais rápidas usando o monitorador Watchman "
@@ -5245,6 +5487,10 @@
 msgstr "histedit"
 
 #, python-format
+msgid "invalid changeset %s"
+msgstr "revisão inválida %s"
+
+#, python-format
 msgid "unknown changeset %s listed"
 msgstr "revisão desconhecida %s listada"
 
@@ -5690,6 +5936,175 @@
 msgid "hg histedit --continue"
 msgstr "hg histedit --continue"
 
+msgid " store some pushes in a remote blob store on the server (EXPERIMENTAL)"
+msgstr ""
+
+msgid ""
+"    [infinitepush]\n"
+"    # Server-side and client-side option. Pattern of the infinitepush bookmark\n"
+"    branchpattern = PATTERN"
+msgstr ""
+
+msgid ""
+"    # Server or client\n"
+"    server = False"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Possible values: 'disk' or 'sql'. Fails if not set\n"
+"    indextype = disk"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=sql.\n"
+"    # Format: 'IP:PORT:DB_NAME:USER:PASSWORD'\n"
+"    sqlhost = IP:PORT:DB_NAME:USER:PASSWORD"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=disk.\n"
+"    # Filesystem path to the index store\n"
+"    indexpath = PATH"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Possible values: 'disk' or 'external'\n"
+"    # Fails if not set\n"
+"    storetype = disk"
+msgstr ""
+
+msgid ""
+"    # Server-side option.\n"
+"    # Path to the binary that will save bundle to the bundlestore\n"
+"    # Formatted cmd line will be passed to it (see `put_args`)\n"
+"    put_binary = put"
+msgstr ""
+
+msgid ""
+"    # Serser-side option. Used only if storetype=external.\n"
+"    # Format cmd-line string for put binary. Placeholder: {filename}\n"
+"    put_args = {filename}"
+msgstr ""
+
+msgid ""
+"    # Server-side option.\n"
+"    # Path to the binary that get bundle from the bundlestore.\n"
+"    # Formatted cmd line will be passed to it (see `get_args`)\n"
+"    get_binary = get"
+msgstr ""
+
+msgid ""
+"    # Serser-side option. Used only if storetype=external.\n"
+"    # Format cmd-line string for get binary. Placeholders: {filename} {handle}\n"
+"    get_args = {filename} {handle}"
+msgstr ""
+
+msgid ""
+"    # Server-side option\n"
+"    logfile = FIlE"
+msgstr ""
+
+msgid ""
+"    # Server-side option\n"
+"    loglevel = DEBUG"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=sql.\n"
+"    # Sets mysql wait_timeout option.\n"
+"    waittimeout = 300"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=sql.\n"
+"    # Sets mysql innodb_lock_wait_timeout option.\n"
+"    locktimeout = 120"
+msgstr ""
+
+msgid ""
+"    # Server-side option. Used only if indextype=sql.\n"
+"    # Name of the repository\n"
+"    reponame = ''"
+msgstr ""
+
+msgid ""
+"    # Client-side option. Used by --list-remote option. List of remote scratch\n"
+"    # patterns to list if no patterns are specified.\n"
+"    defaultremotepatterns = ['*']"
+msgstr ""
+
+msgid ""
+"    # Instructs infinitepush to forward all received bundle2 parts to the\n"
+"    # bundle for storage. Defaults to False.\n"
+"    storeallparts = True"
+msgstr ""
+
+msgid ""
+"    # routes each incoming push to the bundlestore. defaults to False\n"
+"    pushtobundlestore = True"
+msgstr ""
+
+msgid ""
+"    [remotenames]\n"
+"    # Client-side option\n"
+"    # This option should be set only if remotenames extension is enabled.\n"
+"    # Whether remote bookmarks are tracked by remotenames extension.\n"
+"    bookmarks = True\n"
+msgstr ""
+
+msgid "please set infinitepush.sqlhost"
+msgstr ""
+
+msgid "please set infinitepush.reponame"
+msgstr ""
+
+#, python-format
+msgid "invalid log level %s"
+msgstr ""
+
+#, python-format
+msgid "unknown infinitepush store type specified %s"
+msgstr ""
+
+#, python-format
+msgid "unknown infinitepush index type specified %s"
+msgstr ""
+
+msgid "force push to go to bundle store (EXPERIMENTAL)"
+msgstr ""
+
+msgid "default repository not configured!"
+msgstr "o caminho default do repositório não foi configurado!"
+
+msgid "see 'hg help config.paths'"
+msgstr "veja 'hg help config.paths'"
+
+msgid "infinitepush bookmark '{}' does not exist in path '{}'"
+msgstr ""
+
+msgid "no changes found\n"
+msgstr "nenhuma alteração encontrada\n"
+
+msgid "storing changesets on the bundlestore\n"
+msgstr ""
+
+msgid "cannot push more than one head to a scratch branch"
+msgstr ""
+
+#, python-format
+msgid "pushing %d commit%s:\n"
+msgstr ""
+
+msgid "no commits to push"
+msgstr "nenhuma revisão a ser enviada"
+
+#, python-format
+msgid "no server support for %r"
+msgstr "sem suporte no servidor para %r"
+
+msgid "nothing to push"
+msgstr "nada para enviar"
+
 msgid "track previous positions of bookmarks (EXPERIMENTAL)"
 msgstr "rastreia posições anteriores de marcadores (EXPERIMENTAL)"
 
@@ -6536,8 +6951,8 @@
 msgstr "nenhuma revisão especificada"
 
 #, python-format
-msgid "pulling largefiles for revision %s\n"
-msgstr "trazendo largefiles para a revisão %s\n"
+msgid "pulling largefiles for revision %d\n"
+msgstr "trazendo largefiles para a revisão %d\n"
 
 #, python-format
 msgid "%d largefiles cached\n"
@@ -6836,14 +7251,15 @@
 msgstr ""
 
 msgid ""
-"To start a new repository, or add new LFS files, just create and add\n"
-"an ``.hglfs`` file as described below.  Because the file is tracked in\n"
-"the repository, all clones will use the same selection policy.  During\n"
-"subsequent commits, Mercurial will consult this file to determine if\n"
-"an added or modified file should be stored externally.  The type of\n"
-"storage depends on the characteristics of the file at each commit.  A\n"
-"file that is near a size threshold may switch back and forth between\n"
-"LFS and normal storage, as needed."
+"To start a new repository, or to add LFS files to an existing one, just\n"
+"create an ``.hglfs`` file as described below in the root directory of\n"
+"the repository.  Typically, this file should be put under version\n"
+"control, so that the settings will propagate to other repositories with\n"
+"push and pull.  During any commit, Mercurial will consult this file to\n"
+"determine if an added or modified file should be stored externally.  The\n"
+"type of storage depends on the characteristics of the file at each\n"
+"commit.  A file that is near a size threshold may switch back and forth\n"
+"between LFS and normal storage, as needed."
 msgstr ""
 
 msgid ""
@@ -6920,7 +7336,9 @@
 "    #   git-lfs endpoint\n"
 "    # - file:///tmp/path\n"
 "    #   local filesystem, usually for testing\n"
-"    # if unset, lfs will prompt setting this when it must use this value.\n"
+"    # if unset, lfs will assume the remote repository also handles blob storage\n"
+"    # for http(s) URLs.  Otherwise, lfs will prompt to set this when it must\n"
+"    # use this value.\n"
 "    # (default: unset)\n"
 "    url = https://example.com/repo.git/info/lfs"
 msgstr ""
@@ -6963,6 +7381,10 @@
 msgid "parse error in .hglfs: %s"
 msgstr ""
 
+#. i18n: "lfs" is a keyword
+msgid "lfs takes no arguments"
+msgstr ""
+
 msgid "upload large files introduced by REV"
 msgstr ""
 
@@ -6994,11 +7416,18 @@
 msgstr ""
 
 #, python-format
+msgid "LFS server error for \"%s\": %s"
+msgstr ""
+
+#, python-format
 msgid "LFS server error. Unsolicited response for oid %s"
 msgstr ""
 
 #, python-format
-msgid "LFS server error: %r"
+msgid "detected corrupt lfs object: %s"
+msgstr ""
+
+msgid "run hg verify"
 msgstr ""
 
 #, python-format
@@ -7031,14 +7460,19 @@
 msgid "lfs: processed: %s\n"
 msgstr ""
 
+#, python-format
+msgid "lfs: uploaded %d files (%s)\n"
+msgstr ""
+
+#, python-format
+msgid "lfs: downloaded %d files (%s)\n"
+msgstr ""
+
 msgid "lfs.url needs to be configured"
 msgstr ""
 
 #, python-format
-msgid "detected corrupt lfs object: %s"
-msgstr ""
-
-msgid "run hg verify"
+msgid "lfs: assuming remote store: %s\n"
 msgstr ""
 
 #, python-format
@@ -8711,6 +9145,169 @@
 msgid "operate on patch repository"
 msgstr "opera no repositório de patches"
 
+msgid ""
+"create clones which fetch history data for subset of files (EXPERIMENTAL)"
+msgstr ""
+
+msgid "no common changegroup version"
+msgstr ""
+
+msgid ""
+"server does not advertise changegroup version, can't negotiate support for "
+"ellipsis nodes"
+msgstr ""
+
+#, python-format
+msgid "depth must be positive, got %d"
+msgstr ""
+
+msgid "{} configuration for user {} is empty"
+msgstr ""
+
+msgid "The following includes are not accessible for {}: {}"
+msgstr ""
+
+#, python-format
+msgid "unexpected changespec node chunk type: %s"
+msgstr ""
+
+msgid "adding branch\n"
+msgstr "adicionando ramo\n"
+
+#, python-format
+msgid "error removing %s: %s\n"
+msgstr "erro ao remover %s: %s\n"
+
+msgid "uncompressed size of bundle content:\n"
+msgstr "tamanho não comprimido do conteúdo do bundle:\n"
+
+msgid "changesets"
+msgstr "revisões"
+
+#, python-format
+msgid "%8.i (changelog)\n"
+msgstr "%8.i (changelog)\n"
+
+msgid "create a narrow clone of select files"
+msgstr ""
+
+msgid "limit the history fetched by distance from heads"
+msgstr ""
+
+msgid "specifically fetch this file/directory"
+msgstr ""
+
+msgid "do not fetch this file/directory, even if included"
+msgstr ""
+
+msgid "server doesn't support narrow clones"
+msgstr ""
+
+msgid "looking for local changes to affected paths\n"
+msgstr ""
+
+msgid ""
+"The following changeset(s) or their ancestors have local changes not on the "
+"remote:\n"
+msgstr ""
+
+#, python-format
+msgid "...and %d more, use --verbose to list all\n"
+msgstr ""
+
+msgid "local changes found"
+msgstr "mudanças locais encontradas"
+
+msgid "use --force-delete-local-changes to ignore"
+msgstr ""
+
+#, python-format
+msgid "deleting %s\n"
+msgstr ""
+
+msgid "new paths to include"
+msgstr ""
+
+msgid "old paths to no longer include"
+msgstr ""
+
+msgid "new paths to exclude"
+msgstr ""
+
+msgid "old paths to no longer exclude"
+msgstr ""
+
+msgid "whether to replace the existing narrowspec"
+msgstr ""
+
+msgid "forces deletion of local changes when narrowing"
+msgstr ""
+
+msgid "[OPTIONS]... [REMOTE]"
+msgstr "[OPÇÃO]... [REMOTO]"
+
+msgid "show or change the current narrowspec"
+msgstr ""
+
+msgid ""
+"    With no argument, shows the current narrowspec entries, one per line. Each\n"
+"    line will be prefixed with 'I' or 'X' for included or excluded patterns,\n"
+"    respectively."
+msgstr ""
+
+msgid ""
+"    The narrowspec is comprised of expressions to match remote files and/or\n"
+"    directories that should be pulled into your client.\n"
+"    The narrowspec has *include* and *exclude* expressions, with excludes always\n"
+"    trumping includes: that is, if a file matches an exclude expression, it will\n"
+"    be excluded even if it also matches an include expression.\n"
+"    Excluding files that were never included has no effect."
+msgstr ""
+
+msgid ""
+"    Each included or excluded entry is in the format described by\n"
+"    'hg help patterns'."
+msgstr ""
+
+msgid ""
+"    The options allow you to add or remove included and excluded "
+"expressions."
+msgstr ""
+
+msgid ""
+"    If --clear is specified, then all previous includes and excludes are DROPPED\n"
+"    and replaced by the new ones specified to --addinclude and --addexclude.\n"
+"    If --clear is specified without any further options, the narrowspec will be\n"
+"    empty and will not match any files.\n"
+"    "
+msgstr ""
+
+msgid ""
+"The narrow command is only supported on respositories cloned with "
+"--narrow.\n"
+msgstr ""
+
+msgid "The --clear option is not yet supported.\n"
+msgstr ""
+
+#, python-format
+msgid "cannot track '%s' - it is outside the narrow clone"
+msgstr ""
+
+#, python-format
+msgid "merge affects file '%s' outside narrow, which is not yet supported"
+msgstr ""
+
+msgid "merging in the other direction may work"
+msgstr ""
+
+#, python-format
+msgid "conflict in file '%s' is outside narrow clone"
+msgstr ""
+
+msgid "expanding narrowspec\n"
+msgstr ""
+
 msgid "hooks for sending email push notifications"
 msgstr "gancho para enviar notificações por e-mail em um push"
 
@@ -8945,6 +9542,16 @@
 "  Padrão: 300."
 
 msgid ""
+"notify.maxdiffstat\n"
+"  Maximum number of diffstat lines to include in notification email. Set to -1\n"
+"  to include all of it. Default: -1."
+msgstr ""
+"notify.maxdiffstat\n"
+"  Número máximo de linhas de diffstat incluídas no e-mail de notificação.\n"
+"  Use -1 para incluir todas.\n"
+"  Padrão: -1."
+
+msgid ""
 "notify.maxsubject\n"
 "  Maximum number of characters in email's subject line. Default: 67."
 msgstr ""
@@ -9023,6 +9630,14 @@
 #, python-format
 msgid ""
 "\n"
+"diffstat (truncated from %d to %d lines):"
+msgstr ""
+"\n"
+"diffstat (truncado de %d para %d linhas):"
+
+#, python-format
+msgid ""
+"\n"
 "diffstat:"
 msgstr ""
 "\n"
@@ -9245,9 +9860,6 @@
 msgid "this patch series consists of %d patches."
 msgstr "esta série de patches consiste de %d patches."
 
-msgid "no changes found\n"
-msgstr "nenhuma alteração encontrada\n"
-
 msgid "send patches as inline message text (default)"
 msgstr "envia patches como texto no corpo da mensagem (padrão)"
 
@@ -9719,6 +10331,11 @@
 "Para mais informações:\n"
 "https://mercurial-scm.org/wiki/RebaseExtension\n"
 
+#, python-format
+msgid "ambiguous automatic rebase: %r could end up on any of %r"
+msgstr ""
+"rebase automático ambíguo: %r poderia ser colocado em qualquer um dentre: %r"
+
 msgid "rebase"
 msgstr "rebase"
 
@@ -9790,9 +10407,6 @@
 msgid "rebasing %s\n"
 msgstr "rebaseando %s\n"
 
-msgid "changesets"
-msgstr "revisões"
-
 msgid "unresolved conflicts (see hg resolve, then hg rebase --continue)"
 msgstr ""
 "conflitos não resolvidos (veja hg resolve, e em seguida hg rebase "
@@ -10110,9 +10724,19 @@
 msgid "abort an interrupted rebase"
 msgstr "aborta um rebaseamento interrompido"
 
+msgid ""
+"automatically rebase orphan revisions in the specified revset (EXPERIMENTAL)"
+msgstr ""
+"rebaseia automaticamente revisões órfãs no conjunto de revisões especificado"
+" (EXPERIMENTAL)"
+
 msgid "[-s REV | -b REV] [-d REV] [OPTION]"
 msgstr "[-s REV | -b REV] [-d REV] [OPÇÃO]"
 
+#, python-format
+msgid "--auto-orphans is incompatible with %s"
+msgstr "a opção --auto-orphans é incompatível com %s"
+
 msgid "hit merge conflicts; re-running rebase without in-memory merge\n"
 msgstr ""
 "conflitos de mesclagem encontrados; executando rebase novamente sem "
@@ -10204,8 +10828,8 @@
 
 #, python-format
 msgid ""
-"unable to collapse on top of %s, there is more than one external parent: %s"
-msgstr "incapaz de colapsar sobre %s, há mais de um pai externo: %s"
+"unable to collapse on top of %d, there is more than one external parent: %s"
+msgstr "incapaz de colapsar sobre %d, há mais de um pai externo: %s"
 
 #, python-format
 msgid "this rebase will cause divergences from: %s"
@@ -10232,8 +10856,8 @@
 msgstr "o rebaseamento de %d:%s incluirá mudanças não desejadas de %s"
 
 #, python-format
-msgid "updating mq patch %s to %s:%s\n"
-msgstr "atualizando patch mq %s para %s:%s\n"
+msgid "updating mq patch %s to %d:%s\n"
+msgstr "atualizando patch mq %s para %d:%s\n"
 
 msgid "missing .hg/last-message.txt for rebase"
 msgstr ".hg/last-message.txt faltando para o rebase"
@@ -10469,12 +11093,12 @@
 msgstr "(você quis dizer: %s?)\n"
 
 #, python-format
-msgid "release notes directive %s lacks content"
-msgstr "diretiva %s de notas de liberação não tem conteúdo"
-
-#, python-format
-msgid "unexpected block in release notes directive %s"
-msgstr "bloco inesperado na diretiva de notas de liberação %s"
+msgid "changeset %s: release notes directive %s lacks content"
+msgstr "revisão %s: diretiva de notas de liberação %s não tem conteúdo"
+
+#, python-format
+msgid "changeset %s: unexpected block in release notes directive %s\n"
+msgstr "revisão %s: bloco inesperado na diretiva de notas de liberação %s\n"
 
 #, python-format
 msgid "error parsing releasenotes for revision: '%s'\n"
@@ -10809,6 +11433,53 @@
 msgid "relinked %d files (%s reclaimed)\n"
 msgstr "restaurados hardlinks de %d arquivos (%s recuperados)\n"
 
+msgid " showing remotebookmarks and remotebranches in UI"
+msgstr " mostra marcadores e ramos remotos na interface"
+
+msgid ""
+"By default both remotebookmarks and remotebranches are turned on. Config knob to\n"
+"control the individually are as follows."
+msgstr ""
+"Por padrão são mostrados tanto marcadores como ramos remotos.\n"
+"As opções de configuração para controlar a exibição são como segue."
+
+msgid "Config options to tweak the default behaviour:"
+msgstr "Opções para ajustar o comportamento padrão:"
+
+msgid ""
+"remotenames.bookmarks\n"
+"  Boolean value to enable or disable showing of remotebookmarks (default: True)"
+msgstr ""
+"remotenames.bookmarks\n"
+"  Valor booleano para habilitar ou desabilitar a exibição\n"
+"  de marcadores remotos (padrão: True)"
+
+msgid ""
+"remotenames.branches\n"
+"  Boolean value to enable or disable showing of remotebranches (default: True)"
+msgstr ""
+"remotenames.branches\n"
+"  Valor booleano para habilitar ou desabilitar a exibição\n"
+"  de ramos remotos (padrão: True)"
+
+msgid ""
+"remotenames.hoistedpeer\n"
+"  Name of the peer whose remotebookmarks should be hoisted into the top-level\n"
+"  namespace (default: 'default')\n"
+msgstr ""
+"remotenames.hoistedpeer\n"
+"  Nome do repositório remoto cujos marcadores devam ser erguidos\n"
+"  até o espaço de nomes do topo (padrão: 'default')\n"
+
+msgid "remotenames takes no arguments"
+msgstr "remotenames não tem argumentos"
+
+msgid "remotebranches takes no arguments"
+msgstr "remotebranches não tem argumentos"
+
+msgid "remotebookmarks takes no arguments"
+msgstr "remotebookmarks não tem argumentos"
+
 msgid "extend schemes with shortcuts to repository swarms"
 msgstr "amplia protocolos com atalhos para conjuntos de repositórios"
 
@@ -11866,9 +12537,6 @@
 "descendentes do histórico do repositório. Veja a ajuda do\n"
 "comando para mais detalhes.\n"
 
-msgid "local changes found"
-msgstr "mudanças locais encontradas"
-
 msgid "local changed subrepos found"
 msgstr "encontrados sub-repositórios locais modificados"
 
@@ -11990,8 +12658,8 @@
 msgstr "omitindo revisão %s já aplicada\n"
 
 #, python-format
-msgid "skipping merge changeset %s:%s\n"
-msgstr "omitindo revisão de mesclagem %s:%s\n"
+msgid "skipping merge changeset %d:%s\n"
+msgstr "omitindo revisão de mesclagem %d:%s\n"
 
 #, python-format
 msgid "%s is not a parent of %s"
@@ -12265,14 +12933,21 @@
 "    This command undoes the effect of a local commit, returning the affected\n"
 "    files to their uncommitted state. This means that files modified or\n"
 "    deleted in the changeset will be left unchanged, and so will remain\n"
-"    modified in the working directory.\n"
-"    "
+"    modified in the working directory."
 msgstr ""
 "    Este comando desfaz o efeito de um commit local, restaurando os\n"
 "    arquivos afetados aos seus estados anteriores à consolidação.\n"
 "    Os arquivos modificados, adicionados ou removidos na revisão não\n"
 "    serão alterados, e portanto permanecerão como modificados,\n"
-"    adicionados ou removidos no diretório de trabalho.\n"
+"    adicionados ou removidos no diretório de trabalho."
+
+msgid ""
+"    If no files are specified, the commit will be pruned, unless --keep is\n"
+"    given.\n"
+"    "
+msgstr ""
+"    Se nenhum arquivo for especificado, a consolidação será removida,\n"
+"    a não ser que --keep seja passado.\n"
 "    "
 
 msgid "cannot uncommit merge changeset"
@@ -12281,12 +12956,8 @@
 msgid "nothing to uncommit\n"
 msgstr "nada para desfazer na consolidação\n"
 
-msgid ""
-"\n"
-"    undo the most recent amend operation on a current changeset"
-msgstr ""
-"\n"
-"    desfaz a operação amend mais recente na revisão atual"
+msgid "undo the most recent amend operation on a current changeset"
+msgstr "desfaz a operação amend mais recente em uma revisão atual"
 
 msgid ""
 "    This command will roll back to the previous version of a changeset,\n"
@@ -12696,6 +13367,17 @@
 msgid "File pointer is not seekable"
 msgstr "O ponteiro do arquivo não suporta seek"
 
+msgid "stream data requested but server does not allow this feature"
+msgstr ""
+"clone por stream requisitado, mas o servidor não permite essa funcionalidade"
+
+msgid ""
+"well-behaved clients should not be requesting stream data from servers not "
+"advertising it; the client may be buggy"
+msgstr ""
+"clientes bem comportados não deveriam pedir dados por stream para servidores"
+" que não anunciam esse suporte; pode haver erros no código do cliente"
+
 msgid "old bundle types only supports v1 changegroups"
 msgstr "tipos de bundle antigos suportam apenas changegroups v1"
 
@@ -12806,20 +13488,13 @@
 msgid "bundling"
 msgstr "criando bundle"
 
-msgid "uncompressed size of bundle content:\n"
-msgstr "tamanho não comprimido do conteúdo do bundle:\n"
-
-#, python-format
-msgid "%8.i (changelog)\n"
-msgstr "%8.i (changelog)\n"
-
 #, python-format
 msgid "%8.i (manifests)\n"
 msgstr "%8.i (manifestos)\n"
 
 #, python-format
-msgid "empty or missing revlog for %s"
-msgstr "revlog vazio ou não encontrado para %s"
+msgid "empty or missing file data for %s"
+msgstr "dados do arquivo %s vazios ou não encontrados"
 
 #, python-format
 msgid "%8.i  %s\n"
@@ -12850,8 +13525,8 @@
 msgstr "nome de usuário vazio"
 
 #, python-format
-msgid "username %s contains a newline"
-msgstr "nome de usuário %s contém uma quebra de linha"
+msgid "username %r contains a newline"
+msgstr "nome de usuário %r contém uma quebra de linha"
 
 #, python-format
 msgid "the name '%s' is reserved"
@@ -12867,6 +13542,9 @@
 msgid "do not perform actions, just print output"
 msgstr "não realiza ações, apenas imprime a saída"
 
+msgid "ask before applying actions"
+msgstr "pergunta antes de aplicar ações"
+
 msgid "specify ssh command to use"
 msgstr "especifica comando ssh a ser usado"
 
@@ -13049,11 +13727,8 @@
 msgid "can't read commit message '%s': %s"
 msgstr "não é possível ler mensagem de consolidação '%s': %s"
 
-msgid "limit must be a positive integer"
-msgstr "o limite deve ser um inteiro positivo"
-
-msgid "limit must be positive"
-msgstr "o limite deve ser positivo"
+msgid "incomplete format spec in output filename"
+msgstr "especificador de formato incompleto no nome de arquivo de saída"
 
 #, python-format
 msgid "invalid format spec '%%%s' in output filename"
@@ -13187,13 +13862,6 @@
 msgstr "revisão %s criada"
 
 #, python-format
-msgid "warning: %s not inside relative root %s\n"
-msgstr "aviso: %s não está dentro do raiz relativo %s\n"
-
-msgid "description:\n"
-msgstr "descrição:\n"
-
-#, python-format
 msgid "found revision %s from %s\n"
 msgstr "encontrada revisão %s de %s\n"
 
@@ -13214,23 +13882,6 @@
 "explícitos"
 
 #, python-format
-msgid "malformatted line-range pattern %s"
-msgstr "padrão de faixa de linhas malformado %s"
-
-#, python-format
-msgid "invalid line range for %s"
-msgstr "faixa de linhas inválida %s"
-
-#, python-format
-msgid "line range pattern '%s' must match exactly one file"
-msgstr ""
-"o padrão de faixa de linhas '%s' deve corresponder a exatamente um arquivo"
-
-#, python-format
-msgid "-G/--graph option is incompatible with --%s"
-msgstr "a opção -G/--graph é incompatível com --%s"
-
-#, python-format
 msgid "adding %s\n"
 msgstr "adicionando %s\n"
 
@@ -13238,6 +13889,21 @@
 msgid "skipping missing subrepository: %s\n"
 msgstr "desconsiderando sub-repositório faltando: %s\n"
 
+msgid "cannot specify both --dry-run and --interactive"
+msgstr "não se pode especificar ao mesmo tempo --dry-run e --interactive"
+
+msgid ""
+"[Ynsa?]$$ &Yes, forget this file$$ &No, skip this file$$ &Skip remaining "
+"files$$ Include &all remaining files$$ &? (display help)"
+msgstr ""
+"[Ynsa?]$$ (&Y)Sim, esqueça este arquivo$$ &Não, desconsidere este arquivo$$ "
+"De&Sconsidere os arquivos restantes$$ Inclui (&a)todos os arquivos "
+"remanescentes$$ &? (exibe a ajuda)"
+
+#, python-format
+msgid "forget %s %s"
+msgstr "esquecer %s %s"
+
 msgid "searching"
 msgstr "procurando"
 
@@ -13678,9 +14344,6 @@
 "               foobar.c\n"
 "             R foobar.c"
 
-msgid "similarity must be a number"
-msgstr "similaridade deve ser um número"
-
 msgid "annotate the specified revision"
 msgstr "faz um annotate da revisão especificada"
 
@@ -14506,24 +15169,27 @@
 msgstr "cria um arquivo bundle"
 
 msgid ""
-"    Generate a bundle file containing data to be added to a repository."
+"    Generate a bundle file containing data to be transferred to another\n"
+"    repository."
 msgstr ""
 "    Gera um arquivo bundle contendo dados para serem\n"
-"    adicionadas a outro repositório."
+"    transferidos para outro repositório."
 
 msgid ""
 "    To create a bundle containing all changesets, use -a/--all\n"
 "    (or --base null). Otherwise, hg assumes the destination will have\n"
 "    all the nodes you specify with --base parameters. Otherwise, hg\n"
 "    will assume the repository has all the nodes in destination, or\n"
-"    default-push/default if no destination is specified."
+"    default-push/default if no destination is specified, where destination\n"
+"    is the repository you provide through DEST option."
 msgstr ""
 "    Para criar um bundle contendo todas as revisões, use -a/--all\n"
 "    (ou --base null). Caso contrário, o Mercurial assume que o\n"
 "    destino terá todos os nós que você especificar com parâmetros\n"
-"    --base. Sem parâmetros --base, po Mercurial assume que o\n"
+"    --base. Sem parâmetros --base, o Mercurial assume que o\n"
 "    repositório possui todos os nós do destino, ou\n"
-"    default-push/default se um destino não for especificado."
+"    default-push/default se um destino não for especificado,\n"
+"    onde o destino é o repositório fornecido na opção DEST."
 
 msgid ""
 "    You can change bundle format with the -t/--type option. See\n"
@@ -14612,11 +15278,15 @@
 
 msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules as follows:"
+"    given using a template string. See :hg:`help templates`. In addition\n"
+"    to the common template keywords, the following formatting rules are\n"
+"    supported:"
 msgstr ""
 "    A saída pode ser gerada em um arquivo, e nesse caso o nome do\n"
-"    arquivo é dado usando uma string de formato. As regras de\n"
-"    formatação são como segue:"
+"    arquivo é dado usando uma string de modelo.\n"
+"    Veja :hg:`help templates`.\n"
+"    Além das palavras chave comuns de modelos, as seguintes regras\n"
+"    de formatação são suportadas:"
 
 msgid ""
 "    :``%%``: literal \"%\" character\n"
@@ -14627,7 +15297,8 @@
 "    :``%R``: changeset revision number\n"
 "    :``%h``: short-form changeset hash (12 hexadecimal digits)\n"
 "    :``%r``: zero-padded changeset revision number\n"
-"    :``%b``: basename of the exporting repository"
+"    :``%b``: basename of the exporting repository\n"
+"    :``\\``: literal \"\\\" character"
 msgstr ""
 "    :``%%``: caractere \"%\" literal\n"
 "    :``%s``: nome base do arquivo impresso\n"
@@ -14637,7 +15308,8 @@
 "    :``%R``: número de ordem da revisão\n"
 "    :``%h``: hash de forma curta da revisão (12 bytes hexadecimais)\n"
 "    :``%r``: número de ordem da revisão completado com zeros\n"
-"    :``%b``: nome base do repositório"
+"    :``%b``: nome base do repositório\n"
+"    :``\\``: caractere \"\\\" literal"
 
 msgid "the clone will include an empty working directory (only a repository)"
 msgstr ""
@@ -14646,11 +15318,13 @@
 msgid "revision, tag, or branch to check out"
 msgstr "revisão, etiqueta ou ramo a ser obtido"
 
-msgid "include the specified changeset"
-msgstr "inclui a revisão especificada"
-
-msgid "clone only the specified branch"
-msgstr "clona apenas o ramo especificado"
+msgid "do not clone everything, but include this changeset and its ancestors"
+msgstr "não clona tudo, mas inclui esta revisão e seus ancestrais"
+
+msgid ""
+"do not clone everything, but include this branch's changesets and their "
+"ancestors"
+msgstr "não clona tudo, mas inclui as revisões deste ramo e seus ancestrais"
 
 msgid "an alias to --stream (DEPRECATED)"
 msgstr "um apelido para --stream (OBSOLETO)"
@@ -14812,19 +15486,20 @@
 
 msgid ""
 "      When cloning from servers that support it, Mercurial may fetch\n"
-"      pre-generated data from a server-advertised URL. When this is done,\n"
-"      hooks operating on incoming changesets and changegroups may fire twice,\n"
-"      once for the bundle fetched from the URL and another for any additional\n"
-"      data not fetched from this URL. In addition, if an error occurs, the\n"
-"      repository may be rolled back to a partial clone. This behavior may\n"
-"      change in future releases. See :hg:`help -e clonebundles` for more."
+"      pre-generated data from a server-advertised URL or inline from the\n"
+"      same stream. When this is done, hooks operating on incoming changesets\n"
+"      and changegroups may fire more than once, once for each pre-generated\n"
+"      bundle and as well as for any additional remaining data. In addition,\n"
+"      if an error occurs, the repository may be rolled back to a partial\n"
+"      clone. This behavior may change in future releases.\n"
+"      See :hg:`help -e clonebundles` for more."
 msgstr ""
 "      Ao clonar de servidores que oferecem esse suporte, o Mercurial\n"
 "      pode obter bundles pré-gerados a partir de uma URL anunciada\n"
 "      pelo servidor.\n"
 "      Quando isso for feito, ganchos executados ao receber revisões\n"
-"      podem disparar duas vezes, uma para o bundle obtido da URL\n"
-"      e uma para dados adicionais não presentes nessa URL.\n"
+"      podem disparar mais de uma vez, para cada bundle pré-gerado\n"
+"      e para dados adicionais remanescentes.\n"
 "      Adicionalmente, se ocorrer um erro, pode ser executado um\n"
 "      rollback no repositório para um clone parcial.\n"
 "      Este comportamento pode ser alterado em versões posteriores\n"
@@ -15034,10 +15709,11 @@
 
 msgid ""
 "    With multiple arguments, print names and values of all config\n"
-"    items with matching section names."
+"    items with matching section names or section.names."
 msgstr ""
 "    Com múltiplos argumentos, imprime nomes e valores de todos os\n"
-"    itens de configuração que casarem com os nomes de seção."
+"    itens de configuração que casarem com os nomes de seção ou com\n"
+"    a forma seção.nome."
 
 msgid ""
 "    With --edit, start an editor on the user-level config file. With\n"
@@ -15072,9 +15748,6 @@
 msgid "edit failed"
 msgstr "falha ao editar"
 
-msgid "only one config item permitted"
-msgstr "apenas um item de configuração permitido"
-
 msgid "record a copy that has already occurred"
 msgstr "grava uma cópia que já ocorreu"
 
@@ -15277,14 +15950,6 @@
 "       apenas com seu primeiro pai."
 
 msgid ""
-"    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:"
-msgstr ""
-"    A saída pode ser gerada em um arquivo, e nesse caso o nome do\n"
-"    arquivo é dado usando uma string de formato. As regras de\n"
-"    formatação são como segue:"
-
-msgid ""
 "    :``%%``: literal \"%\" character\n"
 "    :``%H``: changeset hash (40 hexadecimal digits)\n"
 "    :``%N``: number of patches being generated\n"
@@ -15293,7 +15958,8 @@
 "    :``%h``: short-form changeset hash (12 hexadecimal digits)\n"
 "    :``%m``: first line of the commit message (only alphanumeric characters)\n"
 "    :``%n``: zero-padded sequence number, starting at 1\n"
-"    :``%r``: zero-padded changeset revision number"
+"    :``%r``: zero-padded changeset revision number\n"
+"    :``\\``: literal \"\\\" character"
 msgstr ""
 "    :``%%``: caractere \"%\" literal\n"
 "    :``%H``: hash da revisão (40 bytes hexadecimais)\n"
@@ -15303,7 +15969,8 @@
 "    :``%h``: hash de forma curta da revisão (12 bytes hexadecimais)\n"
 "    :``%m``: primeira linha da mensagem de consolidação (apenas caracteres alfanuméricos)\n"
 "    :``%n``: número sequencial completado com zeros, começando em 1\n"
-"    :``%r``: número de ordem da revisão completado com zeros"
+"    :``%r``: número de ordem da revisão completado com zeros\n"
+"    :``\\``: caractere \"\\\" literal"
 
 msgid ""
 "    Without the -a/--text option, export will avoid generating diffs\n"
@@ -16178,6 +16845,9 @@
 msgid "cannot use --no-commit with --bypass"
 msgstr "não se pode usar --no-commit com --bypass"
 
+msgid "similarity must be a number"
+msgstr "similaridade deve ser um número"
+
 msgid "cannot use --similarity with --bypass"
 msgstr "não se pode usar --similarity com --bypass"
 
@@ -16453,16 +17123,18 @@
 msgid ""
 "    With --graph the revisions are shown as an ASCII art DAG with the most\n"
 "    recent changeset at the top.\n"
-"    'o' is a changeset, '@' is a working directory parent, 'x' is obsolete,\n"
-"    and '+' represents a fork where the changeset from the lines below is a\n"
-"    parent of the 'o' merge on the same line.\n"
+"    'o' is a changeset, '@' is a working directory parent, '_' closes a branch,\n"
+"    'x' is obsolete, '*' is unstable, and '+' represents a fork where the\n"
+"    changeset from the lines below is a parent of the 'o' merge on the same\n"
+"    line.\n"
 "    Paths in the DAG are represented with '|', '/' and so forth. ':' in place\n"
 "    of a '|' indicates one or more revisions in a path are omitted."
 msgstr ""
 "    Com --graph as revisões são mostradas como um DAG em arte ASCII\n"
 "    com as revisões mais recentes no topo.\n"
-"    'o' é uma revisão, '@' é o pai do diretório de trabalho, 'x' é\n"
-"    obsoleta, e '+' representa uma bifurcação onde a revisão\n"
+"    'o' é uma revisão, '@' é o pai do diretório de trabalho,\n"
+"    '_' fecha um ramo, 'x' é obsoleta, '*' é instável\n"
+"    e '+' representa uma bifurcação onde a revisão\n"
 "    das linhas abaixo é um pai da mesclagem 'o' na mesma linha.\n"
 "    Caminhos no DAG são representados por '|', '/' e assim por diante.\n"
 "    ':' no lugar de '|' indica que uma ou mais revisões em um caminho\n"
@@ -16634,9 +17306,6 @@
 msgid "FILE arguments are not compatible with --line-range option"
 msgstr "argumentos de ARQUIVO não são compatíveis com a opção --line-range"
 
-msgid "graph not supported with line range patterns"
-msgstr "o grafo não é suportado com padrões de faixa de linhas"
-
 msgid "revision to display"
 msgstr "revisão a ser exibida"
 
@@ -17067,6 +17736,21 @@
 "    de trabalho."
 
 msgid ""
+"    When cloning from servers that support it, Mercurial may fetch\n"
+"    pre-generated data. When this is done, hooks operating on incoming\n"
+"    changesets and changegroups may fire more than once, once for each\n"
+"    pre-generated bundle and as well as for any additional remaining\n"
+"    data. See :hg:`help -e clonebundles` for more."
+msgstr ""
+"      Ao clonar de servidores que oferecem esse suporte, o Mercurial\n"
+"      pode obter bundles pré-gerados a partir de uma URL anunciada\n"
+"      pelo servidor.\n"
+"      Quando isso for feito, ganchos executados ao receber revisões\n"
+"      podem disparar mais de uma vez, para cada bundle pré-gerado\n"
+"      e para dados adicionais remanescentes.\n"
+"      Veja :hg:`help -e clonebundles` para mais informações."
+
+msgid ""
 "    Use :hg:`incoming` if you want to see what would have been added\n"
 "    by a pull at the time you issued this command. If you then decide\n"
 "    to add those changes to the repository, you should use :hg:`pull\n"
@@ -17238,12 +17922,6 @@
 "    para enviar.\n"
 "    "
 
-msgid "default repository not configured!"
-msgstr "o caminho default do repositório não foi configurado!"
-
-msgid "see 'hg help config.paths'"
-msgstr "veja 'hg help config.paths'"
-
 #, python-format
 msgid "pushing to %s\n"
 msgstr "enviando revisões para %s\n"
@@ -18643,21 +19321,14 @@
 msgstr "não encontrado no manifesto"
 
 #, python-format
-msgid "hidden revision '%s'"
-msgstr "revisão oculta '%s'"
-
-msgid "use --hidden to access hidden revisions"
-msgstr "use --hidden para acessar revisões ocultas"
-
-#, python-format
-msgid "filtered revision '%s' (not in '%s' subset)"
-msgstr "revisão filtrada '%s' (não está no subconjunto '%s')"
-
-#, python-format
 msgid "working directory has unknown parent '%s'!"
 msgstr "diretório de trabalho tem pai desconhecido '%s'!"
 
 #, python-format
+msgid "filtered revision '%s'"
+msgstr "revisão filtrada '%s'"
+
+#, python-format
 msgid "unknown revision '%s'"
 msgstr "revisão desconhecida '%s'"
 
@@ -19222,6 +19893,11 @@
 "    :``readdensity``:  density of useful bytes in the data read from the disk\n"
 "    :``srchunks``:  in how many data hunks the whole revision would be read"
 msgstr ""
+"    :``readsize``:     tamanho total dos dados lidos do disco para uma revisão\n"
+"                       (soma dos tamanhos de todos os blocos)\n"
+"    :``largestblock``: tamanho do maior bloco de dados lido do disco\n"
+"    :``readdensity``:  densidade de bytes úteis nos dados lidos do disco\n"
+"    :``srchunks``:  em quantos trechos de dados a revisão completa seria lida"
 
 msgid ""
 "    The sparse read can be enabled with experimental.sparse-read = True\n"
@@ -19551,10 +20227,10 @@
 msgstr "libera o lock do working state (PERIGOSO)"
 
 msgid "set the store lock until stopped"
-msgstr ""
+msgstr "bloqueia o lock do armazenamento até ser interrompido"
 
 msgid "set the working state lock until stopped"
-msgstr ""
+msgstr "bloqueia o lock do estado de trabalho até ser interrompido"
 
 msgid "show or modify state of locks"
 msgstr "mostra ou modifica o estado dos locks"
@@ -19597,18 +20273,21 @@
 "    The command will wait until an interruption (SIGINT, SIGTERM, ...) occurs.\n"
 "    The set locks are removed when the command exits."
 msgstr ""
+"    Bloquear um lock impedirá a alteração de dados por outros comandos.\n"
+"    O comando esperará até que ocorra uma interrupção (SIGINT, SIGTERM, ...).\n"
+"    Os bloqueios serão removidos quando o comando terminar."
 
 msgid "    Returns 0 if no locks are held."
 msgstr "    Devolve 0 se se nenhum lock estiver bloqueado."
 
 msgid "wlock is already held"
-msgstr ""
+msgstr "wlock já está preso"
 
 msgid "lock is already held"
-msgstr ""
+msgstr "lock já está preso"
 
 msgid "ready to release the lock (y)? $$ &Yes"
-msgstr ""
+msgstr "pronto para liberar o lock? $$ (&Y)Sim"
 
 msgid "print merge state"
 msgstr "imprime o estado da mesclagem"
@@ -19701,6 +20380,27 @@
 "    do caminho. Se --full for especificado, são usados caminhos\n"
 "    completos."
 
+msgid "establish a connection to a peer repository"
+msgstr "estabelece uma conexão com um repositório remoto"
+
+#, python-format
+msgid "url: %s\n"
+msgstr "url: %s\n"
+
+#, python-format
+msgid "local: %s\n"
+msgstr "local: %s\n"
+
+msgid "no"
+msgstr "não"
+
+msgid "yes"
+msgstr "sim"
+
+#, python-format
+msgid "pushable: %s\n"
+msgstr "pode receber push: %s\n"
+
 msgid "check for files in this revision"
 msgstr "checa por arquivos nesta revisão"
 
@@ -19969,6 +20669,35 @@
 msgid "invalid stage name: %s"
 msgstr "nome de estágio inválido: %s"
 
+msgid "run an SSH server bound to process handles"
+msgstr "executa um servidor SSH associando a manipuladores do processo"
+
+msgid "file descriptor to log server I/O to"
+msgstr "descritor de arquivos que receberá logs de I/O"
+
+msgid "file to log server I/O to"
+msgstr "arquivo que receberá logs de I/O"
+
+msgid "run a server with advanced settings"
+msgstr "executa um servidor com configurações avançadas"
+
+msgid ""
+"    This command is similar to :hg:`serve`. It exists partially as a\n"
+"    workaround to the fact that ``hg serve --stdio`` must have specific\n"
+"    arguments for security reasons.\n"
+"    "
+msgstr ""
+"    Este comando é similar a :hg:`serve`. Existe em parte para contornar\n"
+"    o fato de ``hg serve --stdio`` exigir argumentos específicos por\n"
+"    razões de segurança.\n"
+"    "
+
+msgid "only --sshstdio is currently supported"
+msgstr "apenas --sshstdio é suportado no momento"
+
+msgid "cannot use both --logiofd and --logiofile"
+msgstr "não se pode especificar ao mesmo tempo '--logiofd' e '--logiofile'"
+
 msgid "REV1 [REV2]"
 msgstr "REV1 [REV2]"
 
@@ -20160,6 +20889,18 @@
 msgid "malformed keyword definition: %s"
 msgstr "definição de palavra chave malformada: %s"
 
+msgid "prompt text"
+msgstr "texto de solicitação"
+
+msgid "[-p TEXT]"
+msgstr "[-p TEXTO]"
+
+msgid "show prompt to type password"
+msgstr "mostra um texto para solicitar a senha"
+
+msgid "show plain prompt"
+msgstr "mostra solicitação simples"
+
 msgid "warm all known caches in the repository"
 msgstr "aquece todos os caches conhecidos no repositório"
 
@@ -20219,9 +20960,462 @@
 msgid "show how files match on given patterns"
 msgstr "mostra como os arquivos casam com os padrões pedidos"
 
+msgid "explain instabilities of a changeset"
+msgstr "explica instabilidades de uma revisão"
+
 msgid "REPO [OPTIONS]... [ONE [TWO]]"
 msgstr "REPO [OPÇÕES]... [UM [DOIS]]"
 
+msgid "indented line outside of block"
+msgstr "linha indentada fora de um bloco"
+
+msgid "start an SSH server for this repo"
+msgstr "inicia um servidor SSH para este repositório"
+
+msgid "construct a specific version of the peer"
+msgstr "constrói uma versão específica do repositório peer"
+
+msgid "do not read from stderr of the remote"
+msgstr "não lê de stderr do remoto"
+
+msgid "do not log I/O related to the peer handshake"
+msgstr "não loga I/O relacionado ao handhake com o peer"
+
+msgid "send wire protocol commands to a server"
+msgstr "manda comandos do protocolo de comunicação para um servidor"
+
+msgid ""
+"    This command can be used to issue wire protocol commands to remote\n"
+"    peers and to debug the raw data being exchanged."
+msgstr ""
+
+msgid ""
+"    ``--localssh`` will start an SSH server against the current repository\n"
+"    and connect to that. By default, the connection will perform a handshake\n"
+"    and establish an appropriate peer instance."
+msgstr ""
+
+msgid ""
+"    ``--peer`` can be used to bypass the handshake protocol and construct a\n"
+"    peer instance using the specified class type. Valid values are ``raw``,\n"
+"    ``http2``, ``ssh1``, and ``ssh2``. ``raw`` instances only allow sending\n"
+"    raw data payloads and don't support higher-level command actions."
+msgstr ""
+
+msgid ""
+"    ``--noreadstderr`` can be used to disable automatic reading from stderr\n"
+"    of the peer (for SSH connections only). Disabling automatic reading of\n"
+"    stderr is useful for making output more deterministic."
+msgstr ""
+
+msgid ""
+"    Commands are issued via a mini language which is specified via stdin.\n"
+"    The language consists of individual actions to perform. An action is\n"
+"    defined by a block. A block is defined as a line with no leading\n"
+"    space followed by 0 or more lines with leading space. Blocks are\n"
+"    effectively a high-level command with additional metadata."
+msgstr ""
+
+msgid "    Lines beginning with ``#`` are ignored."
+msgstr "    Linhas começadas por ``#`` são ignoradas."
+
+msgid "    The following sections denote available actions."
+msgstr "    As seguintes seões mostram ações disponíveis."
+
+msgid ""
+"    raw\n"
+"    ---"
+msgstr ""
+"    raw\n"
+"    ---"
+
+msgid "    Send raw data to the server."
+msgstr ""
+
+msgid ""
+"    The block payload contains the raw data to send as one atomic send\n"
+"    operation. The data may not actually be delivered in a single system\n"
+"    call: it depends on the abilities of the transport being used."
+msgstr ""
+
+msgid ""
+"    Each line in the block is de-indented and concatenated. Then, that\n"
+"    value is evaluated as a Python b'' literal. This allows the use of\n"
+"    backslash escaping, etc."
+msgstr ""
+
+msgid ""
+"    raw+\n"
+"    ----"
+msgstr ""
+"    raw+\n"
+"    ----"
+
+msgid "    Behaves like ``raw`` except flushes output afterwards."
+msgstr ""
+
+msgid ""
+"    command <X>\n"
+"    -----------"
+msgstr ""
+"    command <X>\n"
+"    -----------"
+
+msgid ""
+"    Send a request to run a named command, whose name follows the ``command``\n"
+"    string."
+msgstr ""
+
+msgid ""
+"    Arguments to the command are defined as lines in this block. The format of\n"
+"    each line is ``<key> <value>``. e.g.::"
+msgstr ""
+
+msgid ""
+"       command listkeys\n"
+"           namespace bookmarks"
+msgstr ""
+
+msgid ""
+"    If the value begins with ``eval:``, it will be interpreted as a Python\n"
+"    literal expression. Otherwise values are interpreted as Python b'' literals.\n"
+"    This allows sending complex types and encoding special byte sequences via\n"
+"    backslash escaping."
+msgstr ""
+
+msgid "    The following arguments have special meaning:"
+msgstr ""
+
+msgid ""
+"    ``PUSHFILE``\n"
+"        When defined, the *push* mechanism of the peer will be used instead\n"
+"        of the static request-response mechanism and the content of the\n"
+"        file specified in the value of this argument will be sent as the\n"
+"        command payload."
+msgstr ""
+
+msgid "        This can be used to submit a local bundle file to the remote."
+msgstr ""
+
+msgid ""
+"    batchbegin\n"
+"    ----------"
+msgstr ""
+"    batchbegin\n"
+"    ----------"
+
+msgid "    Instruct the peer to begin a batched send."
+msgstr ""
+
+msgid ""
+"    All ``command`` blocks are queued for execution until the next\n"
+"    ``batchsubmit`` block."
+msgstr ""
+
+msgid ""
+"    batchsubmit\n"
+"    -----------"
+msgstr ""
+"    batchsubmit\n"
+"    -----------"
+
+msgid "    Submit previously queued ``command`` blocks as a batch request."
+msgstr ""
+
+msgid "    This action MUST be paired with a ``batchbegin`` action."
+msgstr ""
+
+msgid ""
+"    httprequest <method> <path>\n"
+"    ---------------------------"
+msgstr ""
+"    httprequest <método> <caminho>\n"
+"    ------------------------------"
+
+msgid "    (HTTP peer only)"
+msgstr ""
+
+msgid "    Send an HTTP request to the peer."
+msgstr ""
+
+msgid ""
+"    The HTTP request line follows the ``httprequest`` action. e.g. ``GET "
+"/foo``."
+msgstr ""
+
+msgid ""
+"    Arguments of the form ``<key>: <value>`` are interpreted as HTTP request\n"
+"    headers to add to the request. e.g. ``Accept: foo``."
+msgstr ""
+
+msgid "    The following arguments are special:"
+msgstr "    Os seguintes argumentos são especiais:"
+
+msgid ""
+"    ``BODYFILE``\n"
+"        The content of the file defined as the value to this argument will be\n"
+"        transferred verbatim as the HTTP request body."
+msgstr ""
+
+msgid ""
+"    ``frame <type> <flags> <payload>``\n"
+"        Send a unified protocol frame as part of the request body."
+msgstr ""
+
+msgid ""
+"        All frames will be collected and sent as the body to the HTTP\n"
+"        request."
+msgstr ""
+
+msgid ""
+"    close\n"
+"    -----"
+msgstr ""
+"    close\n"
+"    -----"
+
+msgid "    Close the connection to the server."
+msgstr "    Fecha a conexão com o servidor."
+
+msgid ""
+"    flush\n"
+"    -----"
+msgstr ""
+"    flush\n"
+"    -----"
+
+msgid "    Flush data written to the server."
+msgstr ""
+
+msgid ""
+"    readavailable\n"
+"    -------------"
+msgstr ""
+"    readavailable\n"
+"    -------------"
+
+msgid ""
+"    Close the write end of the connection and read all available data from\n"
+"    the server."
+msgstr ""
+
+msgid ""
+"    If the connection to the server encompasses multiple pipes, we poll both\n"
+"    pipes and read available data."
+msgstr ""
+
+msgid ""
+"    readline\n"
+"    --------"
+msgstr ""
+"    readline\n"
+"    --------"
+
+msgid ""
+"    Read a line of output from the server. If there are multiple output\n"
+"    pipes, reads only the main pipe."
+msgstr ""
+
+msgid ""
+"    ereadline\n"
+"    ---------"
+msgstr ""
+"    ereadline\n"
+"    ---------"
+
+msgid "    Like ``readline``, but read from the stderr pipe, if available."
+msgstr ""
+
+msgid ""
+"    read <X>\n"
+"    --------"
+msgstr ""
+"    read <X>\n"
+"    --------"
+
+msgid "    ``read()`` N bytes from the server's main output pipe."
+msgstr ""
+
+msgid ""
+"    eread <X>\n"
+"    ---------"
+msgstr ""
+"    eread <X>\n"
+"    ---------"
+
+msgid "    ``read()`` N bytes from the server's stderr pipe, if available."
+msgstr ""
+
+msgid ""
+"    Specifying Unified Frame-Based Protocol Frames\n"
+"    ----------------------------------------------"
+msgstr ""
+"    Specifying Unified Frame-Based Protocol Frames\n"
+"    ----------------------------------------------"
+
+msgid ""
+"    It is possible to emit a *Unified Frame-Based Protocol* by using special\n"
+"    syntax."
+msgstr ""
+
+msgid ""
+"    A frame is composed as a type, flags, and payload. These can be parsed\n"
+"    from a string of the form:"
+msgstr ""
+
+msgid ""
+"       <request-id> <stream-id> <stream-flags> <type> <flags> <payload>"
+msgstr ""
+
+msgid ""
+"    ``request-id`` and ``stream-id`` are integers defining the request and\n"
+"    stream identifiers."
+msgstr ""
+
+msgid ""
+"    ``type`` can be an integer value for the frame type or the string name\n"
+"    of the type. The strings are defined in ``wireprotoframing.py``. e.g.\n"
+"    ``command-name``."
+msgstr ""
+
+msgid ""
+"    ``stream-flags`` and ``flags`` are a ``|`` delimited list of flag\n"
+"    components. Each component (and there can be just one) can be an integer\n"
+"    or a flag name for stream flags or frame flags, respectively. Values are\n"
+"    resolved to integers and then bitwise OR'd together."
+msgstr ""
+
+msgid ""
+"    ``payload`` represents the raw frame payload. If it begins with\n"
+"    ``cbor:``, the following string is evaluated as Python code and the\n"
+"    resulting object is fed into a CBOR encoder. Otherwise it is interpreted\n"
+"    as a Python byte string literal.\n"
+"    "
+msgstr ""
+
+msgid "--localssh requires a repository"
+msgstr "--localssh requer um repositório"
+
+msgid "invalid value for --peer"
+msgstr "valor inválido para --peer"
+
+msgid "valid values are \"raw\", \"ssh1\", and \"ssh2\""
+msgstr "valores válidos são \"raw\", \"ssh1\" e \"ssh2\""
+
+msgid "cannot specify --localssh with an explicit path"
+msgstr "não se pode especificar --localssh com um caminho explícito"
+
+msgid "(waiting for commands on stdin)\n"
+msgstr "(esperando por comandos na stdin)\n"
+
+msgid "creating ssh peer for wire protocol version 1\n"
+msgstr ""
+
+msgid "creating ssh peer for wire protocol version 2\n"
+msgstr ""
+
+msgid "using raw connection to peer\n"
+msgstr "usando uma conexão crua com o peer\n"
+
+msgid "creating ssh peer from handshake results\n"
+msgstr ""
+
+msgid "only http:// paths are currently supported"
+msgstr "apenas caminhos http:// são suportados nesse momento"
+
+msgid "creating http peer for wire protocol version 2\n"
+msgstr ""
+
+msgid "could not instantiate HTTP peer for wire protocol version 2"
+msgstr ""
+
+msgid ""
+"the server may not have the feature enabled or is not allowing this client "
+"version"
+msgstr ""
+
+#, python-format
+msgid "--peer %s not supported with HTTP peers"
+msgstr "--peer %s não é suportado com peers HTTP"
+
+msgid "unsupported connection configuration"
+msgstr "configuração de conexão não suportada"
+
+msgid "cannot call raw/raw+ on this peer"
+msgstr "não é possível chamar raw/raw+ neste peer"
+
+msgid "cannot call flush on this peer"
+msgstr "não é possível chamar flush neste peer"
+
+msgid "cannot send commands unless peer instance is available"
+msgstr ""
+"não é possível mandar comandos se a instância do peer não estiver disponível"
+
+#, python-format
+msgid "sending %s command\n"
+msgstr "enviando comando %s\n"
+
+#, python-format
+msgid "result: %s\n"
+msgstr "resultado: %s\n"
+
+#, python-format
+msgid "remote output: %s\n"
+msgstr "saída remota: %s\n"
+
+#, python-format
+msgid "response: %s\n"
+msgstr "resposta: %s\n"
+
+msgid "nested batchbegin not allowed"
+msgstr "não é permitido aninhar batchbegin"
+
+#, python-format
+msgid "sending batch with %d sub-commands\n"
+msgstr "mandando lote com %d sub-comandos\n"
+
+#, python-format
+msgid "response #%d: %s\n"
+msgstr "resposta #%d: %s\n"
+
+msgid "cannot use httprequest without an HTTP peer"
+msgstr "não se pode usar httprequest sem um peer HTTP"
+
+msgid "invalid httprequest: expected format is \"httprequest <method> <path>"
+msgstr ""
+"httprequest inválido: o formato esperado é \"httprequest <método> "
+"<caminho>\""
+
+#, python-format
+msgid "unknown argument to httprequest: %s"
+msgstr "argumento desconhecido para httprequest: %s"
+
+#, python-format
+msgid "cbor> %s\n"
+msgstr "cbor> %s\n"
+
+msgid "readavailable not available on this peer"
+msgstr "readavailable indisponível neste peer"
+
+msgid "readline not available on this peer"
+msgstr "readline indisponível neste peer"
+
+msgid "ereadline not available on this peer"
+msgstr "ereadline indisponível neste peer"
+
+msgid "read not available on this peer"
+msgstr "read indisponível neste peer"
+
+msgid "eread not available on this peer"
+msgstr "eread indisponível neste peer"
+
+#, python-format
+msgid "unknown action: %s"
+msgstr "ação desconhecida: %s"
+
+msgid "unclosed \"batchbegin\" request"
+msgstr "pedido \"batchbegin\" não fechado"
+
 msgid ""
 "multiple matching bookmarks to merge - please merge with an explicit rev or "
 "bookmark"
@@ -20346,6 +21540,9 @@
 msgid "%i other heads for branch \"%s\"\n"
 msgstr "%i outras cabeças no ramo \"%s\"\n"
 
+msgid "incomplete hunk"
+msgstr "trecho incompleto"
+
 #, python-format
 msgid "directory %r already in dirstate"
 msgstr "diretório %r já está em dirstate"
@@ -20516,6 +21713,10 @@
 msgstr "apelido '%s' indica comando ambíguo '%s'"
 
 #, python-format
+msgid "non-ASCII character in alias definition '%s:%s'"
+msgstr "caractere não-ASCII na definição de apelido '%s:%s'"
+
+#, python-format
 msgid "'%s' is provided by '%s' extension"
 msgstr "'%s' é fornecido pela extensão '%s'"
 
@@ -20716,9 +21917,6 @@
 msgid "push includes orphan changeset: %s!"
 msgstr "push inclui uma revisão órfã: %s!"
 
-msgid "no common changegroup version"
-msgstr "nenhuma versão de changegroup em comum"
-
 #, python-format
 msgid "updating %s to public failed"
 msgstr "a atualização da fase de %s para pública falhou"
@@ -20778,17 +21976,6 @@
 msgid "unsupported getbundle arguments: %s"
 msgstr "argumentos de getbundle não suportados: %s"
 
-msgid "stream data requested but server does not allow this feature"
-msgstr ""
-"clone por stream requisitado, mas o servidor não permite essa funcionalidade"
-
-msgid ""
-"well-behaved clients should not be requesting stream data from servers not "
-"advertising it; the client may be buggy"
-msgstr ""
-"clientes bem comportados não deveriam pedir dados por stream para servidores"
-" que não anunciam esse suporte; pode haver erros no código do cliente"
-
 msgid "no common bookmarks exchange method"
 msgstr "nenhum método de troca de marcadores em comum"
 
@@ -20869,9 +22056,12 @@
 msgid "warning: error finding commands in %s\n"
 msgstr "aviso: erro ao localizar comandos em %s\n"
 
-#, python-format
-msgid "invalid value %r for option %s, expected int"
-msgstr "valor %r inválido para a opção %s, int esperado"
+msgid "expected int"
+msgstr "esperado um int"
+
+#, python-format
+msgid "invalid value %r for option %s, %s"
+msgstr "valor %r inválido para a opção %s, %s"
 
 #, python-format
 msgid ""
@@ -21480,8 +22670,8 @@
 msgstr "as revisões iniciais não são diretamente relacionadas"
 
 #, python-format
-msgid "inconsistent state, %s:%s is good and bad"
-msgstr "estado inconsistente, %s:%s é bom e ruim"
+msgid "inconsistent state, %d:%s is good and bad"
+msgstr "estado inconsistente, %d:%s é bom e ruim"
 
 #, python-format
 msgid "unknown bisect kind %s"
@@ -21567,6 +22757,9 @@
 msgid " ([+] can be repeated)"
 msgstr " ([+] pode ser repetido)"
 
+msgid "Bundle2"
+msgstr "Bundle2"
+
 msgid "Bundles"
 msgstr "Bundles"
 
@@ -21663,12 +22856,8 @@
 "apelidos: %s\n"
 
 #, python-format
-msgid "shell alias for::"
-msgstr "apelido de shell para::"
-
-#, python-format
-msgid "    %s"
-msgstr "    %s"
+msgid "shell alias for: %s"
+msgstr "apelido de shell para: %s"
 
 #, python-format
 msgid "defined by: %s\n"
@@ -25287,28 +26476,42 @@
 "``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``. The meaning\n"
-"  of ``$local`` and ``$other`` can vary depending on which action is being\n"
-"  performed. During and update or merge, ``$local`` represents the original\n"
-"  state of the file, while ``$other`` represents the commit you are updating\n"
-"  to or the commit you are merging with. During a rebase ``$local``\n"
-"  represents the destination of the rebase, and ``$other`` represents the\n"
-"  commit being rebased.\n"
-"  (default: ``$local $base $other``)"
+"  variables: ``$base``, ``$local``, ``$other``, ``$output``."
 msgstr ""
 "``args``\n"
 "  Os parâmetros passados para o executável da ferramenta. Você pode se\n"
 "  referir aos arquivos a serem mesclados, bem como ao arquivo de saída,\n"
 "  usando as seguintes variáveis: ``$base`` (versão base), ``$local``\n"
 "  (versão local), ``$other`` (a outra versão), ``$output`` (o arquivo\n"
-"  de saída).\n"
+"  de saída)."
+
+msgid ""
+"  The meaning of ``$local`` and ``$other`` can vary depending on which action is\n"
+"  being performed. During an update or merge, ``$local`` represents the original\n"
+"  state of the file, while ``$other`` represents the commit you are updating to or\n"
+"  the commit you are merging with. During a rebase, ``$local`` represents the\n"
+"  destination of the rebase, and ``$other`` represents the commit being rebased."
+msgstr ""
 "  O significado de ``$local`` e ``$other`` pode variar dependendo da\n"
 "  ação realizada.\n"
 "  Durante um update ou merge, ``$local`` representa o estado original\n"
 "  do arquivo, enquanto ``$other`` representa a revisão de destino ou\n"
 "  a revisão com a qual a mesclagem é realizada.\n"
 "  Durante um rebase, ``$local`` representa o destino do rebaseamento,\n"
-"  e ``$other`` representa a revisão sendo rebaseada.\n"
+"  e ``$other`` representa a revisão sendo rebaseada."
+
+msgid ""
+"  Some operations define custom labels to assist with identifying the revisions,\n"
+"  accessible via ``$labellocal``, ``$labelother``, and ``$labelbase``. If custom\n"
+"  labels are not available, these will be ``local``, ``other``, and ``base``,\n"
+"  respectively.\n"
+"  (default: ``$local $base $other``)"
+msgstr ""
+"  Algumas operações definem rótulos personalizados para auxiliar\n"
+"  na identificação das revisões, acessíveis em ``$labellocal``,\n"
+"  ``$labelother`` e ``$labelbase``.\n"
+"  Se os rótulos personalizados não forem definidos, estes serão\n"
+"  respecivamente ``local``, ``other`` e ``base``.\n"
 "  (padrão: ``$local $base $other``)"
 
 msgid ""
@@ -25387,6 +26590,40 @@
 "  (padrão: False)"
 
 msgid ""
+"``mergemarkers``\n"
+"  Controls whether the labels passed via ``$labellocal``, ``$labelother``, and\n"
+"  ``$labelbase`` are ``detailed`` (respecting ``mergemarkertemplate``) or\n"
+"  ``basic``. If ``premerge`` is ``keep`` or ``keep-merge3``, the conflict\n"
+"  markers generated during premerge will be ``detailed`` if either this option or\n"
+"  the corresponding option in the ``[ui]`` section is ``detailed``.\n"
+"  (default: ``basic``)"
+msgstr ""
+"``mergemarkers``\n"
+"  Controla se os rótulos passados em ``$labellocal``, ``$labelother`` e\n"
+"  ``$labelbase`` são ``detailed`` (respeitam ``mergemarkertemplate``) ou\n"
+"  ``basic``. Se ``premerge`` for ``keep`` ou ``keep-merge3``, as\n"
+"  marcações de conflito geradas durante o premerge serão ``detailed``\n"
+"  caso esta opção ou a correspondente na seção ``[ui]`` forem\n"
+"  ``detailed``.\n"
+"  (padrão: ``basic``)"
+
+msgid ""
+"``mergemarkertemplate``\n"
+"  This setting can be used to override ``mergemarkertemplate`` from the ``[ui]``\n"
+"  section on a per-tool basis; this applies to the ``$label``-prefixed variables\n"
+"  and to the conflict markers that are generated if ``premerge`` is ``keep` or\n"
+"  ``keep-merge3``. See the corresponding variable in ``[ui]`` for more\n"
+"  information."
+msgstr ""
+"``mergemarkertemplate``\n"
+"  Esta configuração pode ser usada para sobrepor ``mergemarkertemplate``\n"
+"  da seção ``[ui]`` para ferramentas específicas;\n"
+"  isto inclui as variáveis prefixadas por ``$label`` e as marcações de\n"
+"  conflitos geradas se ``premerge`` for ``keep` ou ``keep-merge3``.\n"
+"  Veja as variáveis correspondentes na seção ``[ui]`` para mais\n"
+"  informações."
+
+msgid ""
 "  ``regkey``\n"
 "    Windows registry key which describes install location of this\n"
 "    tool. Mercurial will search for this key first under\n"
@@ -25741,14 +26978,12 @@
 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."
+"statistical text report generated from the profiling data."
 msgstr ""
 "Na descrição desta\n"
 "seção, 'dados de profiling' são os dados crus coletados durante o\n"
 "profiling, enquanto 'relatório de profiling' é um relatório estatístico\n"
-"em formato texto gerado a partir dos dados de profiling.\n"
-"O profiling é feito usando lsprof."
+"em formato texto gerado a partir dos dados de profiling."
 
 msgid ""
 "``enabled``\n"
@@ -25901,14 +27136,14 @@
 "    Show at most this number of lines of drill-down info after each main entry.\n"
 "    This can help explain the difference between Total and Inline.\n"
 "    Specific to the ``ls`` instrumenting profiler.\n"
-"    (default: 5)"
+"    (default: 0)"
 msgstr ""
 "``nested``\n"
 "    Mostra no máximo este número de linhas de informações\n"
 "    após cada entrada principal. Isto pode\n"
 "    ajudar a explicar a diferença entre Total e Inline.\n"
 "    Específico do profiler de instrumentação ``ls``.\n"
-"    (padrão: 5)"
+"    (padrão: 0)"
 
 msgid ""
 "``showmin``\n"
@@ -26212,6 +27447,37 @@
 "    (padrão: False)"
 
 msgid ""
+"``streamunbundle``\n"
+"    When set, servers will apply data sent from the client directly,\n"
+"    otherwise it will be written to a temporary file first. This option\n"
+"    effectively prevents concurrent pushes."
+msgstr ""
+"``streamunbundle``\n"
+"    Se definido, servidores aplicação dados enviados pelo cliente\n"
+"    diretamente; caso contrário, os dados serão primeiro escritos em\n"
+"    um arquivo temporário. Esta opção efetivamente impede operações\n"
+"    push concorrentes."
+
+msgid ""
+"``pullbundle``\n"
+"    When set, the server will check pullbundle.manifest for bundles\n"
+"    covering the requested heads and common nodes. The first matching\n"
+"    entry will be streamed to the client."
+msgstr ""
+"``pullbundle``\n"
+"    Se definido, o servidor verificará pullbundle.manifest para\n"
+"    arquivos de bundle que contiverem as cabeças e nós comuns\n"
+"    pedidos. A primeira entrada correspondente será enviadas para\n"
+"    o cliente."
+
+msgid ""
+"    For HTTP transport, the stream will still use zlib compression\n"
+"    for older clients."
+msgstr ""
+"    Para o transporte HTTP, o fluxo ainda usará compressão\n"
+"    zlib com clientes antigos."
+
+msgid ""
 "``concurrent-push-mode``\n"
 "    Level of allowed race condition between two pushing clients."
 msgstr ""
@@ -27004,6 +28270,12 @@
 "    de conflitos podem causar problemas sérios."
 
 msgid ""
+"    Can be overridden per-merge-tool, see the ``[merge-tools]`` section."
+msgstr ""
+"    Pode ser sobreposta por utilitário de mesclagem, veja a seção ``[merge-"
+"tools]``."
+
+msgid ""
 "``origbackuppath``\n"
 "    The path to a directory used to store generated .orig files. If the path is\n"
 "    not a directory, one will be created.  If set, files stored in this\n"
@@ -27884,6 +29156,13 @@
 "    (padrão: 20)"
 
 msgid ""
+"``server-header``\n"
+"    Value for HTTP ``Server`` response header."
+msgstr ""
+"``server-header``\n"
+"    Valor para o cabeçalho de resposta HTTP ``Server``."
+
+msgid ""
 "``staticurl``\n"
 "    Base URL to use for static files. If unset, static files (e.g. the\n"
 "    hgicon.png favicon) will be served by the CGI script itself. Use\n"
@@ -33277,7 +34556,7 @@
 
 msgid ""
 "- SSH requires an accessible shell account on the destination machine\n"
-"  and a copy of hg in the remote path or specified with as remotecmd.\n"
+"  and a copy of hg in the remote path or specified with remotecmd.\n"
 "- path is relative to the remote user's home directory by default. Use\n"
 "  an extra slash at the start of a path to specify an absolute path::"
 msgstr ""
@@ -33492,10 +34771,6 @@
 msgstr "ouvindo em http://%s%s/%s (associado a %s:%d)\n"
 
 #, python-format
-msgid "config file %s not found!"
-msgstr "arquivo de configuração %s não encontrado!"
-
-#, python-format
 msgid "error reading %s/.hg/hgrc: %s\n"
 msgstr "erro ao ler %s/.hg/hgrc: %s\n"
 
@@ -33503,6 +34778,10 @@
 msgid "error accessing repository at %s\n"
 msgstr "erro ao acessar o repositório em %s\n"
 
+#, python-format
+msgid "config file %s not found!"
+msgstr "arquivo de configuração %s não encontrado!"
+
 msgid "SSL support is unavailable"
 msgstr "Suporte a SSL indisponível"
 
@@ -34032,6 +35311,9 @@
 msgid " %d files changed, %d insertions(+), %d deletions(-)\n"
 msgstr " %d arquivos modificados, %d inserções(+), %d remoções(-)\n"
 
+msgid "not displayable without template"
+msgstr "não pode ser exibida sem um modelo"
+
 #, python-format
 msgid "websub: invalid pattern for %s: %s\n"
 msgstr "websub: padrão inválido para %s: %s\n"
@@ -34142,10 +35424,6 @@
 msgstr "erro de pedido HTTP (%s)"
 
 #, python-format
-msgid "unsupported URL component: \"%s\""
-msgstr "componente de URL não suportado: \"%s\""
-
-#, python-format
 msgid "real URL is %s\n"
 msgstr "URL real é %s\n"
 
@@ -34161,6 +35439,9 @@
 "%s\n"
 "---%%<---\n"
 
+msgid "unexpected CBOR response from server"
+msgstr "resposta CBOR inesperada do servidor"
+
 #, python-format
 msgid "'%s' sent a broken Content-Type header (%s)"
 msgstr "'%s' enviou um cabeçalho Content-Type inválido (%s)"
@@ -34173,12 +35454,40 @@
 msgid "push failed: %s"
 msgstr "o push falhou: %s"
 
-msgid "Python support for SSL and HTTPS is not installed"
-msgstr "suporte do Python a SSL e HTTPS não está instalado"
+#, python-format
+msgid "cannot make request requiring multiple permissions: %s"
+msgstr "não é possível fazer um pedido que exija múltiplas permissões: %s"
+
+msgid "unfulfilled command response"
+msgstr "resposta de comando não realizada"
+
+#, python-format
+msgid ""
+"cannot %s; client or remote repository does not support the %r capability"
+msgstr ""
+"não é possível realizar \"%s\"; repositório remoto não suporta a "
+"funcionalidade '%r'"
+
+msgid "error decoding CBOR from remote server"
+msgstr "erro ao decodificar CBOR do servidor remoto"
+
+msgid "try again and consider contacting the server operator"
+msgstr "tente novamente e considere informar o operador do servidor"
+
+#, python-format
+msgid "unexpected response type from server: %s"
+msgstr "tipo de resposta inesperada do servidor: %s"
+
+#, python-format
+msgid "unsupported URL component: \"%s\""
+msgstr "componente de URL não suportado: \"%s\""
 
 msgid "cannot create new http repository"
 msgstr "impossível criar novo repositório http"
 
+msgid "Python support for SSL and HTTPS is not installed"
+msgstr "suporte do Python a SSL e HTTPS não está instalado"
+
 msgid "(falling back to static-http)\n"
 msgstr "(tentando static-http)\n"
 
@@ -34333,6 +35642,40 @@
 msgid "waiting for lock on %s held by process %r on host %r\n"
 msgstr "esperando pelo bloqueio em %s feito pelo processo %r no host %r\n"
 
+#, python-format
+msgid "got lock after %d seconds\n"
+msgstr "obteve o lock após %d segundos\n"
+
+msgid "limit must be a positive integer"
+msgstr "o limite deve ser um inteiro positivo"
+
+msgid "limit must be positive"
+msgstr "o limite deve ser positivo"
+
+#, python-format
+msgid "warning: %s not inside relative root %s\n"
+msgstr "aviso: %s não está dentro do raiz relativo %s\n"
+
+msgid "description:\n"
+msgstr "descrição:\n"
+
+#, python-format
+msgid "malformatted line-range pattern %s"
+msgstr "padrão de faixa de linhas malformado %s"
+
+#, python-format
+msgid "invalid line range for %s"
+msgstr "faixa de linhas inválida %s"
+
+#, python-format
+msgid "line range pattern '%s' must match exactly one file"
+msgstr ""
+"o padrão de faixa de linhas '%s' deve corresponder a exatamente um arquivo"
+
+#, python-format
+msgid "-G/--graph option is incompatible with --%s"
+msgstr "a opção -G/--graph é incompatível com --%s"
+
 msgid "can't use TLS: Python SSL support not installed"
 msgstr "impossível usar TLS: suporte Python a SSL não instalado"
 
@@ -34678,6 +36021,28 @@
 msgid "no such name: %s"
 msgstr "não existe tal nome: %s"
 
+msgid "narrowspec includes section must appear at most once, before excludes"
+msgstr ""
+"a seção de inclusão de narrowspec deve aparecer no máximo uma vez, e antes "
+"das exclusões"
+
+msgid "narrowspec excludes section must appear at most once"
+msgstr "a seção de exclusão de narrowspec deve aparecer apenas uma vez"
+
+#, python-format
+msgid "Invalid narrowspec pattern line: \"%s\""
+msgstr "Linha de padrão narrowspec inválida: \"%s\""
+
+#, python-format
+msgid "Invalid key \"%s\" in server response"
+msgstr "Chave inválida \"%s\" na resposta do servidor"
+
+msgid "newlines are not allowed in narrowspec paths"
+msgstr "quebras de linha não são permitidas em caminhos narrowspec"
+
+msgid "\".\" and \"..\" are not allowed in narrowspec paths"
+msgstr "\".\" e \"..\" não são permitidos em caminhos narrowspec"
+
 msgid ""
 "'createmarkers' obsolete option must be enabled if other obsolete options "
 "are enabled"
@@ -34983,6 +36348,10 @@
 msgstr "trecho ruim #%d"
 
 #, python-format
+msgid "bad hunk #%d: %s"
+msgstr "trecho ruim #%d: %s"
+
+#, python-format
 msgid "bad hunk #%d old text line %d"
 msgstr "trecho ruim #%d antiga linha de texto %d"
 
@@ -35093,14 +36462,6 @@
 msgstr "nome de servidor ssh ilegal, ou nome de usuário começado com -: %s"
 
 #, python-format
-msgid "exited with status %d"
-msgstr "terminou com o código %d"
-
-#, python-format
-msgid "killed by signal %d"
-msgstr "morto pelo sinal %d"
-
-#, python-format
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr "formato de profiling '%s' não reconhecido - Ignorado\n"
 
@@ -35168,13 +36529,6 @@
 msgid "saved backup bundle to %s\n"
 msgstr "salvando bundle de segurança em %s\n"
 
-msgid "adding branch\n"
-msgstr "adicionando ramo\n"
-
-#, python-format
-msgid "error removing %s: %s\n"
-msgstr "erro ao remover %s: %s\n"
-
 #, python-format
 msgid "strip failed, backup bundle stored in '%s'\n"
 msgstr "strip falhou, bundle de backup armazenado em '%s'\n"
@@ -35314,6 +36668,9 @@
 msgid "destination revlog has filtered revisions"
 msgstr "revlog de destino tem revisões filtradas"
 
+msgid "empty string is not a valid revision"
+msgstr "uma string vazia não é uma revisão válida"
+
 msgid "can't use a relation in this context"
 msgstr "não se pode usar uma relação nesse contexto"
 
@@ -36128,6 +37485,15 @@
 msgid "secret takes no arguments"
 msgstr "secret não tem argumentos"
 
+msgid ""
+"``stack([revs])``\n"
+"    Experimental revset for the stack of changesets or working directory\n"
+"    parent. (EXPERIMENTAL)"
+msgstr ""
+"``stack([revs])``\n"
+"    Revset experimental da pilha de revisões ou do pai do diretório\n"
+"    de trabalho. (EXPERIMENTAL)"
+
 msgid "^ expects a number 0, 1, or 2"
 msgstr "^ espera o número 0, 1 ou 2"
 
@@ -36448,6 +37814,9 @@
 msgid "\"##\" can't concatenate \"%s\" element"
 msgstr "\"##\" incapaz de concatenar elemento \"%s\""
 
+msgid "here"
+msgstr "aqui"
+
 #, python-format
 msgid "unexpected revspec format character %s"
 msgstr "caractere de formato de revspec %s inesperado"
@@ -36556,6 +37925,10 @@
 msgstr "um inteiro não pode ser usado como um nome"
 
 #, python-format
+msgid "leading or trailing whitespace in name %r"
+msgstr "espaços em branco no começo ou no final do nome %r"
+
+#, python-format
 msgid "ui.portablefilenames value is invalid ('%s')"
 msgstr "o valor de ui.portablefilenames é inválido ('%s')"
 
@@ -36563,6 +37936,17 @@
 msgid "possible case-folding collision for %s"
 msgstr "possível colisão de maiúsculas e minúsculas para %s"
 
+#, python-format
+msgid "hidden revision '%s'"
+msgstr "revisão oculta '%s'"
+
+msgid "use --hidden to access hidden revisions"
+msgstr "use --hidden para acessar revisões ocultas"
+
+#, python-format
+msgid "filtered revision '%s' (not in '%s' subset)"
+msgstr "revisão filtrada '%s' (não está no subconjunto '%s')"
+
 msgid "empty revision range"
 msgstr "faixa de revisões vazia"
 
@@ -36648,13 +38032,13 @@
 msgid "warning: accessing hidden changesets for write operation: %s\n"
 msgstr "aviso: acessando revisões ocultas para operação de escrita: %s\n"
 
-msgid "child process failed to start"
-msgstr "processo filho falhou ao iniciar"
-
 #, python-format
 msgid "invalid value for --daemon-postexec: %s"
 msgstr "valor inválido para --daemon-postexec: %s"
 
+msgid "child process failed to start"
+msgstr "processo filho falhou ao iniciar"
+
 #, python-format
 msgid "unknown mode %s"
 msgstr "modo %s desconhecido"
@@ -36761,6 +38145,20 @@
 msgid "Files conflicting: %d\n"
 msgstr "Arquivos conflitantes: %d\n"
 
+msgid "no suitable response from remote hg"
+msgstr "nenhuma resposta adequada do hg remoto"
+
+#, python-format
+msgid "unexpected remote reply: %s"
+msgstr "resposta remota inesperada: %s"
+
+msgid "check previous remote output"
+msgstr "verifique a saída remota anterior"
+
+#, python-format
+msgid "unknown version of SSH protocol: %s"
+msgstr "versão desconhecida de protocolo SSH: %s"
+
 #, python-format
 msgid "couldn't parse location %s"
 msgstr "não foi possível processar localização %s"
@@ -36771,19 +38169,8 @@
 msgid "could not create remote repo"
 msgstr "não foi possível criar repositório remoto"
 
-msgid "no suitable response from remote hg"
-msgstr "nenhuma resposta adequada do hg remoto"
-
-#, python-format
-msgid "unexpected remote reply: %s"
-msgstr "resposta remota inesperada: %s"
-
-msgid "check previous remote output"
-msgstr "verifique a saída remota anterior"
-
-#, python-format
-msgid "unexpected parameter %r"
-msgstr "parâmetro inesperado %r"
+msgid "capability exchange failed"
+msgstr "troca de capacidades falhou"
 
 msgid "capath not supported"
 msgstr "capath não suportado"
@@ -37160,69 +38547,6 @@
 msgstr "(no sub-repositório \"%s\")"
 
 #, python-format
-msgid "warning: subrepo spec file '%s' not found\n"
-msgstr "aviso: arquivo spec de sub-repositório '%s' não encontrado\n"
-
-#, python-format
-msgid "subrepo spec file '%s' not found"
-msgstr "arquivo spec de sub-repositório '%s' não encontrado"
-
-#, python-format
-msgid "invalid subrepository revision specifier in '%s' line %d"
-msgstr ""
-"especificador de revisão de sub-repositório inválido no arquivo '%s' linha "
-"%d"
-
-#, python-format
-msgid "bad subrepository pattern in %s: %s"
-msgstr "padrão ruim de sub-repositório em %s: %s"
-
-msgid "missing ] in subrepository source"
-msgstr "faltando ] na origem do sub-repositório"
-
-#, python-format
-msgid ""
-" subrepository sources for %(s)s differ\n"
-"use (l)ocal%(l)s source (%(lo)s) or (r)emote%(o)s source (%(ro)s)?$$ &Local $$ &Remote"
-msgstr ""
-" as origens do sub-repositório %(s)s diferem\n"
-"usar origem (l)ocal%(l)s (%(lo)s) ou (r)emota%(o)s (%(ro)s)?$$ &Local $$ &Remota"
-
-#, python-format
-msgid ""
-" subrepository %(s)s diverged (local revision: %(sl)s, remote revision: %(sr)s)\n"
-"(M)erge, keep (l)ocal%(l)s or keep (r)emote%(o)s?$$ &Merge $$ &Local $$ &Remote"
-msgstr ""
-" o sub-repositório %(s)s divergiu (revisão local: %(sl)s, remota: %(sr)s)\n"
-"(M)esclar, manter (l)ocal%(l)s ou usar (r)emota%(o)s?$$ &Mesclar $$ &Local $$ &Remota"
-
-#, python-format
-msgid ""
-" local%(l)s changed subrepository %(s)s which remote%(o)s removed\n"
-"use (c)hanged version or (d)elete?$$ &Changed $$ &Delete"
-msgstr ""
-" local%(l)s mudou o sub-repositório %(s)s, que a remota%(o)s removeu\n"
-"use (c) a versão alterada, ou (d) apague?$$ (&C) alterada $$ (&D) apague"
-
-#, python-format
-msgid ""
-" remote%(o)s changed subrepository %(s)s which local%(l)s removed\n"
-"use (c)hanged version or (d)elete?$$ &Changed $$ &Delete"
-msgstr ""
-" remota%(o)s mudou o sub-repositório %(s)s apagado pela local%(l)s\n"
-"use (c) a versão alterada ou (d) apague?$$ (&C) alterada $$ (&D) apague"
-
-#, python-format
-msgid "commit with new subrepo %s excluded"
-msgstr "consolidação com novo sub-repositório %s excluída"
-
-msgid "use --subrepos for recursive commit"
-msgstr "use --subrepos para um commit recursivo"
-
-msgid "can't commit subrepos without .hgsub"
-msgstr "não é possível consolidar sub-repositórios sem o arquivo .hgsub"
-
-#, python-format
 msgid ""
 " subrepository sources for %s differ\n"
 "use (l)ocal source (%s) or (r)emote source (%s)?$$ &Local $$ &Remote"
@@ -37238,9 +38562,6 @@
 " as origens do sub-repositório %s diferem (na versão do diretório de trabalho)\n"
 "usar origem (l)ocal (%s) ou (r)emota (%s)?$$ &Local $$ &Remota"
 
-msgid "default path for subrepository not found"
-msgstr "o caminho padrão para o sub-repositório não foi encontrado"
-
 #, python-format
 msgid "warning: removing potentially hostile 'hgrc' in '%s'\n"
 msgstr "aviso: removendo 'hgrc' potencialmente hostil em '%s'\n"
@@ -37264,20 +38585,6 @@
 msgstr "tipo de sub-repositório %s desconhecido"
 
 #, python-format
-msgid "invalid phases.checksubrepos configuration: %s"
-msgstr "configuração phases.checksubrepos inválida: %s"
-
-#, python-format
-msgid "can't commit in %s phase conflicting %s from subrepository %s"
-msgstr ""
-"não é possível consolidar na fase \"%s\" com a fase conflitante \"%s\" no "
-"sub-repositório %s"
-
-#, python-format
-msgid "warning: changes are committed in %s phase from subrepository %s\n"
-msgstr "aviso: mudanças consolidadas na fase \"%s\" do sub-repositório %s\n"
-
-#, python-format
 msgid "uncommitted changes in subrepository \"%s\""
 msgstr "mudanças não consolidadas no sub-repositório \"%s\""
 
@@ -37425,6 +38732,86 @@
 "não é possível fazer push da revisão %s\n"
 
 #, python-format
+msgid "warning: subrepo spec file '%s' not found\n"
+msgstr "aviso: arquivo spec de sub-repositório '%s' não encontrado\n"
+
+#, python-format
+msgid "subrepo spec file '%s' not found"
+msgstr "arquivo spec de sub-repositório '%s' não encontrado"
+
+#, python-format
+msgid "invalid subrepository revision specifier in '%s' line %d"
+msgstr ""
+"especificador de revisão de sub-repositório inválido no arquivo '%s' linha "
+"%d"
+
+#, python-format
+msgid "bad subrepository pattern in %s: %s"
+msgstr "padrão ruim de sub-repositório em %s: %s"
+
+msgid "missing ] in subrepository source"
+msgstr "faltando ] na origem do sub-repositório"
+
+#, python-format
+msgid ""
+" subrepository sources for %(s)s differ\n"
+"use (l)ocal%(l)s source (%(lo)s) or (r)emote%(o)s source (%(ro)s)?$$ &Local $$ &Remote"
+msgstr ""
+" as origens do sub-repositório %(s)s diferem\n"
+"usar origem (l)ocal%(l)s (%(lo)s) ou (r)emota%(o)s (%(ro)s)?$$ &Local $$ &Remota"
+
+#, python-format
+msgid ""
+" subrepository %(s)s diverged (local revision: %(sl)s, remote revision: %(sr)s)\n"
+"(M)erge, keep (l)ocal%(l)s or keep (r)emote%(o)s?$$ &Merge $$ &Local $$ &Remote"
+msgstr ""
+" o sub-repositório %(s)s divergiu (revisão local: %(sl)s, remota: %(sr)s)\n"
+"(M)esclar, manter (l)ocal%(l)s ou usar (r)emota%(o)s?$$ &Mesclar $$ &Local $$ &Remota"
+
+#, python-format
+msgid ""
+" local%(l)s changed subrepository %(s)s which remote%(o)s removed\n"
+"use (c)hanged version or (d)elete?$$ &Changed $$ &Delete"
+msgstr ""
+" local%(l)s mudou o sub-repositório %(s)s, que a remota%(o)s removeu\n"
+"use (c) a versão alterada, ou (d) apague?$$ (&C) alterada $$ (&D) apague"
+
+#, python-format
+msgid ""
+" remote%(o)s changed subrepository %(s)s which local%(l)s removed\n"
+"use (c)hanged version or (d)elete?$$ &Changed $$ &Delete"
+msgstr ""
+" remota%(o)s mudou o sub-repositório %(s)s apagado pela local%(l)s\n"
+"use (c) a versão alterada ou (d) apague?$$ (&C) alterada $$ (&D) apague"
+
+#, python-format
+msgid "commit with new subrepo %s excluded"
+msgstr "consolidação com novo sub-repositório %s excluída"
+
+msgid "use --subrepos for recursive commit"
+msgstr "use --subrepos para um commit recursivo"
+
+msgid "can't commit subrepos without .hgsub"
+msgstr "não é possível consolidar sub-repositórios sem o arquivo .hgsub"
+
+msgid "default path for subrepository not found"
+msgstr "o caminho padrão para o sub-repositório não foi encontrado"
+
+#, python-format
+msgid "invalid phases.checksubrepos configuration: %s"
+msgstr "configuração phases.checksubrepos inválida: %s"
+
+#, python-format
+msgid "can't commit in %s phase conflicting %s from subrepository %s"
+msgstr ""
+"não é possível consolidar na fase \"%s\" com a fase conflitante \"%s\" no "
+"sub-repositório %s"
+
+#, python-format
+msgid "warning: changes are committed in %s phase from subrepository %s\n"
+msgstr "aviso: mudanças consolidadas na fase \"%s\" do sub-repositório %s\n"
+
+#, python-format
 msgid ""
 "automatic .hgtags merge failed\n"
 "the following %d tags are in conflict: %s\n"
@@ -37473,6 +38860,17 @@
 msgid ":count: List or text. Returns the length as an integer."
 msgstr ":count: Lista ou texto. Retorna o comprimento como um inteiro."
 
+msgid "not countable"
+msgstr "não contável"
+
+msgid ""
+":dirname: Any text. Treats the text as a path, and strips the last\n"
+"    component of the path after splitting by the path separator."
+msgstr ""
+":dirname: Qualquer texto. Trata o texto como um caminho, e\n"
+"    remove o último componente do caminho após quebrá-lo\n"
+"    usando o separador de caminhos."
+
 msgid ""
 ":domain: Any text. Finds the first string that looks like an email\n"
 "    address, and extracts just the domain component. Example: ``User\n"
@@ -37564,37 +38962,6 @@
 "    de e-mail, interpretando-o de acordo com a RFC 5322."
 
 msgid ""
-"    >>> person(b'foo@bar')\n"
-"    'foo'\n"
-"    >>> person(b'Foo Bar <foo@bar>')\n"
-"    'Foo Bar'\n"
-"    >>> person(b'\"Foo Bar\" <foo@bar>')\n"
-"    'Foo Bar'\n"
-"    >>> person(b'\"Foo \"buz\" Bar\" <foo@bar>')\n"
-"    'Foo \"buz\" Bar'\n"
-"    >>> # The following are invalid, but do exist in real-life\n"
-"    ...\n"
-"    >>> person(b'Foo \"buz\" Bar <foo@bar>')\n"
-"    'Foo \"buz\" Bar'\n"
-"    >>> person(b'\"Foo Bar <foo@bar>')\n"
-"    'Foo Bar'"
-msgstr ""
-"    >>> person(b'foo@bar')\n"
-"    'foo'\n"
-"    >>> person(b'Foo Bar <foo@bar>')\n"
-"    'Foo Bar'\n"
-"    >>> person(b'\"Foo Bar\" <foo@bar>')\n"
-"    'Foo Bar'\n"
-"    >>> person(b'\"Foo \"buz\" Bar\" <foo@bar>')\n"
-"    'Foo \"buz\" Bar'\n"
-"    >>> # The following are invalid, but do exist in real-life\n"
-"    ...\n"
-"    >>> person(b'Foo \"buz\" Bar <foo@bar>')\n"
-"    'Foo \"buz\" Bar'\n"
-"    >>> person(b'\"Foo Bar <foo@bar>')\n"
-"    'Foo Bar'"
-
-msgid ""
 ":revescape: Any text. Escapes all \"special\" characters, except @.\n"
 "    Forward slashes are escaped twice to prevent web servers from prematurely\n"
 "    unescaping them. For example, \"@foo bar/baz\" becomes \"@foo%20bar%252Fbaz\"."
@@ -37628,12 +38995,12 @@
 "    uma revisão, ou seja, uma string hexadecimal de 12 dígitos."
 
 msgid ""
-":shortbisect: Any text. Treats `text` as a bisection status, and\n"
+":shortbisect: Any text. Treats `label` as a bisection status, and\n"
 "    returns a single-character representing the status (G: good, B: bad,\n"
 "    S: skipped, U: untested, I: ignored). Returns single space if `text`\n"
 "    is not a valid bisection status."
 msgstr ""
-":shortbisect: Qualquer texto. Trata o texto como um estado de\n"
+":shortbisect: Qualquer texto. Trata o `rótulo` como um estado de\n"
 "    bisseção, e devolve um caractere único representando o estado\n"
 "    (G: boa, B: ruim, S: omitida, U: não testada, I: ignorada).\n"
 "    Devolve um único espaço se o texto não for um estado de bisseção\n"
@@ -37700,374 +39067,6 @@
 ":utf8: Qualquer texto. Converte da codificação de caracteres local para "
 "UTF-8."
 
-#. i18n: column positioning for "hg log"
-#, python-format
-msgid ""
-"bookmark:    %s\n"
-"branch:      %s\n"
-"changeset:   %s\n"
-"copies:      %s\n"
-"date:        %s\n"
-"extra:       %s=%s\n"
-"files+:      %s\n"
-"files-:      %s\n"
-"files:       %s\n"
-"instability: %s\n"
-"manifest:    %s\n"
-"obsolete:    %s\n"
-"parent:      %s\n"
-"phase:       %s\n"
-"summary:     %s\n"
-"tag:         %s\n"
-"user:        %s\n"
-msgstr ""
-"marcador:      %s\n"
-"ramo:          %s\n"
-"revisão:       %s\n"
-"cópias:        %s\n"
-"data:          %s\n"
-"extra:         %s=%s\n"
-"arquivos+:     %s\n"
-"arquivos-:     %s\n"
-"arquivos:      %s\n"
-"instabilidade: %s\n"
-"manifesto:     %s\n"
-"obsolescência: %s\n"
-"pai:           %s\n"
-"fase:          %s\n"
-"sumário:       %s\n"
-"etiqueta:      %s\n"
-"usuário:       %s\n"
-
-msgid ":author: String. The unmodified author of the changeset."
-msgstr ":author: String. O autor da revisão, sem modificações."
-
-msgid ":bisect: String. The changeset bisection status."
-msgstr ":bisect: String. O estado de bisseção da revisão."
-
-msgid ""
-":branch: String. The name of the branch on which the changeset was\n"
-"    committed."
-msgstr ":branch: String. O nome do ramo no qual a revisão foi consolidada."
-
-msgid ""
-":branches: List of strings. The name of the branch on which the\n"
-"    changeset was committed. Will be empty if the branch name was\n"
-"    default. (DEPRECATED)"
-msgstr ""
-":branch: String. O nome do ramo no qual a revisão foi consolidada.\n"
-"    Será vazio se o nome for \"default\".\n"
-"    (OBSOLETO)"
-
-msgid ""
-":bookmarks: List of strings. Any bookmarks associated with the\n"
-"    changeset. Also sets 'active', the name of the active bookmark."
-msgstr ""
-":bookmarks: Lista de strings. Quaisquer marcadores associados à revisão.\n"
-"    Também define 'active', o nome do marcador ativo."
-
-msgid ":children: List of strings. The children of the changeset."
-msgstr ":children: Lista de strings. As revisões filhas da revisão."
-
-msgid ""
-":currentbookmark: String. The active bookmark, if it is associated with the changeset.\n"
-"    (DEPRECATED)"
-msgstr ""
-":currentbookmark: String. O marcador ativo, se estiver\n"
-"    associado à revisão. (OBSOLETO)"
-
-msgid ""
-":activebookmark: String. The active bookmark, if it is associated with the "
-"changeset."
-msgstr ""
-":activebookmark: String. O marcador ativo, se estiver\n"
-"    associado à revisão."
-
-msgid ":date: Date information. The date when the changeset was committed."
-msgstr ":date: Informação de data. A data de consolidação da revisão."
-
-msgid ":desc: String. The text of the changeset description."
-msgstr ":desc: String. O texto da descrição da revisão."
-
-msgid ""
-":diffstat: String. Statistics of changes with the following format:\n"
-"    \"modified files: +added/-removed lines\""
-msgstr ""
-":diffstat: String. Estatísticas de mudanças no seguinte\n"
-"    formato: \"modified files: +added/-removed lines\""
-
-msgid ":envvars: A dictionary of environment variables. (EXPERIMENTAL)"
-msgstr ":envvars: Um dicionário de variáveis de ambiente. (EXPERIMENTAL)"
-
-msgid ""
-":extras: List of dicts with key, value entries of the 'extras'\n"
-"    field of this changeset."
-msgstr ""
-":extras: Lista de dicionários com entradas chave, valor dos campos\n"
-"    'extras' desta revisão."
-
-msgid ":file_adds: List of strings. Files added by this changeset."
-msgstr ":file_adds: Lista de strings. Arquivos adicionados por esta revisão."
-
-msgid ""
-":file_copies: List of strings. Files copied in this changeset with\n"
-"    their sources."
-msgstr ""
-":file_copies: Lista de strings. Arquivos copiados nesta revisão\n"
-"    com suas respectivas origens."
-
-msgid ""
-":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
-"    only if the --copied switch is set."
-msgstr ""
-":file_copies_switch: Lista de strings. Como \"file_copies\", mas\n"
-"    é exibida apenas se a opção --copied estiver definida."
-
-msgid ":file_dels: List of strings. Files removed by this changeset."
-msgstr ":file_dels: Lista de strings. Arquivos removidos por esta revisão."
-
-msgid ":file_mods: List of strings. Files modified by this changeset."
-msgstr ":file_mods: Lista de strings. Arquivos modificados por esta revisão"
-
-msgid ""
-":files: List of strings. All files modified, added, or removed by this\n"
-"    changeset."
-msgstr ""
-":files: Lista de strings. Todos os arquivos modificados,\n"
-"    adicionados ou removidos por esta revisão."
-
-msgid ""
-":graphnode: String. The character representing the changeset node in an ASCII\n"
-"    revision graph."
-msgstr ""
-":graphnode: String. O caractere que representa o nó da revisão em\n"
-"    um grafo ASCII de revisões."
-
-msgid ""
-":graphwidth: Integer. The width of the graph drawn by 'log --graph' or zero."
-msgstr ""
-":graphwidth: Inteiro. A largura do grafo desenhado por 'log --graph' ou "
-"zero."
-
-msgid ":index: Integer. The current iteration of the loop. (0 indexed)"
-msgstr ":index: Inteiro. A iteração atual do loop. (indexada a partir de 0)"
-
-msgid "can't use index in this context"
-msgstr "não se pode usar index nesse contexto"
-
-msgid ""
-":latesttag: List of strings. The global tags on the most recent globally\n"
-"    tagged ancestor of this changeset.  If no such tags exist, the list\n"
-"    consists of the single string \"null\"."
-msgstr ""
-":latesttag: Lista de strings. As etiquetas globais no ancestral mais\n"
-"    recente desta revisão que possuir etiquetas globais.\n"
-"    Se tais etiquetas não existirem, a lista consistirá apenas do\n"
-"    texto \"null\"."
-
-msgid ":latesttagdistance: Integer. Longest path to the latest tag."
-msgstr ":latesttagdistance: Inteiro. O caminho mais longo para a latesttag."
-
-msgid ":changessincelatesttag: Integer. All ancestors not in the latest tag."
-msgstr ""
-":changessincelatesttag: Inteiro. Todos os ancestrais que não estão na\n"
-"    etiqueta mais recente."
-
-msgid ""
-":namespaces: Dict of lists. Names attached to this changeset per\n"
-"    namespace."
-msgstr ""
-":namespaces: Dicionário de listas. Nomes associados à revisão\n"
-"    por espaço de nomes."
-
-msgid ""
-":node: String. The changeset identification hash, as a 40 hexadecimal\n"
-"    digit string."
-msgstr ""
-":node: String. O hash de identificação da revisão, como uma string\n"
-"    hexadecimal de 40 dígitos."
-
-msgid ":obsolete: String. Whether the changeset is obsolete. (EXPERIMENTAL)"
-msgstr ":obsolete: String. Se a revisão for obsoleta. (EXPERIMENTAL)"
-
-msgid ""
-":peerurls: A dictionary of repository locations defined in the [paths] section\n"
-"    of your configuration file."
-msgstr ""
-":peerurls: Um dicionário de localizações de repositórios definido\n"
-"    na seção [paths] de seu arquivo de configuração."
-
-msgid ""
-":predecessors: Returns the list if the closest visible successors. "
-"(EXPERIMENTAL)"
-msgstr ""
-":predecessors: Retorna a lista dos sucessores visíveis mais próximos. "
-"(EXPERIMENTAL)"
-
-msgid ""
-":successorssets: Returns a string of sets of successors for a changectx. Format used\n"
-"    is: [ctx1, ctx2], [ctx3] if ctx has been splitted into ctx1 and ctx2\n"
-"    while also diverged into ctx3. (EXPERIMENTAL)"
-msgstr ""
-":successorssets: Retorna uma string de conjuntos de sucessores\n"
-"    para um contexto de mudanças.\n"
-"    O formato usado é: [ctx1, ctx2], [ctx3] se o contexto foi\n"
-"    dividido em ctx1 e ctx2 e divergiu em ctx3. (EXPERIMENTAL)"
-
-msgid ""
-":succsandmarkers: Returns a list of dict for each final successor of ctx. The dict\n"
-"    contains successors node id in \"successors\" keys and the list of\n"
-"    obs-markers from ctx to the set of successors in \"markers\".\n"
-"    (EXPERIMENTAL)"
-msgstr ""
-":succsandmarkers: Retorna uma lista de dicionários para cada sucessor\n"
-"    final do contexto. Os dictionários contêm ids de nós sucessores nas\n"
-"    chaves \"successors\" e a lista de marcadores de obsolescência do\n"
-"    contexto até o conjunto de sucessores em \"markers\".\n"
-"    (EXPERIMENTAL)"
-
-msgid ""
-":p1rev: Integer. The repository-local revision number of the changeset's\n"
-"    first parent, or -1 if the changeset has no parents."
-msgstr ""
-":p1rev: Inteiro. O número de revisão local do primeiro pai da revisão,\n"
-"    ou -1 se a revisão não tiver pais."
-
-msgid ""
-":p2rev: Integer. The repository-local revision number of the changeset's\n"
-"    second parent, or -1 if the changeset has no second parent."
-msgstr ""
-":p2rev: Inteiro. O número de revisão local do segundo pai da revisão,\n"
-"    ou -1 se a revisão não tiver um segundo pai."
-
-msgid ""
-":p1node: String. The identification hash of the changeset's first parent,\n"
-"    as a 40 digit hexadecimal string. If the changeset has no parents, all\n"
-"    digits are 0."
-msgstr ""
-":p1node: Texto. O hash de identificação do primeiro pai da revisão, na\n"
-"    forma de um hexadecimal de 40 dígitos.\n"
-"    Se a revisão não tiver pais, todos os dígitos serão 0."
-
-msgid ""
-":p2node: String. The identification hash of the changeset's second\n"
-"    parent, as a 40 digit hexadecimal string. If the changeset has no second\n"
-"    parent, all digits are 0."
-msgstr ""
-":p2node: Texto. O hash de identificação do segundo pai da revisão, na\n"
-"    forma de um hexadecimal de 40 dígitos.\n"
-"    Se a revisão não tiver o segundo pai, todos os dígitos serão 0."
-
-msgid ""
-":parents: List of strings. The parents of the changeset in \"rev:node\"\n"
-"    format. If the changeset has only one \"natural\" parent (the predecessor\n"
-"    revision) nothing is shown."
-msgstr ""
-":parents: Lista de strings. Os pais da revisão no formato \"rev:node\".\n"
-"    Se a revisão só tiver um pai \"natural\" (a revisão predecessora),\n"
-"    nada é exibido."
-
-msgid ":phase: String. The changeset phase name."
-msgstr ":phase: String. O nome da fase da revisão."
-
-msgid ":phaseidx: Integer. The changeset phase index. (ADVANCED)"
-msgstr ":phaseidx: Inteiro. O índice da fase da revisão. (AVANÇADO)"
-
-msgid ":rev: Integer. The repository-local changeset revision number."
-msgstr ":rev: Inteiro. O número de ordem da revisão no repositório local."
-
-msgid ":subrepos: List of strings. Updated subrepositories in the changeset."
-msgstr ":subrepos: Lista de strings. Sub-repositórios atualizados na revisão."
-
-msgid ":tags: List of strings. Any tags associated with the changeset."
-msgstr ":tags: Lista de strings. Quaisquer etiquetas associadas à revisão."
-
-msgid ":termwidth: Integer. The width of the current terminal."
-msgstr ":termwidth: Inteiro. A largura do terminal atual."
-
-msgid ""
-":troubles: List of strings. Evolution troubles affecting the changeset.\n"
-"    (DEPRECATED)"
-msgstr ""
-":troubles: Lista de strings. Problemas de evolução que afetam a revisão.\n"
-"    (OBSOLETO)"
-
-msgid ""
-":instabilities: List of strings. Evolution instabilities affecting the changeset.\n"
-"    (EXPERIMENTAL)"
-msgstr ""
-":instabilities: Lista de strings. Problemas de evolução que afetam a\n"
-"    revisão. (EXPERIMENTAL)"
-
-msgid ""
-":verbosity: String. The current output verbosity in 'debug', 'quiet', 'verbose',\n"
-"    or ''."
-msgstr ""
-":verbosity: String. O nível de verbosidade atual em 'debug',\n"
-"    'quiet', 'verbose' ou ''."
-
-msgid "unterminated template expansion"
-msgstr "expansão de modelo não terminada"
-
-#, python-format
-msgid "unknown method '%s'"
-msgstr "método desconhecido '%s'"
-
-#, python-format
-msgid "expected a symbol, got '%s'"
-msgstr "esperado um símbolo, recebido '%s'"
-
-msgid "expected template specifier"
-msgstr "esperado um especificador de modelo"
-
-msgid "not an integer"
-msgstr "não é um inteiro"
-
-#, python-format
-msgid "recursive reference '%s' in template"
-msgstr "referência recursiva '%s' no modelo"
-
-#, python-format
-msgid "unknown function '%s'"
-msgstr "função desconhecida '%s'"
-
-#, python-format
-msgid "template filter '%s' is not compatible with keyword '%s'"
-msgstr "o filtro de modelo '%s' não é compatível com a palavra chave '%s'"
-
-#, python-format
-msgid "incompatible use of template filter '%s'"
-msgstr "uso incompatível do filtro de modelo '%s'"
-
-#, python-format
-msgid "keyword '%s' is not iterable"
-msgstr "a palavra chave '%s' não é iterável"
-
-#, python-format
-msgid "%r is not iterable"
-msgstr "%r não é iterável"
-
-#, python-format
-msgid "keyword '%s' has no member"
-msgstr "a palavra chave '%s' não tem membros"
-
-#, python-format
-msgid "%r has no member"
-msgstr "%r não tem membros"
-
-msgid "negation needs an integer argument"
-msgstr "a negação precisa de um argumento inteiro"
-
-msgid "arithmetic only defined on integers"
-msgstr "a aritmética está definida apenas para inteiros"
-
-msgid "division by zero is not defined"
-msgstr "a divisão por zero não é definida"
-
-#, python-format
-msgid "filter %s expects one argument"
-msgstr "o filtro %s espera um argumento"
-
 msgid ""
 ":date(date[, fmt]): Format a date. See :hg:`help dates` for formatting\n"
 "    strings. The default is a Unix date format, including the timezone:\n"
@@ -38164,6 +39163,16 @@
 msgstr "formatnode espera um argumento"
 
 msgid ""
+":mailmap(author): Return the author, updated according to the value\n"
+"    set in the .mailmap file"
+msgstr ""
+":mailmap(autor): Retorna o autor, atualizado de acordo com valores\n"
+"    definidos no arquivo .mailmap"
+
+msgid "mailmap expects one argument"
+msgstr "mailmap espera um argumento"
+
+msgid ""
 ":pad(text, width[, fillchar=' '[, left=False]]): Pad text with a\n"
 "    fill character."
 msgstr ""
@@ -38492,6 +39501,341 @@
 msgid "word expects an integer index"
 msgstr "word espera um índice inteiro"
 
+#. i18n: column positioning for "hg log"
+#, python-format
+msgid ""
+"bookmark:    %s\n"
+"branch:      %s\n"
+"changeset:   %s\n"
+"copies:      %s\n"
+"date:        %s\n"
+"extra:       %s=%s\n"
+"files+:      %s\n"
+"files-:      %s\n"
+"files:       %s\n"
+"instability: %s\n"
+"manifest:    %s\n"
+"obsolete:    %s\n"
+"parent:      %s\n"
+"phase:       %s\n"
+"summary:     %s\n"
+"tag:         %s\n"
+"user:        %s\n"
+msgstr ""
+"marcador:      %s\n"
+"ramo:          %s\n"
+"revisão:       %s\n"
+"cópias:        %s\n"
+"data:          %s\n"
+"extra:         %s=%s\n"
+"arquivos+:     %s\n"
+"arquivos-:     %s\n"
+"arquivos:      %s\n"
+"instabilidade: %s\n"
+"manifesto:     %s\n"
+"obsolescência: %s\n"
+"pai:           %s\n"
+"fase:          %s\n"
+"sumário:       %s\n"
+"etiqueta:      %s\n"
+"usuário:       %s\n"
+
+msgid ":author: String. The unmodified author of the changeset."
+msgstr ":author: String. O autor da revisão, sem modificações."
+
+msgid ":bisect: String. The changeset bisection status."
+msgstr ":bisect: String. O estado de bisseção da revisão."
+
+msgid ""
+":branch: String. The name of the branch on which the changeset was\n"
+"    committed."
+msgstr ":branch: String. O nome do ramo no qual a revisão foi consolidada."
+
+msgid ""
+":branches: List of strings. The name of the branch on which the\n"
+"    changeset was committed. Will be empty if the branch name was\n"
+"    default. (DEPRECATED)"
+msgstr ""
+":branch: String. O nome do ramo no qual a revisão foi consolidada.\n"
+"    Será vazio se o nome for \"default\".\n"
+"    (OBSOLETO)"
+
+msgid ""
+":bookmarks: List of strings. Any bookmarks associated with the\n"
+"    changeset. Also sets 'active', the name of the active bookmark."
+msgstr ""
+":bookmarks: Lista de strings. Quaisquer marcadores associados à revisão.\n"
+"    Também define 'active', o nome do marcador ativo."
+
+msgid ":children: List of strings. The children of the changeset."
+msgstr ":children: Lista de strings. As revisões filhas da revisão."
+
+msgid ""
+":currentbookmark: String. The active bookmark, if it is associated with the changeset.\n"
+"    (DEPRECATED)"
+msgstr ""
+":currentbookmark: String. O marcador ativo, se estiver\n"
+"    associado à revisão. (OBSOLETO)"
+
+msgid ""
+":activebookmark: String. The active bookmark, if it is associated with the "
+"changeset."
+msgstr ""
+":activebookmark: String. O marcador ativo, se estiver\n"
+"    associado à revisão."
+
+msgid ":date: Date information. The date when the changeset was committed."
+msgstr ":date: Informação de data. A data de consolidação da revisão."
+
+msgid ":desc: String. The text of the changeset description."
+msgstr ":desc: String. O texto da descrição da revisão."
+
+msgid ""
+":diffstat: String. Statistics of changes with the following format:\n"
+"    \"modified files: +added/-removed lines\""
+msgstr ""
+":diffstat: String. Estatísticas de mudanças no seguinte\n"
+"    formato: \"modified files: +added/-removed lines\""
+
+msgid ":envvars: A dictionary of environment variables. (EXPERIMENTAL)"
+msgstr ":envvars: Um dicionário de variáveis de ambiente. (EXPERIMENTAL)"
+
+msgid ""
+":extras: List of dicts with key, value entries of the 'extras'\n"
+"    field of this changeset."
+msgstr ""
+":extras: Lista de dicionários com entradas chave, valor dos campos\n"
+"    'extras' desta revisão."
+
+msgid ":file_adds: List of strings. Files added by this changeset."
+msgstr ":file_adds: Lista de strings. Arquivos adicionados por esta revisão."
+
+msgid ""
+":file_copies: List of strings. Files copied in this changeset with\n"
+"    their sources."
+msgstr ""
+":file_copies: Lista de strings. Arquivos copiados nesta revisão\n"
+"    com suas respectivas origens."
+
+msgid ""
+":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
+"    only if the --copied switch is set."
+msgstr ""
+":file_copies_switch: Lista de strings. Como \"file_copies\", mas\n"
+"    é exibida apenas se a opção --copied estiver definida."
+
+msgid ":file_dels: List of strings. Files removed by this changeset."
+msgstr ":file_dels: Lista de strings. Arquivos removidos por esta revisão."
+
+msgid ":file_mods: List of strings. Files modified by this changeset."
+msgstr ":file_mods: Lista de strings. Arquivos modificados por esta revisão"
+
+msgid ""
+":files: List of strings. All files modified, added, or removed by this\n"
+"    changeset."
+msgstr ""
+":files: Lista de strings. Todos os arquivos modificados,\n"
+"    adicionados ou removidos por esta revisão."
+
+msgid ""
+":graphnode: String. The character representing the changeset node in an ASCII\n"
+"    revision graph."
+msgstr ""
+":graphnode: String. O caractere que representa o nó da revisão em\n"
+"    um grafo ASCII de revisões."
+
+msgid ""
+":graphwidth: Integer. The width of the graph drawn by 'log --graph' or zero."
+msgstr ""
+":graphwidth: Inteiro. A largura do grafo desenhado por 'log --graph' ou "
+"zero."
+
+msgid ":index: Integer. The current iteration of the loop. (0 indexed)"
+msgstr ":index: Inteiro. A iteração atual do loop. (indexada a partir de 0)"
+
+msgid "can't use index in this context"
+msgstr "não se pode usar index nesse contexto"
+
+msgid ""
+":latesttag: List of strings. The global tags on the most recent globally\n"
+"    tagged ancestor of this changeset.  If no such tags exist, the list\n"
+"    consists of the single string \"null\"."
+msgstr ""
+":latesttag: Lista de strings. As etiquetas globais no ancestral mais\n"
+"    recente desta revisão que possuir etiquetas globais.\n"
+"    Se tais etiquetas não existirem, a lista consistirá apenas do\n"
+"    texto \"null\"."
+
+msgid ":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ":latesttagdistance: Inteiro. O caminho mais longo para a latesttag."
+
+msgid ":changessincelatesttag: Integer. All ancestors not in the latest tag."
+msgstr ""
+":changessincelatesttag: Inteiro. Todos os ancestrais que não estão na\n"
+"    etiqueta mais recente."
+
+msgid ""
+":namespaces: Dict of lists. Names attached to this changeset per\n"
+"    namespace."
+msgstr ""
+":namespaces: Dicionário de listas. Nomes associados à revisão\n"
+"    por espaço de nomes."
+
+msgid ""
+":node: String. The changeset identification hash, as a 40 hexadecimal\n"
+"    digit string."
+msgstr ""
+":node: String. O hash de identificação da revisão, como uma string\n"
+"    hexadecimal de 40 dígitos."
+
+msgid ":obsolete: String. Whether the changeset is obsolete. (EXPERIMENTAL)"
+msgstr ":obsolete: String. Se a revisão for obsoleta. (EXPERIMENTAL)"
+
+msgid ""
+":peerurls: A dictionary of repository locations defined in the [paths] section\n"
+"    of your configuration file."
+msgstr ""
+":peerurls: Um dicionário de localizações de repositórios definido\n"
+"    na seção [paths] de seu arquivo de configuração."
+
+msgid ""
+":predecessors: Returns the list if the closest visible successors. "
+"(EXPERIMENTAL)"
+msgstr ""
+":predecessors: Retorna a lista dos sucessores visíveis mais próximos. "
+"(EXPERIMENTAL)"
+
+msgid ":reporoot: String. The root directory of the current repository."
+msgstr ":reporoot: String. O diretório raiz do repositório atual."
+
+msgid ""
+":successorssets: Returns a string of sets of successors for a changectx. Format used\n"
+"    is: [ctx1, ctx2], [ctx3] if ctx has been splitted into ctx1 and ctx2\n"
+"    while also diverged into ctx3. (EXPERIMENTAL)"
+msgstr ""
+":successorssets: Retorna uma string de conjuntos de sucessores\n"
+"    para um contexto de mudanças.\n"
+"    O formato usado é: [ctx1, ctx2], [ctx3] se o contexto foi\n"
+"    dividido em ctx1 e ctx2 e divergiu em ctx3. (EXPERIMENTAL)"
+
+msgid ""
+":succsandmarkers: Returns a list of dict for each final successor of ctx. The dict\n"
+"    contains successors node id in \"successors\" keys and the list of\n"
+"    obs-markers from ctx to the set of successors in \"markers\".\n"
+"    (EXPERIMENTAL)"
+msgstr ""
+":succsandmarkers: Retorna uma lista de dicionários para cada sucessor\n"
+"    final do contexto. Os dictionários contêm ids de nós sucessores nas\n"
+"    chaves \"successors\" e a lista de marcadores de obsolescência do\n"
+"    contexto até o conjunto de sucessores em \"markers\".\n"
+"    (EXPERIMENTAL)"
+
+msgid ""
+":p1rev: Integer. The repository-local revision number of the changeset's\n"
+"    first parent, or -1 if the changeset has no parents."
+msgstr ""
+":p1rev: Inteiro. O número de revisão local do primeiro pai da revisão,\n"
+"    ou -1 se a revisão não tiver pais."
+
+msgid ""
+":p2rev: Integer. The repository-local revision number of the changeset's\n"
+"    second parent, or -1 if the changeset has no second parent."
+msgstr ""
+":p2rev: Inteiro. O número de revisão local do segundo pai da revisão,\n"
+"    ou -1 se a revisão não tiver um segundo pai."
+
+msgid ""
+":p1node: String. The identification hash of the changeset's first parent,\n"
+"    as a 40 digit hexadecimal string. If the changeset has no parents, all\n"
+"    digits are 0."
+msgstr ""
+":p1node: Texto. O hash de identificação do primeiro pai da revisão, na\n"
+"    forma de um hexadecimal de 40 dígitos.\n"
+"    Se a revisão não tiver pais, todos os dígitos serão 0."
+
+msgid ""
+":p2node: String. The identification hash of the changeset's second\n"
+"    parent, as a 40 digit hexadecimal string. If the changeset has no second\n"
+"    parent, all digits are 0."
+msgstr ""
+":p2node: Texto. O hash de identificação do segundo pai da revisão, na\n"
+"    forma de um hexadecimal de 40 dígitos.\n"
+"    Se a revisão não tiver o segundo pai, todos os dígitos serão 0."
+
+msgid ""
+":parents: List of strings. The parents of the changeset in \"rev:node\"\n"
+"    format. If the changeset has only one \"natural\" parent (the predecessor\n"
+"    revision) nothing is shown."
+msgstr ""
+":parents: Lista de strings. Os pais da revisão no formato \"rev:node\".\n"
+"    Se a revisão só tiver um pai \"natural\" (a revisão predecessora),\n"
+"    nada é exibido."
+
+msgid ":phase: String. The changeset phase name."
+msgstr ":phase: String. O nome da fase da revisão."
+
+msgid ":phaseidx: Integer. The changeset phase index. (ADVANCED)"
+msgstr ":phaseidx: Inteiro. O índice da fase da revisão. (AVANÇADO)"
+
+msgid ":rev: Integer. The repository-local changeset revision number."
+msgstr ":rev: Inteiro. O número de ordem da revisão no repositório local."
+
+msgid ":subrepos: List of strings. Updated subrepositories in the changeset."
+msgstr ":subrepos: Lista de strings. Sub-repositórios atualizados na revisão."
+
+msgid ":tags: List of strings. Any tags associated with the changeset."
+msgstr ":tags: Lista de strings. Quaisquer etiquetas associadas à revisão."
+
+msgid ":termwidth: Integer. The width of the current terminal."
+msgstr ":termwidth: Inteiro. A largura do terminal atual."
+
+msgid ""
+":instabilities: List of strings. Evolution instabilities affecting the changeset.\n"
+"    (EXPERIMENTAL)"
+msgstr ""
+":instabilities: Lista de strings. Problemas de evolução que afetam a\n"
+"    revisão. (EXPERIMENTAL)"
+
+msgid ""
+":verbosity: String. The current output verbosity in 'debug', 'quiet', 'verbose',\n"
+"    or ''."
+msgstr ""
+":verbosity: String. O nível de verbosidade atual em 'debug',\n"
+"    'quiet', 'verbose' ou ''."
+
+msgid ""
+":whyunstable: List of dicts explaining all instabilities of a changeset.\n"
+"    (EXPERIMENTAL)"
+msgstr ""
+":whyunstable: Lista de dicionários explicando todas as instabilidades\n"
+"    de uma revisão. (EXPERIMENTAL)"
+
+msgid "unterminated template expansion"
+msgstr "expansão de modelo não terminada"
+
+#, python-format
+msgid "unknown method '%s'"
+msgstr "método desconhecido '%s'"
+
+#, python-format
+msgid "expected a symbol, got '%s'"
+msgstr "esperado um símbolo, recebido '%s'"
+
+msgid "expected template specifier"
+msgstr "esperado um especificador de modelo"
+
+#, python-format
+msgid "recursive reference '%s' in template"
+msgstr "referência recursiva '%s' no modelo"
+
+#, python-format
+msgid "unknown function '%s'"
+msgstr "função desconhecida '%s'"
+
+#, python-format
+msgid "filter %s expects one argument"
+msgstr "o filtro %s espera um argumento"
+
 msgid "template alias"
 msgstr "apelido de modelo"
 
@@ -38529,6 +39873,48 @@
 msgid "invalid template engine: %s"
 msgstr "motor de modelos inválido: %s"
 
+msgid "list of strings is not mappable"
+msgstr "uma lista de strings não é mapeável"
+
+msgid "not a date tuple nor a string"
+msgstr "não é uma tupla de data nem uma string"
+
+msgid "not an integer"
+msgstr "não é um inteiro"
+
+#, python-format
+msgid "incompatible use of template filter '%s'"
+msgstr "uso incompatível do filtro de modelo '%s'"
+
+#, python-format
+msgid "template filter '%s' is not compatible with keyword '%s'"
+msgstr "o filtro de modelo '%s' não é compatível com a palavra chave '%s'"
+
+#, python-format
+msgid "keyword '%s' is not iterable of mappings"
+msgstr "a palavra chave '%s' não é iterável em mapeamentos"
+
+#, python-format
+msgid "%r is not iterable of mappings"
+msgstr "%r não é iterável em mapeamentos"
+
+#, python-format
+msgid "keyword '%s' has no member"
+msgstr "a palavra chave '%s' não tem membros"
+
+#, python-format
+msgid "%r has no member"
+msgstr "%r não tem membros"
+
+msgid "negation needs an integer argument"
+msgstr "a negação precisa de um argumento inteiro"
+
+msgid "arithmetic only defined on integers"
+msgstr "a aritmética está definida apenas para inteiros"
+
+msgid "division by zero is not defined"
+msgstr "a divisão por zero não é definida"
+
 msgid "cannot use transaction when it is already committed/aborted"
 msgstr "não é possível usar transação quando já estiver consolidada/abortada"
 
@@ -38597,8 +39983,8 @@
 msgstr "use 'hg config --edit' para definir seu nome de usuário"
 
 #, python-format
-msgid "username %s contains a newline\n"
-msgstr "nome de usuário %s contém quebra de linha\n"
+msgid "username %r contains a newline\n"
+msgstr "nome de usuário %r contém uma quebra de linha\n"
 
 #, python-format
 msgid "missing pager command '%s', skipping pager\n"
@@ -38709,7 +40095,7 @@
 msgstr ""
 
 msgid "revlog content will be recompressed with the new algorithm."
-msgstr ""
+msgstr "o conteúdo do revlog será recomprimido com o novo algoritmo"
 
 msgid ""
 "deltas within internal storage will be recalculated to choose an optimal "
@@ -38778,12 +40164,19 @@
 "lfs). This is similar to \"redeltaall\" but even slower since more logic is "
 "involved."
 msgstr ""
+"cada revisão será readicionada como se fosse conteúdo novo. Elas passarão "
+"por todo o mecanismo de armazenamento, dando a cada extensão (por exemplo "
+"lfs) chance de processá-las. Este mecanismo é similar a \"redeltaall\", mas "
+"ainda mais lento por envolver mais lógica."
 
 msgid ""
 "each revision will be added as new content to the internal storage; this "
 "will likely drastically slow down execution time, but some extensions might "
 "need it"
 msgstr ""
+"cada revisão será adicionada como novo conteúdo ao armazenamento interno; "
+"isto provavelmente aumentará drasticamente o tempo de execução, mas pode ser"
+" necessário para algumas extensões"
 
 #, python-format
 msgid ""
@@ -39051,10 +40444,6 @@
 msgid "%s mismatch: expected %s, got %s"
 msgstr "%s não bate: esperado %s, obtido %s"
 
-#, python-format
-msgid "command '%s' failed: %s"
-msgstr "falha ao executar o comando '%s' : %s"
-
 msgid "copying"
 msgstr "copiando"
 
@@ -39079,55 +40468,6 @@
 msgid "filename ends with '%s', which is not allowed on Windows"
 msgstr "o nome de arquivo termina em '%s', o que não é permitido em Windows"
 
-msgid "check your clock"
-msgstr "verifique seu relógio"
-
-#, python-format
-msgid "negative timestamp: %d"
-msgstr "timestamp negativo: %d"
-
-msgid "now"
-msgstr "now"
-
-msgid "today"
-msgstr "today"
-
-msgid "yesterday"
-msgstr "yesterday"
-
-#, python-format
-msgid "invalid date: %r"
-msgstr "data inválida: %r"
-
-#, python-format
-msgid "date exceeds 32 bits: %d"
-msgstr "data supera 32 bits: %d"
-
-#, python-format
-msgid "impossible time zone offset: %d"
-msgstr "fuso horário impossível: %d"
-
-msgid "dates cannot consist entirely of whitespace"
-msgstr "datas não podem conter apenas espaços em branco"
-
-msgid "invalid day spec, use '<DATE'"
-msgstr "especificação de dia inválida, use '<DATA'"
-
-msgid "invalid day spec, use '>DATE'"
-msgstr "especificação de dia inválida, use '>DATA'"
-
-#, python-format
-msgid "invalid day spec: %s"
-msgstr "especificação de dia inválida: %s"
-
-#, python-format
-msgid "%s must be nonnegative (see 'hg help dates')"
-msgstr "%s não pode ser negativo (veja 'hg help dates')"
-
-#, python-format
-msgid "invalid regular expression: %s"
-msgstr "expressão regular inválida: %s"
-
 msgid "line range must be positive"
 msgstr "o intervalo de linhas deve ser positivo"
 
@@ -39351,6 +40691,67 @@
 msgstr ""
 "dados recebidos terminaram inesperadamente (%d bytes obtidos, %d esperados)"
 
+msgid "check your clock"
+msgstr "verifique seu relógio"
+
+#, python-format
+msgid "negative timestamp: %d"
+msgstr "timestamp negativo: %d"
+
+msgid "now"
+msgstr "now"
+
+msgid "today"
+msgstr "today"
+
+msgid "yesterday"
+msgstr "yesterday"
+
+#, python-format
+msgid "invalid date: %r"
+msgstr "data inválida: %r"
+
+#, python-format
+msgid "date exceeds 32 bits: %d"
+msgstr "data supera 32 bits: %d"
+
+#, python-format
+msgid "impossible time zone offset: %d"
+msgstr "fuso horário impossível: %d"
+
+msgid "dates cannot consist entirely of whitespace"
+msgstr "datas não podem conter apenas espaços em branco"
+
+msgid "invalid day spec, use '<DATE'"
+msgstr "especificação de dia inválida, use '<DATA'"
+
+msgid "invalid day spec, use '>DATE'"
+msgstr "especificação de dia inválida, use '>DATA'"
+
+#, python-format
+msgid "invalid day spec: %s"
+msgstr "especificação de dia inválida: %s"
+
+#, python-format
+msgid "%s must be nonnegative (see 'hg help dates')"
+msgstr "%s não pode ser negativo (veja 'hg help dates')"
+
+#, python-format
+msgid "exited with status %d"
+msgstr "terminou com o código %d"
+
+#, python-format
+msgid "killed by signal %d"
+msgstr "morto pelo sinal %d"
+
+#, python-format
+msgid "command '%s' failed: %s"
+msgstr "falha ao executar o comando '%s' : %s"
+
+#, python-format
+msgid "invalid regular expression: %s"
+msgstr "expressão regular inválida: %s"
+
 #, python-format
 msgid "empty or missing %s"
 msgstr "%s vazio ou faltando"
@@ -39474,8 +40875,8 @@
 msgstr "impossível decodificar nome de arquivo '%s'"
 
 #, python-format
-msgid "warning: orphan revlog '%s'"
-msgstr "atenção: revlog '%s' órfão"
+msgid "warning: orphan data file '%s'"
+msgstr "atenção: arquivo de dados '%s' órfão"
 
 msgid "crosschecking files in changesets and manifests\n"
 msgstr "checagem cruzada de arquivos em revisões e no manifesto\n"
@@ -39564,20 +40965,116 @@
 msgstr ""
 "nome de servidor ssh ilegal, ou nome de usuário começado com - ou /: %s"
 
-msgid "incompatible Mercurial client; bundle2 required"
-msgstr "cliente do Mercurial incompatível; bundle2 é necessário"
-
-msgid "see https://www.mercurial-scm.org/wiki/IncompatibleClient"
-msgstr "veja https://www.mercurial-scm.org/wiki/IncompatibleClient"
-
-msgid "look up remote revision"
-msgstr "procurar revisão remota"
-
-msgid "push failed (unexpected response):"
-msgstr "o push falhou (resposta inesperada):"
-
-msgid "look up remote changes"
-msgstr "procurar mudanças remotas"
+#, python-format
+msgid "received incomplete frame: got %d bytes: %s"
+msgstr ""
+
+#, python-format
+msgid "frame length error: expected %d; got %d"
+msgstr ""
+
+#, python-format
+msgid "received frame with even numbered stream ID: %d"
+msgstr ""
+
+msgid ""
+"received frame on unknown inactive stream without beginning of stream flag "
+"set"
+msgstr ""
+
+msgid "command request missing \"name\" field"
+msgstr ""
+
+msgid ""
+"received command request frame with both new and continuation flags set"
+msgstr ""
+
+msgid ""
+"received command request frame with neither new nor continuation flags set"
+msgstr ""
+
+#, python-format
+msgid "expected command request frame; got %d"
+msgstr ""
+
+#, python-format
+msgid "request with ID %d already received"
+msgstr ""
+
+#, python-format
+msgid "request with ID %d is already active"
+msgstr ""
+
+msgid "received command request frame without new flag set"
+msgstr ""
+
+#, python-format
+msgid "received frame for request that is still active: %d"
+msgstr ""
+
+#, python-format
+msgid "received frame for request that is not receiving: %d"
+msgstr ""
+
+msgid ""
+"received command request frame when request frames were supposedly done"
+msgstr ""
+
+msgid "mismatch between expect data flag and previous frame"
+msgstr ""
+
+#, python-format
+msgid "received command data frame for request that is not expecting data: %d"
+msgstr ""
+
+#, python-format
+msgid "received unexpected frame type: %d"
+msgstr ""
+
+msgid "command data frame without flags"
+msgstr ""
+
+msgid "server already errored"
+msgstr ""
+
+#, python-format
+msgid "received frame with odd numbered stream ID: %d"
+msgstr ""
+
+msgid "received frame on unknown stream without beginning of stream flag set"
+msgstr ""
+
+#, python-format
+msgid "received frame for inactive request ID: %d"
+msgstr ""
+
+msgid "Experimental API server endpoint not enabled"
+msgstr ""
+
+msgid ""
+"APIs can be accessed at /api/<name>, where <name> can be one of the "
+"following:\n"
+msgstr ""
+
+msgid "(no available APIs)\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"Unknown API: %s\n"
+"Known APIs: %s"
+msgstr ""
+
+#, python-format
+msgid "API %s not enabled\n"
+msgstr ""
+
+msgid "requested wire protocol command is not available over HTTP"
+msgstr ""
+
+#, python-format
+msgid "unexpected parameter %r"
+msgstr "parâmetro inesperado %r"
 
 #, python-format
 msgid "invalid compression engine defined in %s: %s"
@@ -39593,18 +41090,151 @@
 msgid "usable compression engines: %s"
 msgstr "motores de compressão usáveis: %s"
 
+msgid "unfulfilled batch command response"
+msgstr ""
+
+msgid "clone bundles"
+msgstr ""
+
+msgid "look up remote revision"
+msgstr "procurar revisão remota"
+
+msgid "push failed (unexpected response):"
+msgstr "o push falhou (resposta inesperada):"
+
+msgid "look up remote changes"
+msgstr "procurar mudanças remotas"
+
+msgid "incompatible Mercurial client; bundle2 required"
+msgstr "cliente do Mercurial incompatível; bundle2 é necessário"
+
+msgid "see https://www.mercurial-scm.org/wiki/IncompatibleClient"
+msgstr "veja https://www.mercurial-scm.org/wiki/IncompatibleClient"
+
 msgid "server has pull-based clones disabled"
 msgstr "o servidor desabilitou clones baseados em pull"
 
 msgid "remove --pull if specified or upgrade Mercurial"
 msgstr "remova --pull se especificada, ou atualize o Mercurial"
 
+#, python-format
+msgid "received %r\n"
+msgstr ""
+
+msgid "HTTP version 2 API handler"
+msgstr ""
+
+#, python-format
+msgid "do not know how to process %s\n"
+msgstr ""
+
+#, python-format
+msgid "unknown permission: %s"
+msgstr ""
+
+msgid "commands require POST requests"
+msgstr ""
+
+#, python-format
+msgid "unknown wire protocol command: %s\n"
+msgstr ""
+
+#, python-format
+msgid "invalid wire protocol command: %s"
+msgstr ""
+
+#, python-format
+msgid "client MUST specify Accept header with value: %s\n"
+msgstr ""
+
+#, python-format
+msgid "client MUST send Content-Type header with value: %s\n"
+msgstr ""
+
+msgid "debugreflect service not available"
+msgstr ""
+
+#, python-format
+msgid "wire protocol command not available: %s"
+msgstr ""
+
+#, python-format
+msgid "insufficient permissions to execute command: %s"
+msgstr ""
+
+msgid "multiple commands cannot be issued to this URL"
+msgstr ""
+
+msgid "command in frame must match command in URL"
+msgstr ""
+
+msgid "unhandled response type from wire proto command"
+msgstr ""
+
 msgid "number of cpus must be an integer"
 msgstr "o número de cpus deve ser um inteiro"
 
 msgid "failed to kill worker threads while handling an exception\n"
 msgstr "falha ao matar threads trabalhadoras ao tratar uma exceção\n"
 
+#~ msgid ""
+#~ "    Output may be to a file, in which case the name of the file is\n"
+#~ "    given using a format string. The formatting rules as follows:"
+#~ msgstr ""
+#~ "    A saída pode ser gerada em um arquivo, e nesse caso o nome do\n"
+#~ "    arquivo é dado usando uma string de formato. As regras de\n"
+#~ "    formatação são como segue:"
+
+#~ msgid "include the specified changeset"
+#~ msgstr "inclui a revisão especificada"
+
+#~ msgid "clone only the specified branch"
+#~ msgstr "clona apenas o ramo especificado"
+
+#~ msgid "only one config item permitted"
+#~ msgstr "apenas um item de configuração permitido"
+
+#~ msgid "    %s"
+#~ msgstr "    %s"
+
+#~ msgid ""
+#~ "    >>> person(b'foo@bar')\n"
+#~ "    'foo'\n"
+#~ "    >>> person(b'Foo Bar <foo@bar>')\n"
+#~ "    'Foo Bar'\n"
+#~ "    >>> person(b'\"Foo Bar\" <foo@bar>')\n"
+#~ "    'Foo Bar'\n"
+#~ "    >>> person(b'\"Foo \"buz\" Bar\" <foo@bar>')\n"
+#~ "    'Foo \"buz\" Bar'\n"
+#~ "    >>> # The following are invalid, but do exist in real-life\n"
+#~ "    ...\n"
+#~ "    >>> person(b'Foo \"buz\" Bar <foo@bar>')\n"
+#~ "    'Foo \"buz\" Bar'\n"
+#~ "    >>> person(b'\"Foo Bar <foo@bar>')\n"
+#~ "    'Foo Bar'"
+#~ msgstr ""
+#~ "    >>> person(b'foo@bar')\n"
+#~ "    'foo'\n"
+#~ "    >>> person(b'Foo Bar <foo@bar>')\n"
+#~ "    'Foo Bar'\n"
+#~ "    >>> person(b'\"Foo Bar\" <foo@bar>')\n"
+#~ "    'Foo Bar'\n"
+#~ "    >>> person(b'\"Foo \"buz\" Bar\" <foo@bar>')\n"
+#~ "    'Foo \"buz\" Bar'\n"
+#~ "    >>> # The following are invalid, but do exist in real-life\n"
+#~ "    ...\n"
+#~ "    >>> person(b'Foo \"buz\" Bar <foo@bar>')\n"
+#~ "    'Foo \"buz\" Bar'\n"
+#~ "    >>> person(b'\"Foo Bar <foo@bar>')\n"
+#~ "    'Foo Bar'"
+
+#~ msgid ""
+#~ ":troubles: List of strings. Evolution troubles affecting the changeset.\n"
+#~ "    (DEPRECATED)"
+#~ msgstr ""
+#~ ":troubles: Lista de strings. Problemas de evolução que afetam a revisão.\n"
+#~ "    (OBSOLETO)"
+
 #~ msgid "cannot uncommit while merging"
 #~ msgstr "não é possível desfazer a consolidação durante uma mesclagem"
 
--- a/mercurial/bundle2.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/bundle2.py	Wed Jun 06 13:31:24 2018 -0400
@@ -1659,7 +1659,8 @@
             for n in sorted(closed):
                 yield n
 
-    bundler.newpart('cache:rev-branch-cache', data=generate())
+    bundler.newpart('cache:rev-branch-cache', data=generate(),
+                    mandatory=False)
 
 def _formatrequirementsspec(requirements):
     return urlreq.quote(','.join(sorted(requirements)))
--- a/mercurial/cext/bdiff.c	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/cext/bdiff.c	Wed Jun 06 13:31:24 2018 -0400
@@ -261,7 +261,7 @@
                          void *priv)
 {
 	PyObject *rl = (PyObject *)priv;
-	PyObject *m = Py_BuildValue("llll", a1, a2, b1, b2);
+	PyObject *m = Py_BuildValue("LLLL", a1, a2, b1, b2);
 	if (!m)
 		return -1;
 	if (PyList_Append(rl, m) != 0) {
--- a/mercurial/cmdutil.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/cmdutil.py	Wed Jun 06 13:31:24 2018 -0400
@@ -3187,8 +3187,16 @@
     if found. It's probably good to check this right before
     bailifchanged().
     '''
+    # Check for non-clearable states first, so things like rebase will take
+    # precedence over update.
     for f, clearable, allowcommit, msg, hint in unfinishedstates:
-        if commit and allowcommit:
+        if clearable or (commit and allowcommit):
+            continue
+        if repo.vfs.exists(f):
+            raise error.Abort(msg, hint=hint)
+
+    for f, clearable, allowcommit, msg, hint in unfinishedstates:
+        if not clearable or (commit and allowcommit):
             continue
         if repo.vfs.exists(f):
             raise error.Abort(msg, hint=hint)
--- a/mercurial/configitems.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/configitems.py	Wed Jun 06 13:31:24 2018 -0400
@@ -1128,6 +1128,9 @@
 coreconfigitem('ui', 'rollback',
     default=True,
 )
+coreconfigitem('ui', 'signal-safe-lock',
+    default=True,
+)
 coreconfigitem('ui', 'slash',
     default=False,
 )
--- a/mercurial/debugcommands.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/debugcommands.py	Wed Jun 06 13:31:24 2018 -0400
@@ -351,7 +351,8 @@
     for part in gen.iterparts():
         if parttypes and part.type not in parttypes:
             continue
-        ui.write('%s -- %s\n' % (part.type, _quasirepr(part.params)))
+        msg = '%s -- %s (mandatory: %r)\n'
+        ui.write((msg % (part.type, _quasirepr(part.params), part.mandatory)))
         if part.type == 'changegroup':
             version = part.params.get('version', '01')
             cg = changegroup.getunbundler(version, part, 'UN')
--- a/mercurial/exchange.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/exchange.py	Wed Jun 06 13:31:24 2018 -0400
@@ -8,7 +8,6 @@
 from __future__ import absolute_import
 
 import collections
-import errno
 import hashlib
 
 from .i18n import _
@@ -513,9 +512,7 @@
         pushop.trmanager = transactionmanager(pushop.repo,
                                               'push-response',
                                               pushop.remote.url())
-    except IOError as err:
-        if err.errno != errno.EACCES:
-            raise
+    except error.LockUnavailable as err:
         # source repo cannot be locked.
         # We do not abort the push, but just disable the local phase
         # synchronisation.
--- a/mercurial/hgweb/hgweb_mod.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/hgweb/hgweb_mod.py	Wed Jun 06 13:31:24 2018 -0400
@@ -225,6 +225,12 @@
         # resolve file patterns relative to repo root
         r.ui.setconfig('ui', 'forcecwd', r.root, 'hgweb')
         r.baseui.setconfig('ui', 'forcecwd', r.root, 'hgweb')
+        # it's unlikely that we can replace signal handlers in WSGI server,
+        # and mod_wsgi issues a big warning. a plain hgweb process (with no
+        # threading) could replace signal handlers, but we don't bother
+        # conditionally enabling it.
+        r.ui.setconfig('ui', 'signal-safe-lock', 'false', 'hgweb')
+        r.baseui.setconfig('ui', 'signal-safe-lock', 'false', 'hgweb')
         # displaying bundling progress bar while serving feel wrong and may
         # break some wsgi implementation.
         r.ui.setconfig('progress', 'disable', 'true', 'hgweb')
--- a/mercurial/httppeer.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/httppeer.py	Wed Jun 06 13:31:24 2018 -0400
@@ -276,9 +276,9 @@
 
     Returns the response object.
     """
+    dbg = ui.debug
     if (ui.debugflag
         and ui.configbool('devel', 'debug.peer-request')):
-        dbg = ui.debug
         line = 'devel-peer-request: %s\n'
         dbg(line % '%s %s' % (pycompat.bytesurl(req.get_method()),
                               pycompat.bytesurl(req.get_full_url())))
@@ -318,7 +318,7 @@
         ui.traceback()
         raise IOError(None, inst)
     finally:
-        if ui.configbool('devel', 'debug.peer-request'):
+        if ui.debugflag and ui.configbool('devel', 'debug.peer-request'):
             dbg(line % '  finished in %.4f seconds (%d)'
                 % (util.timer() - start, res.code))
 
--- a/mercurial/localrepo.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/localrepo.py	Wed Jun 06 13:31:24 2018 -0400
@@ -1693,12 +1693,15 @@
         if wait:
             timeout = self.ui.configint("ui", "timeout")
             warntimeout = self.ui.configint("ui", "timeout.warn")
+        # internal config: ui.signal-safe-lock
+        signalsafe = self.ui.configbool('ui', 'signal-safe-lock')
 
         l = lockmod.trylock(self.ui, vfs, lockname, timeout, warntimeout,
                             releasefn=releasefn,
                             acquirefn=acquirefn, desc=desc,
                             inheritchecker=inheritchecker,
-                            parentlock=parentlock)
+                            parentlock=parentlock,
+                            signalsafe=signalsafe)
         return l
 
     def _afterlock(self, callback):
--- a/mercurial/lock.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/lock.py	Wed Jun 06 13:31:24 2018 -0400
@@ -21,6 +21,7 @@
     encoding,
     error,
     pycompat,
+    util,
 )
 
 from .utils import (
@@ -177,7 +178,7 @@
 
     def __init__(self, vfs, fname, timeout=-1, releasefn=None, acquirefn=None,
                  desc=None, inheritchecker=None, parentlock=None,
-                 dolock=True):
+                 signalsafe=True, dolock=True):
         self.vfs = vfs
         self.f = fname
         self.held = 0
@@ -189,6 +190,10 @@
         self.parentlock = parentlock
         self._parentheld = False
         self._inherited = False
+        if signalsafe:
+            self._maybedelayedinterrupt = _delayedinterrupt
+        else:
+            self._maybedelayedinterrupt = util.nullcontextmanager
         self.postrelease  = []
         self.pid = self._getpid()
         if dolock:
@@ -244,7 +249,7 @@
         while not self.held and retry:
             retry -= 1
             try:
-                with _delayedinterrupt():
+                with self._maybedelayedinterrupt():
                     self.vfs.makelock(lockname, self.f)
                     self.held = 1
             except (OSError, IOError) as why:
--- a/mercurial/mpatch.c	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/mpatch.c	Wed Jun 06 13:31:24 2018 -0400
@@ -20,6 +20,7 @@
  of the GNU General Public License, incorporated herein by reference.
 */
 
+#include <limits.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -27,6 +28,15 @@
 #include "compat.h"
 #include "mpatch.h"
 
+/* VC9 doesn't include bool and lacks stdbool.h based on cext/util.h */
+#if defined(_MSC_VER) || __STDC_VERSION__ < 199901L
+#define true 1
+#define false 0
+typedef unsigned char bool;
+#else
+#include <stdbool.h>
+#endif
+
 static struct mpatch_flist *lalloc(ssize_t size)
 {
 	struct mpatch_flist *a = NULL;
@@ -60,6 +70,35 @@
 	return a->tail - a->head;
 }
 
+/* add helper to add src and *dest iff it won't overflow */
+static inline bool safeadd(int src, int *dest)
+{
+	if ((src > 0) == (*dest > 0)) {
+		if (*dest > 0) {
+			if (src > (INT_MAX - *dest)) {
+				return false;
+			}
+		} else {
+			if (src < (INT_MIN - *dest)) {
+				return false;
+			}
+		}
+	}
+	*dest += src;
+	return true;
+}
+
+/* subtract src from dest and store result in dest */
+static inline bool safesub(int src, int *dest)
+{
+	if (((src > 0) && (*dest < INT_MIN + src)) ||
+	    ((src < 0) && (*dest > INT_MAX + src))) {
+		return false;
+	}
+	*dest -= src;
+	return true;
+}
+
 /* move hunks in source that are less cut to dest, compensating
    for changes in offset. the last hunk may be split if necessary.
 */
@@ -70,17 +109,36 @@
 	int postend, c, l;
 
 	while (s != src->tail) {
-		if (s->start + offset >= cut)
+		int soffset = s->start;
+		if (!safeadd(offset, &soffset))
+			break; /* add would overflow, oh well */
+		if (soffset >= cut)
 			break; /* we've gone far enough */
 
-		postend = offset + s->start + s->len;
+		postend = offset;
+		if (!safeadd(s->start, &postend) ||
+		    !safeadd(s->len, &postend)) {
+			break;
+		}
 		if (postend <= cut) {
 			/* save this hunk */
-			offset += s->start + s->len - s->end;
+			int tmp = s->start;
+			if (!safesub(s->end, &tmp)) {
+				break;
+			}
+			if (!safeadd(s->len, &tmp)) {
+				break;
+			}
+			if (!safeadd(tmp, &offset)) {
+				break; /* add would overflow, oh well */
+			}
 			*d++ = *s++;
 		} else {
 			/* break up this hunk */
-			c = cut - offset;
+			c = cut;
+			if (!safesub(offset, &c)) {
+				break;
+			}
 			if (s->end < c)
 				c = s->end;
 			l = cut - offset - s->start;
@@ -114,15 +172,39 @@
 	int postend, c, l;
 
 	while (s != src->tail) {
-		if (s->start + offset >= cut)
+		int cmpcut = s->start;
+		if (!safeadd(offset, &cmpcut)) {
+			break;
+		}
+		if (cmpcut >= cut)
 			break;
 
-		postend = offset + s->start + s->len;
+		postend = offset;
+		if (!safeadd(s->start, &postend)) {
+			break;
+		}
+		if (!safeadd(s->len, &postend)) {
+			break;
+		}
 		if (postend <= cut) {
-			offset += s->start + s->len - s->end;
+			/* do the subtraction first to avoid UB integer overflow
+			 */
+			int tmp = s->start;
+			if (!safesub(s->end, &tmp)) {
+				break;
+			}
+			if (!safeadd(s->len, &tmp)) {
+				break;
+			}
+			if (!safeadd(tmp, &offset)) {
+				break;
+			}
 			s++;
 		} else {
-			c = cut - offset;
+			c = cut;
+			if (!safesub(offset, &c)) {
+				break;
+			}
 			if (s->end < c)
 				c = s->end;
 			l = cut - offset - s->start;
@@ -165,8 +247,18 @@
 
 			/* insert new hunk */
 			ct = c->tail;
-			ct->start = bh->start - offset;
-			ct->end = bh->end - post;
+			ct->start = bh->start;
+			ct->end = bh->end;
+			if (!safesub(offset, &(ct->start)) ||
+			    !safesub(post, &(ct->end))) {
+				/* It was already possible to exit
+				 * this function with a return value
+				 * of NULL before the safesub()s were
+				 * added, so this should be fine. */
+				mpatch_lfree(c);
+				c = NULL;
+				goto done;
+			}
 			ct->len = bh->len;
 			ct->data = bh->data;
 			c->tail++;
@@ -177,7 +269,7 @@
 		memcpy(c->tail, a->head, sizeof(struct mpatch_frag) * lsize(a));
 		c->tail += lsize(a);
 	}
-
+done:
 	mpatch_lfree(a);
 	mpatch_lfree(b);
 	return c;
@@ -197,14 +289,21 @@
 
 	lt = l->tail;
 
-	while (pos >= 0 && pos < len) {
+	/* We check against len-11 to ensure we have at least 12 bytes
+	   left in the patch so we can read our three be32s out of it. */
+	while (pos >= 0 && pos < (len - 11)) {
 		lt->start = getbe32(bin + pos);
 		lt->end = getbe32(bin + pos + 4);
 		lt->len = getbe32(bin + pos + 8);
-		lt->data = bin + pos + 12;
-		pos += 12 + lt->len;
-		if (lt->start > lt->end || lt->len < 0)
+		if (lt->start < 0 || lt->start > lt->end || lt->len < 0)
 			break; /* sanity check */
+		if (!safeadd(12, &pos)) {
+			break;
+		}
+		lt->data = bin + pos;
+		if (!safeadd(lt->len, &pos)) {
+			break;
+		}
 		lt++;
 	}
 
@@ -246,7 +345,8 @@
 	char *p = buf;
 
 	while (f != l->tail) {
-		if (f->start < last || f->end > len) {
+		if (f->start < last || f->start > len || f->end > len ||
+		    last < 0) {
 			return MPATCH_ERR_INVALID_PATCH;
 		}
 		memcpy(p, orig + last, f->start - last);
@@ -256,6 +356,9 @@
 		p += f->len;
 		f++;
 	}
+	if (last < 0) {
+		return MPATCH_ERR_INVALID_PATCH;
+	}
 	memcpy(p, orig + last, len - last);
 	return 0;
 }
--- a/mercurial/revset.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/revset.py	Wed Jun 06 13:31:24 2018 -0400
@@ -2173,7 +2173,7 @@
 
 def match(ui, spec, lookup=None):
     """Create a matcher for a single revision spec"""
-    return matchany(ui, [spec], lookup=None)
+    return matchany(ui, [spec], lookup=lookup)
 
 def matchany(ui, specs, lookup=None, localalias=None):
     """Create a matcher that will include any revisions matching one of the
--- a/mercurial/templatefuncs.py	Sat May 26 03:01:14 2018 +0530
+++ b/mercurial/templatefuncs.py	Wed Jun 06 13:31:24 2018 -0400
@@ -559,9 +559,9 @@
     text = evalstring(context, mapping, args[0])
     style = evalstring(context, mapping, args[1])
 
-    return minirst.format(text, style=style, keep=['verbose'])
+    return minirst.format(text, style=style, keep=['verbose'])[0]
 
-@templatefunc('separate(sep, args)', argspec='sep *args')
+@templatefunc('separate(sep, args...)', argspec='sep *args')
 def separate(context, mapping, args):
     """Add a separator between non-empty arguments."""
     if 'sep' not in args:
--- a/tests/hghave.py	Sat May 26 03:01:14 2018 +0530
+++ b/tests/hghave.py	Wed Jun 06 13:31:24 2018 -0400
@@ -98,8 +98,8 @@
         if e.errno != errno.ENOENT:
             raise
         ret = -1
-    ret = p.wait()
-    s = p.stdout.read()
+    s = p.communicate()[0]
+    ret = p.returncode
     return (ignorestatus or not ret) and r.search(s)
 
 @check("baz", "GNU Arch baz client")
--- a/tests/test-bundle-phases.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-bundle-phases.t	Wed Jun 06 13:31:24 2018 -0400
@@ -38,12 +38,12 @@
   3 changesets found
   $ hg debugbundle bundle
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 3, targetphase: 2, version: 02}
+  changegroup -- {nbchanges: 3, targetphase: 2, version: 02} (mandatory: True)
       26805aba1e600a82e93661149f2313866a221a7b
       f585351a92f85104bff7c284233c338b10eb1df7
       9bc730a19041f9ec7cb33c626e811aa233efb18c
-  cache:rev-branch-cache -- {}
-  phase-heads -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  phase-heads -- {} (mandatory: True)
       26805aba1e600a82e93661149f2313866a221a7b draft
   $ hg strip --no-backup C
   $ hg unbundle -q bundle
@@ -228,14 +228,14 @@
   5 changesets found
   $ hg debugbundle bundle
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 5, targetphase: 2, version: 02}
+  changegroup -- {nbchanges: 5, targetphase: 2, version: 02} (mandatory: True)
       426bada5c67598ca65036d57d9e4b64b0c1ce7a0
       112478962961147124edd43549aedd1a335e44bf
       dc0947a82db884575bb76ea10ac97b08536bfa03
       4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4
       03ca77807e919db8807c3749086dc36fb478cac0
-  cache:rev-branch-cache -- {}
-  phase-heads -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  phase-heads -- {} (mandatory: True)
       dc0947a82db884575bb76ea10ac97b08536bfa03 public
       03ca77807e919db8807c3749086dc36fb478cac0 draft
   $ hg strip --no-backup A
@@ -257,23 +257,23 @@
   2 changesets found
   $ hg debugbundle bundle
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 2, targetphase: 2, version: 02}
+  changegroup -- {nbchanges: 2, targetphase: 2, version: 02} (mandatory: True)
       112478962961147124edd43549aedd1a335e44bf
       4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4
-  cache:rev-branch-cache -- {}
-  phase-heads -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  phase-heads -- {} (mandatory: True)
   $ rm bundle
 
   $ hg bundle --base A -r D bundle
   3 changesets found
   $ hg debugbundle bundle
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 3, targetphase: 2, version: 02}
+  changegroup -- {nbchanges: 3, targetphase: 2, version: 02} (mandatory: True)
       112478962961147124edd43549aedd1a335e44bf
       dc0947a82db884575bb76ea10ac97b08536bfa03
       4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4
-  cache:rev-branch-cache -- {}
-  phase-heads -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  phase-heads -- {} (mandatory: True)
       dc0947a82db884575bb76ea10ac97b08536bfa03 public
   $ rm bundle
 
@@ -281,10 +281,10 @@
   2 changesets found
   $ hg debugbundle bundle
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 2, targetphase: 2, version: 02}
+  changegroup -- {nbchanges: 2, targetphase: 2, version: 02} (mandatory: True)
       4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4
       03ca77807e919db8807c3749086dc36fb478cac0
-  cache:rev-branch-cache -- {}
-  phase-heads -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  phase-heads -- {} (mandatory: True)
       03ca77807e919db8807c3749086dc36fb478cac0 draft
   $ rm bundle
--- a/tests/test-bundle-type.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-bundle-type.t	Wed Jun 06 13:31:24 2018 -0400
@@ -66,9 +66,9 @@
   1 changesets found
   HG20\x00\x00 (esc)
   Stream params: {}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
   none-v2
   
   % test bundle type bzip2
@@ -76,9 +76,9 @@
   1 changesets found
   HG20\x00\x00 (esc)
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
   bzip2-v2
   
   % test bundle type gzip
@@ -86,9 +86,9 @@
   1 changesets found
   HG20\x00\x00 (esc)
   Stream params: {Compression: GZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
   gzip-v2
   
   % test bundle type none-v2
@@ -96,9 +96,9 @@
   1 changesets found
   HG20\x00\x00 (esc)
   Stream params: {}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
   none-v2
   
   % test bundle type v2
@@ -106,9 +106,9 @@
   1 changesets found
   HG20\x00\x00 (esc)
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
   bzip2-v2
   
   % test bundle type v1
@@ -171,9 +171,9 @@
   1 changesets found
   HG20\x00\x00 (esc)
   Stream params: {Compression: ZS}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
   zstd-v2
   
   % test bundle type zstd-v2
@@ -181,9 +181,9 @@
   1 changesets found
   HG20\x00\x00 (esc)
   Stream params: {Compression: ZS}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
   zstd-v2
   
 
--- a/tests/test-bundle.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-bundle.t	Wed Jun 06 13:31:24 2018 -0400
@@ -803,7 +803,7 @@
   bundling: b 1/3 files (33.33%)
   bundling: b1 2/3 files (66.67%)
   bundling: x 3/3 files (100.00%)
-  bundle2-output-part: "cache:rev-branch-cache" streamed payload
+  bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
 
 #if repobundlerepo
 == Test for issue3441
--- a/tests/test-bundle2-format.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-bundle2-format.t	Wed Jun 06 13:31:24 2018 -0400
@@ -993,7 +993,7 @@
 
   $ hg debugbundle ../rev.hg2
   Stream params: {}
-  changegroup -- {}
+  changegroup -- {} (mandatory: False)
       32af7686d403cf45b5d95f2d70cebea587ac806a
       9520eea781bcca16c1e15acc0ba14335a0e8e5ba
       eea13746799a9e0bfd88f29d3c2e9dc9389f524f
@@ -1122,7 +1122,7 @@
   0370: 3b 19 fd af c5 3f f1 60 c3 17                   |;....?.`..|
   $ hg debugbundle ../rev.hg2.bz
   Stream params: {Compression: GZ}
-  changegroup -- {}
+  changegroup -- {} (mandatory: False)
       32af7686d403cf45b5d95f2d70cebea587ac806a
       9520eea781bcca16c1e15acc0ba14335a0e8e5ba
       eea13746799a9e0bfd88f29d3c2e9dc9389f524f
@@ -1209,7 +1209,7 @@
   0430: 2e e4 8a 70 a1 21 46 96 30 7a                   |...p.!F.0z|
   $ hg debugbundle ../rev.hg2.bz
   Stream params: {Compression: BZ}
-  changegroup -- {}
+  changegroup -- {} (mandatory: False)
       32af7686d403cf45b5d95f2d70cebea587ac806a
       9520eea781bcca16c1e15acc0ba14335a0e8e5ba
       eea13746799a9e0bfd88f29d3c2e9dc9389f524f
--- a/tests/test-check-pylint.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-check-pylint.t	Wed Jun 06 13:31:24 2018 -0400
@@ -14,7 +14,8 @@
   >   --enable=W0102,C0321 \
   >   --reports=no \
   >   --ignore=thirdparty \
-  >   mercurial hgdemandimport hgext hgext3rd
+  >   mercurial hgdemandimport hgext hgext3rd | sed 's/\r$//'
+  Using config file *fakerc (glob) (?)
    (?)
   ------------------------------------ (?)
   Your code has been rated at 10.00/10 (?)
--- a/tests/test-clonebundles.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-clonebundles.t	Wed Jun 06 13:31:24 2018 -0400
@@ -187,10 +187,10 @@
   0150: 88 75 34 36 75 04 82 55 17 14 36 a4 38 10 04 d8 |.u46u..U..6.8...|
   0160: 21 01 9a b1 83 f7 e9 45 8b d2 56 c7 a3 1f 82 52 |!......E..V....R|
   0170: d7 8a 78 ed fc d5 76 f1 36 25 81 89 c7 ad ec 90 |..x...v.6%......|
-  0180: 54 47 75 2b 89 48 b1 b2 62 ce 8e ce 1e ae 56 41 |TGu+.H..b.....VA|
-  0190: ae 61 ba 4e 41 8e 7e ce 1e ba 60 01 a0 14 23 58 |.a.NA.~...`...#X|
+  0180: 54 47 75 2b 89 48 b1 b2 62 c9 89 c9 19 a9 56 45 |TGu+.H..b.....VE|
+  0190: a9 65 ba 49 45 89 79 c9 19 ba 60 01 a0 14 23 58 |.e.IE.y...`...#X|
   01a0: 81 35 c8 7d 40 cc 04 e2 a4 a4 a6 25 96 e6 94 60 |.5.}@......%...`|
-  01b0: 33 17 5f 54 00 00 01 1b 0a ec                   |3._T......|
+  01b0: 33 17 5f 54 00 00 d3 1b 0d 4c                   |3._T.....L|
 
   $ echo "http://localhost:$HGPORT1/full.hg" > server/.hg/clonebundles.manifest
   $ hg clone -U http://localhost:$HGPORT full-bundle
@@ -541,14 +541,14 @@
   $ cat hg.pid >> $DAEMON_PIDS
 
   $ hg -R server debuglfput gz-a.hg
-  14ee2f0b3f1d14aeeb2fe037e09fc295c3cf59f5
+  1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae
 
   $ cat > server/.hg/clonebundles.manifest << EOF
-  > largefile://14ee2f0b3f1d14aeeb2fe037e09fc295c3cf59f5 BUNDLESPEC=gzip-v2
+  > largefile://1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae BUNDLESPEC=gzip-v2
   > EOF
 
   $ hg clone -U http://localhost:$HGPORT largefile-provided --traceback
-  applying clone bundle from largefile://14ee2f0b3f1d14aeeb2fe037e09fc295c3cf59f5
+  applying clone bundle from largefile://1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae
   adding changesets
   adding manifests
   adding file changes
--- a/tests/test-debugbundle.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-debugbundle.t	Wed Jun 06 13:31:24 2018 -0400
@@ -31,17 +31,17 @@
 
   $ hg debugbundle bundle2.hg
   Stream params: {}
-  changegroup -- {nbchanges: 2, version: 02}
+  changegroup -- {nbchanges: 2, version: 02} (mandatory: True)
       0e067c57feba1a5694ca4844f05588bb1bf82342
       991a3460af53952d10ec8a295d3d2cc2e5fa9690
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
 
 Quiet output
 
   $ hg debugbundle --quiet bundle2.hg
   Stream params: {}
-  changegroup -- {nbchanges: 2, version: 02}
-  cache:rev-branch-cache -- {}
+  changegroup -- {nbchanges: 2, version: 02} (mandatory: True)
+  cache:rev-branch-cache -- {} (mandatory: False)
 
 Verbose output:
 
@@ -64,7 +64,7 @@
 
   $ hg debugbundle --all bundle2.hg
   Stream params: {}
-  changegroup -- {nbchanges: 2, version: 02}
+  changegroup -- {nbchanges: 2, version: 02} (mandatory: True)
       format: id, p1, p2, cset, delta base, len(delta)
   
       changelog
@@ -80,6 +80,6 @@
   
       c
       b80de5d138758541c5f05265ad144ab9fa86d1db 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 991a3460af53952d10ec8a295d3d2cc2e5fa9690 0000000000000000000000000000000000000000 0
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
 
   $ cd ..
--- a/tests/test-generaldelta.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-generaldelta.t	Wed Jun 06 13:31:24 2018 -0400
@@ -159,10 +159,10 @@
   saved backup bundle to $TESTTMP/aggressive/.hg/strip-backup/1c5d4dc9a8b8-6c68e60c-backup.hg
   $ hg debugbundle .hg/strip-backup/*
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       1c5d4dc9a8b8d6e1750966d343e94db665e7a1e9
-  cache:rev-branch-cache -- {}
-  phase-heads -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  phase-heads -- {} (mandatory: True)
       1c5d4dc9a8b8d6e1750966d343e94db665e7a1e9 draft
 
   $ cd ..
--- a/tests/test-getbundle.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-getbundle.t	Wed Jun 06 13:31:24 2018 -0400
@@ -170,7 +170,7 @@
   $ hg debuggetbundle repo bundle -t bundle2
   $ hg debugbundle bundle
   Stream params: {}
-  changegroup -- {version: 01}
+  changegroup -- {version: 01} (mandatory: True)
       7704483d56b2a7b5db54dcee7c62378ac629b348
       29a4d1f17bd3f0779ca0525bebb1cfb51067c738
       713346a995c363120712aed1aee7e04afd867638
--- a/tests/test-help.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-help.t	Wed Jun 06 13:31:24 2018 -0400
@@ -3055,6 +3055,110 @@
   </html>
   
 
+  $ get-with-headers.py $LOCALIP:$HGPORT "help/pager"
+  200 Script output follows
+  
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
+  <head>
+  <link rel="icon" href="/static/hgicon.png" type="image/png" />
+  <meta name="robots" content="index, nofollow" />
+  <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
+  <script type="text/javascript" src="/static/mercurial.js"></script>
+  
+  <title>Help: pager</title>
+  </head>
+  <body>
+  
+  <div class="container">
+  <div class="menu">
+  <div class="logo">
+  <a href="https://mercurial-scm.org/">
+  <img src="/static/hglogo.png" alt="mercurial" /></a>
+  </div>
+  <ul>
+  <li><a href="/shortlog">log</a></li>
+  <li><a href="/graph">graph</a></li>
+  <li><a href="/tags">tags</a></li>
+  <li><a href="/bookmarks">bookmarks</a></li>
+  <li><a href="/branches">branches</a></li>
+  </ul>
+  <ul>
+   <li class="active"><a href="/help">help</a></li>
+  </ul>
+  </div>
+  
+  <div class="main">
+  <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
+  <h3>Help: pager</h3>
+  
+  <form class="search" action="/log">
+  
+  <p><input name="rev" id="search1" type="text" size="30" value="" /></p>
+  <div id="hint">Find changesets by keywords (author, files, the commit message), revision
+  number or hash, or <a href="/help/revsets">revset expression</a>.</div>
+  </form>
+  <div id="doc">
+  <h1>Pager Support</h1>
+  <p>
+  Some Mercurial commands can produce a lot of output, and Mercurial will
+  attempt to use a pager to make those commands more pleasant.
+  </p>
+  <p>
+  To set the pager that should be used, set the application variable:
+  </p>
+  <pre>
+  [pager]
+  pager = less -FRX
+  </pre>
+  <p>
+  If no pager is set in the user or repository configuration, Mercurial uses the
+  environment variable $PAGER. If $PAGER is not set, pager.pager from the default
+  or system configuration is used. If none of these are set, a default pager will
+  be used, typically 'less' on Unix and 'more' on Windows.
+  </p>
+  <p>
+  You can disable the pager for certain commands by adding them to the
+  pager.ignore list:
+  </p>
+  <pre>
+  [pager]
+  ignore = version, help, update
+  </pre>
+  <p>
+  To ignore global commands like 'hg version' or 'hg help', you have
+  to specify them in your user configuration file.
+  </p>
+  <p>
+  To control whether the pager is used at all for an individual command,
+  you can use --pager=&lt;value&gt;:
+  </p>
+  <ul>
+   <li> use as needed: 'auto'.
+   <li> require the pager: 'yes' or 'on'.
+   <li> suppress the pager: 'no' or 'off' (any unrecognized value   will also work).
+  </ul>
+  <p>
+  To globally turn off all attempts to use a pager, set:
+  </p>
+  <pre>
+  [ui]
+  paginate = never
+  </pre>
+  <p>
+  which will prevent the pager from running.
+  </p>
+  
+  </div>
+  </div>
+  </div>
+  
+  
+  
+  </body>
+  </html>
+  
+
 Sub-topic indexes rendered properly
 
   $ get-with-headers.py $LOCALIP:$HGPORT "help/internals"
--- a/tests/test-hgweb-commands.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-hgweb-commands.t	Wed Jun 06 13:31:24 2018 -0400
@@ -17,7 +17,7 @@
   adding da/foo
   adding foo
   $ hg tag 1.0
-  $ hg bookmark something
+  $ hg bookmark some-thing
   $ hg bookmark -r0 anotherthing
   $ echo another > foo
   $ hg branch stable
@@ -87,7 +87,7 @@
       </tr>
       <tr>
        <th style="text-align:left;">bookmark</th>
-       <td>something</td>
+       <td>some-thing</td>
       </tr>
       <tr>
        <th style="text-align:left;">tag</th>
@@ -267,7 +267,7 @@
               </tr>
               <tr>
                   <th style="text-align:left;">bookmark</th>
-                  <td>something</td>
+                  <td>some-thing</td>
               </tr>
               <tr>
                   <th style="text-align:left;">tag</th>
@@ -770,7 +770,7 @@
     <td class="author">test</td>
     <td class="description">
      <a href="/rev/cad8025a2e87">branch commit with null character: </a>
-     <span class="phase">draft</span> <span class="branchhead">unstable</span> <span class="tag">tip</span> <span class="tag">something</span> 
+     <span class="phase">draft</span> <span class="branchhead">unstable</span> <span class="tag">tip</span> <span class="tag">some-thing</span> 
     </td>
    </tr>
    <tr>
@@ -1192,7 +1192,7 @@
   summary:     branch commit with null character: \x00 (esc)
   branch:      unstable
   tag:         tip
-  bookmark:    something
+  bookmark:    some-thing
   
   changeset:   1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
   revision:    2
@@ -1228,6 +1228,42 @@
   
   
 
+Revset query with foo-bar bookmark (issue5879)
+
+  $ get-with-headers.py $LOCALIP:$HGPORT 'log?rev=some-thing%25anotherthing&style=raw'
+  200 Script output follows
+  
+  
+  # HG changesets search
+  # Node ID cad8025a2e87f88c06259790adfa15acb4080123
+  # Query "some-thing%anotherthing"
+  # Mode revset expression search
+  
+  changeset:   cad8025a2e87f88c06259790adfa15acb4080123
+  revision:    3
+  user:        test
+  date:        Thu, 01 Jan 1970 00:00:00 +0000
+  summary:     branch commit with null character: \x00 (esc)
+  branch:      unstable
+  tag:         tip
+  bookmark:    some-thing
+  
+  changeset:   1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
+  revision:    2
+  user:        test
+  date:        Thu, 01 Jan 1970 00:00:00 +0000
+  summary:     branch
+  branch:      stable
+  
+  changeset:   a4f92ed23982be056b9852de5dfe873eaac7f0de
+  revision:    1
+  user:        test
+  date:        Thu, 01 Jan 1970 00:00:00 +0000
+  summary:     Added tag 1.0 for changeset 2ef0ac749a14
+  branch:      default
+  
+  
+
 File-related
 
   $ get-with-headers.py $LOCALIP:$HGPORT 'file/1/foo/?style=raw'
@@ -1515,7 +1551,7 @@
   $ get-with-headers.py $LOCALIP:$HGPORT 'raw-bookmarks'
   200 Script output follows
   
-  something	cad8025a2e87f88c06259790adfa15acb4080123
+  some-thing	cad8025a2e87f88c06259790adfa15acb4080123
   anotherthing	2ef0ac749a14e4f57a5a822464a0902c6f7f448f
   $ get-with-headers.py $LOCALIP:$HGPORT 'summary/?style=gitweb'
   200 Script output follows
@@ -1581,7 +1617,7 @@
   <td>
   <a class="list" href="/rev/cad8025a2e87?style=gitweb">
   <b>branch commit with null character: </b>
-  <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="branchtag" title="unstable">unstable</span> <span class="tagtag" title="tip">tip</span> <span class="bookmarktag" title="something">something</span> </span>
+  <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="branchtag" title="unstable">unstable</span> <span class="tagtag" title="tip">tip</span> <span class="bookmarktag" title="some-thing">some-thing</span> </span>
   </a>
   </td>
   <td class="link" nowrap>
@@ -1654,7 +1690,7 @@
   
   <tr class="parity0">
   <td class="age"><i class="age">Thu, 01 Jan 1970 00:00:00 +0000</i></td>
-  <td><a class="list" href="/rev/something?style=gitweb"><b>something</b></a></td>
+  <td><a class="list" href="/rev/some-thing?style=gitweb"><b>some-thing</b></a></td>
   <td class="link">
   <a href="/rev/cad8025a2e87?style=gitweb">changeset</a> |
   <a href="/log/cad8025a2e87?style=gitweb">changelog</a> |
@@ -1782,7 +1818,7 @@
     <span class="desc">
      <a class="list" href="/rev/cad8025a2e87?style=gitweb"><b>branch commit with null character: </b></a>
     </span>
-    <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="branchtag" title="unstable">unstable</span> <span class="tagtag" title="tip">tip</span> <span class="bookmarktag" title="something">something</span> </span>
+    <span class="logtags"><span class="phasetag" title="draft">draft</span> <span class="branchtag" title="unstable">unstable</span> <span class="tagtag" title="tip">tip</span> <span class="bookmarktag" title="some-thing">some-thing</span> </span>
     <div class="info">1970-01-01, by test</div>
    </div>
   </li>
@@ -1871,7 +1907,7 @@
   summary:     branch commit with null character: \x00 (esc)
   branch:      unstable
   tag:         tip
-  bookmark:    something
+  bookmark:    some-thing
   
   node:        (0, 0) (color 1)
   edge:        (0, 0) -> (0, 1) (color 1)
--- a/tests/test-hgweb.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-hgweb.t	Wed Jun 06 13:31:24 2018 -0400
@@ -860,13 +860,59 @@
   
   fall back to default
 
+  $ killdaemons.py
+
+Test signal-safe-lock in web and non-web processes
+
+  $ cat <<'EOF' > disablesig.py
+  > import signal
+  > from mercurial import error, extensions
+  > def disabledsig(orig, signalnum, handler):
+  >     if signalnum == signal.SIGTERM:
+  >         raise error.Abort(b'SIGTERM cannot be replaced')
+  >     try:
+  >         return orig(signalnum, handler)
+  >     except ValueError:
+  >         raise error.Abort(b'signal.signal() called in thread?')
+  > def uisetup(ui):
+  >    extensions.wrapfunction(signal, b'signal', disabledsig)
+  > EOF
+
+ by default, signal interrupt should be disabled while making a lock file
+
+  $ hg debuglock -s --config extensions.disablesig=disablesig.py
+  abort: SIGTERM cannot be replaced
+  [255]
+
+ but in hgweb, it isn't disabled since some WSGI servers complains about
+ unsupported signal.signal() calls (see issue5889)
+
+  $ hg serve --config extensions.disablesig=disablesig.py \
+  > --config web.allow-push='*' --config web.push_ssl=False \
+  > -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
+  $ cat hg.pid >> $DAEMON_PIDS
+
+  $ hg clone -q http://localhost:$HGPORT/ repo
+  $ hg bookmark -R repo foo
+
+ push would fail if signal.signal() were called
+
+  $ hg push -R repo -B foo
+  pushing to http://localhost:$HGPORT/
+  searching for changes
+  no changes found
+  exporting bookmark foo
+  [1]
+
+  $ rm -R repo
+  $ killdaemons.py
+
 errors
 
   $ cat errors.log
 
 Uncaught exceptions result in a logged error and canned HTTP response
 
-  $ killdaemons.py
   $ hg serve --config extensions.hgweberror=$TESTDIR/hgweberror.py -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
   $ cat hg.pid >> $DAEMON_PIDS
 
--- a/tests/test-http-bad-server.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-http-bad-server.t	Wed Jun 06 13:31:24 2018 -0400
@@ -857,7 +857,7 @@
   write(41 from 41) -> (125) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00		namespacebookmarks\\r\\n (esc)
   write(9 from 9) -> (116) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
   write(9 from 9) -> (107) 4\\r\\n\x00\x00\x00\x1d\\r\\n (esc)
-  write(35 from 35) -> (72) 1d\\r\\n\x16CACHE:REV-BRANCH-CACHE\x00\x00\x00\x03\x00\x00\\r\\n (esc)
+  write(35 from 35) -> (72) 1d\\r\\n\x16cache:rev-branch-cache\x00\x00\x00\x03\x00\x00\\r\\n (esc)
   write(9 from 9) -> (63) 4\\r\\n\x00\x00\x00'\\r\\n (esc)
   write(45 from 45) -> (18) 27\\r\\n\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x00default\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\\r\\n (esc)
   write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
@@ -901,7 +901,7 @@
   write(41 from 41) -> (128) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00		namespacebookmarks\\r\\n (esc)
   write(9 from 9) -> (119) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
   write(9 from 9) -> (110) 4\\r\\n\x00\x00\x00\x1d\\r\\n (esc)
-  write(35 from 35) -> (75) 1d\\r\\n\x16CACHE:REV-BRANCH-CACHE\x00\x00\x00\x03\x00\x00\\r\\n (esc)
+  write(35 from 35) -> (75) 1d\\r\\n\x16cache:rev-branch-cache\x00\x00\x00\x03\x00\x00\\r\\n (esc)
   write(9 from 9) -> (66) 4\\r\\n\x00\x00\x00'\\r\\n (esc)
   write(45 from 45) -> (21) 27\\r\\n\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x00default\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\\r\\n (esc)
   write(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
--- a/tests/test-lfs-serve-access.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-lfs-serve-access.t	Wed Jun 06 13:31:24 2018 -0400
@@ -93,7 +93,7 @@
   bundle2-input-part: "listkeys" (params: 1 mandatory) supported
   bundle2-input-part: "phase-heads" supported
   bundle2-input-part: total payload size 24
-  bundle2-input-part: "cache:rev-branch-cache" supported
+  bundle2-input-part: "cache:rev-branch-cache" (advisory) supported
   bundle2-input-part: total payload size 39
   bundle2-input-bundle: 3 parts total
   checking for updated bookmarks
--- a/tests/test-lfs-serve.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-lfs-serve.t	Wed Jun 06 13:31:24 2018 -0400
@@ -23,6 +23,15 @@
 .            | E || #3  | #3  |  X  | #6  |
 .            |---++-----------------------+
 
+make command server magic visible
+
+#if windows
+  $ PYTHONPATH="$TESTDIR/../contrib;$PYTHONPATH"
+#else
+  $ PYTHONPATH="$TESTDIR/../contrib:$PYTHONPATH"
+#endif
+  $ export PYTHONPATH
+
   $ hg init server
   $ SERVER_REQUIRES="$TESTTMP/server/.hg/requires"
 
@@ -55,13 +64,76 @@
   $ grep 'lfs' client/.hg/requires $SERVER_REQUIRES
   [1]
 
+This trivial repo will force commandserver to load the extension, but not call
+reposetup() on another repo actually being operated on.  This gives coverage
+that wrapper functions are not assuming reposetup() was called.
+
+  $ hg init $TESTTMP/cmdservelfs
+  $ cat >> $TESTTMP/cmdservelfs/.hg/hgrc << EOF
+  > [extensions]
+  > lfs =
+  > EOF
+
 --------------------------------------------------------------------------------
 Case #1: client with non-lfs content and the extension disabled; server with
 non-lfs content, and the extension enabled.
 
   $ cd client
   $ echo 'non-lfs' > nonlfs.txt
-  $ hg ci -Aqm 'non-lfs'
+  >>> from __future__ import absolute_import
+  >>> from hgclient import check, readchannel, runcommand
+  >>> @check
+  ... def diff(server):
+  ...     readchannel(server)
+  ...     # run an arbitrary command in the repo with the extension loaded
+  ...     runcommand(server, ['id', '-R', '../cmdservelfs'])
+  ...     # now run a command in a repo without the extension to ensure that
+  ...     # files are added safely..
+  ...     runcommand(server, ['ci', '-Aqm', 'non-lfs'])
+  ...     # .. and that scmutil.prefetchfiles() safely no-ops..
+  ...     runcommand(server, ['diff', '-r', '.~1'])
+  ...     # .. and that debugupgraderepo safely no-ops.
+  ...     runcommand(server, ['debugupgraderepo', '-q', '--run'])
+  *** runcommand id -R ../cmdservelfs
+  000000000000 tip
+  *** runcommand ci -Aqm non-lfs
+  *** runcommand diff -r .~1
+  diff -r 000000000000 nonlfs.txt
+  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/nonlfs.txt	Thu Jan 01 00:00:00 1970 +0000
+  @@ -0,0 +1,1 @@
+  +non-lfs
+  *** runcommand debugupgraderepo -q --run
+  upgrade will perform the following actions:
+  
+  requirements
+     preserved: dotencode, fncache, generaldelta, revlogv1, store
+  
+  beginning upgrade...
+  repository locked and read-only
+  creating temporary repository to stage migrated data: * (glob)
+  (it is safe to interrupt this process any time before data migration completes)
+  migrating 3 total revisions (1 in filelogs, 1 in manifests, 1 in changelog)
+  migrating 132 bytes in store; 129 bytes tracked data
+  migrating 1 filelogs containing 1 revisions (9 bytes in store; 8 bytes tracked data)
+  finished migrating 1 filelog revisions across 1 filelogs; change in size: 0 bytes
+  migrating 1 manifests containing 1 revisions (53 bytes in store; 52 bytes tracked data)
+  finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes
+  migrating changelog containing 1 revisions (70 bytes in store; 69 bytes tracked data)
+  finished migrating 1 changelog revisions; change in size: 0 bytes
+  finished migrating 3 total revisions; total change in store size: 0 bytes
+  copying phaseroots
+  data fully migrated to temporary repository
+  marking source repository as being upgraded; clients will be unable to read from repository
+  starting in-place swap of repository data
+  replaced files will be backed up at * (glob)
+  replacing store...
+  store replacement complete; repository was inconsistent for *s (glob)
+  finalizing requirements file and making repository readable again
+  removing temporary repository * (glob)
+  copy of old repository backed up at * (glob)
+  the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
+
   $ grep 'lfs' .hg/requires $SERVER_REQUIRES
   [1]
 
--- a/tests/test-obsolete-changeset-exchange.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-obsolete-changeset-exchange.t	Wed Jun 06 13:31:24 2018 -0400
@@ -93,15 +93,15 @@
   1 changesets found
   $ hg debugbundle ../f89bcc95eba5.hg
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       f89bcc95eba5174b1ccc3e33a82e84c96e8338ee
-  cache:rev-branch-cache -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
   $ hg debugbundle ../f89bcc95eba5-obs.hg
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       f89bcc95eba5174b1ccc3e33a82e84c96e8338ee
-  cache:rev-branch-cache -- {}
-  obsmarkers -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  obsmarkers -- {} (mandatory: True)
       version: 1 (70 bytes)
       9d73aac1b2ed7d53835eaeec212ed41ea47da53a f89bcc95eba5174b1ccc3e33a82e84c96e8338ee 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
 
@@ -159,7 +159,7 @@
   bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
   bundle2-output-part: "listkeys" (params: 1 mandatory) empty payload
   bundle2-output-part: "phase-heads" 24 bytes payload
-  bundle2-output-part: "cache:rev-branch-cache" streamed payload
+  bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
   bundle2-input-bundle: with-transaction
   bundle2-input-part: "changegroup" (params: 1 mandatory 1 advisory) supported
   adding changesets
@@ -172,7 +172,7 @@
   bundle2-input-part: "listkeys" (params: 1 mandatory) supported
   bundle2-input-part: "phase-heads" supported
   bundle2-input-part: total payload size 24
-  bundle2-input-part: "cache:rev-branch-cache" supported
+  bundle2-input-part: "cache:rev-branch-cache" (advisory) supported
   bundle2-input-part: total payload size 39
   bundle2-input-bundle: 3 parts total
   checking for updated bookmarks
--- a/tests/test-obsolete.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-obsolete.t	Wed Jun 06 13:31:24 2018 -0400
@@ -1454,10 +1454,10 @@
   
   $ hg debugbundle .hg/strip-backup/e008cf283490-*-backup.hg
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       e008cf2834908e5d6b0f792a9d4b0e2272260fb8
-  cache:rev-branch-cache -- {}
-  phase-heads -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  phase-heads -- {} (mandatory: True)
       e008cf2834908e5d6b0f792a9d4b0e2272260fb8 draft
 
 #if repobundlerepo
@@ -1497,14 +1497,14 @@
   
   $ hg debugbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 2, version: 02}
+  changegroup -- {nbchanges: 2, version: 02} (mandatory: True)
       e016b03fd86fcccc54817d120b90b751aaf367d6
       b0551702f918510f01ae838ab03a463054c67b46
-  cache:rev-branch-cache -- {}
-  obsmarkers -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  obsmarkers -- {} (mandatory: True)
       version: 1 (92 bytes)
       e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
-  phase-heads -- {}
+  phase-heads -- {} (mandatory: True)
       b0551702f918510f01ae838ab03a463054c67b46 draft
 
   $ hg unbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
--- a/tests/test-patchbomb.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-patchbomb.t	Wed Jun 06 13:31:24 2018 -0400
@@ -388,15 +388,15 @@
   Content-Disposition: attachment; filename="bundle.hg"
   Content-Transfer-Encoding: base64
   
-  SEcyMAAAAA5Db21wcmVzc2lvbj1CWkJaaDkxQVkmU1kHdO0GAAAN////vFcSXL9/8H7R09C/578I
-  Ak0E4pe4SIIIgQSgGEQOcLABGYYNKiaaZGEyYjJhGTTRpiHogxGmTRiGRkNMIwhhPSbQJtpQiJkn
-  poyk9I0PUeoNNNBkeUAHqGgD0Ro0NNBoBoaMagNBoNCpNPUemp6QGmgyaPSGmQxGhkZDQbUaBkHp
-  MhoaANNMhkIyIauvSJPL4aUXjIQemQXkoaqOKqAQDIABsZALnf0yCLAyvmktzDWBCVHO6bb6kCqE
-  ZobVEhmMBjs0oQzekgs6PgZSyII8zy9mmG9To49ZlN6TaX5BxlS7cJiuICUdyjNQPIIdQs1Qqqqk
-  JZ2/BksYcU4HQyssZcpkoMco6gRc888KF9BO7BvuSuIPz7A4crBoaQB+euFU1ilz8yIBBmNBDgRX
-  pVh4zkmPiSKcqRJxcshMqh0vkKlgQDTcOujtdmnMVBZfQiPPemcHm2098VJyHBAOqOwluyIKyG92
-  JAR0CCu9SB5q9DyPHUdc5yB5CurIZHt3GM0dCiQRIN0EAcQNmTYTiHdi6B6Dc/ma0hrmSCQXBzfU
-  BEwthEg0YGaJf4u5IpwoSAO6doMA
+  SEcyMAAAAA5Db21wcmVzc2lvbj1CWkJaaDkxQVkmU1l91TAVAAAN////vFcSXL9/8H7R09C/578I
+  Ak0E4pe4SIIIgQSgGEQOcLABGYYNKgJgmhpp6mmjIZMCZNMhpgBBpkaYJpo9QaZMg02iaY2lCImK
+  emk02kmEAeoA0D01ANBoHqHqADTaj1NAAyZqA0Gg0KiYnqaepk0eoNDTCGj1A0eoyBoGjRkYBqAB
+  poNMmhkBhENSP0knlYZbqyEIYxkFdpDUS6roBDMgAGhkAqd92kEcgyeMo2MM366gpLNHjfKrhJPN
+  vdBCHAEDsYzAvzkHKxy5KWBAmh5e1nFttGChpsxrgmutRG0YrsSLWEBH9h95cbZEKFeUKYykRXHa
+  Bkt2OSgELsqqnWKeMudBR+YSZCOSHrwPz7B/Gfou7/L6QV6S0IgclBCitBVHMxMFq/vGwp5WHezM
+  JwhKTnH0OkMbmVjrAkQKR7VM2aNSXn+GzLOCzOQm0AJ1TLCpdSgnfFPcY7mGxAOyHXS1YEFVi5O9
+  I4EVBBd8VRgN4n1MAm8l6QQ+yB60hkeX/0ZZmKoQRINkEBxEDZU2HjIZMcwWRvZtbRIa5kgkGIb/
+  SkImFwIkDtQxyX+LuSKcKEg+6pgKgA==
   --===============*==-- (glob)
 
 with a specific bundle type
--- a/tests/test-phases-exchange.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-phases-exchange.t	Wed Jun 06 13:31:24 2018 -0400
@@ -1309,6 +1309,18 @@
   [1]
   $ chmod -R +w .hg
 
+3. Test that push is prevented if lock was already acquired (not a permission
+error, but EEXIST)
+
+  $ touch .hg/store/lock
+  $ hg push ../Phi --config ui.timeout=1
+  pushing to ../Phi
+  waiting for lock on repository $TESTTMP/Upsilon held by ''
+  abort: repository $TESTTMP/Upsilon: timed out waiting for lock held by ''
+  (lock might be very busy)
+  [255]
+  $ rm .hg/store/lock
+
   $ cd ..
 
 #endif
--- a/tests/test-rebase-abort.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-rebase-abort.t	Wed Jun 06 13:31:24 2018 -0400
@@ -376,6 +376,35 @@
   rebasing 4:e80b69427d80 "c"
   abort: ^C
   [255]
+
+New operations are blocked with the correct state message
+
+  $ find .hg -name '*state' -prune | sort
+  .hg/dirstate
+  .hg/merge/state
+  .hg/rebasestate
+  .hg/undo.backup.dirstate
+  .hg/undo.dirstate
+  .hg/updatestate
+
+  $ hg rebase -s 3 -d tip
+  abort: rebase in progress
+  (use 'hg rebase --continue' or 'hg rebase --abort')
+  [255]
+  $ hg up .
+  abort: rebase in progress
+  (use 'hg rebase --continue' or 'hg rebase --abort')
+  [255]
+  $ hg up -C .
+  abort: rebase in progress
+  (use 'hg rebase --continue' or 'hg rebase --abort')
+  [255]
+
+  $ hg graft 3
+  abort: rebase in progress
+  (use 'hg rebase --continue' or 'hg rebase --abort')
+  [255]
+
   $ hg rebase --abort
   saved backup bundle to $TESTTMP/interrupted/.hg/strip-backup/3d8812cf300d-93041a90-backup.hg
   rebase aborted
--- a/tests/test-rebase-conflicts.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-rebase-conflicts.t	Wed Jun 06 13:31:24 2018 -0400
@@ -298,7 +298,7 @@
   2f2496ddf49d69b5ef23ad8cf9fb2e0e4faf0ac2
   bundle2-output-bundle: "HG20", (1 params) 3 parts total
   bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
-  bundle2-output-part: "cache:rev-branch-cache" streamed payload
+  bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
   bundle2-output-part: "phase-heads" 24 bytes payload
   saved backup bundle to $TESTTMP/issue4041/.hg/strip-backup/e31216eec445-15f7a814-rebase.hg
   3 changesets found
@@ -308,7 +308,7 @@
   2a7f09cac94c7f4b73ebd5cd1a62d3b2e8e336bf
   bundle2-output-bundle: "HG20", 3 parts total
   bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
-  bundle2-output-part: "cache:rev-branch-cache" streamed payload
+  bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
   bundle2-output-part: "phase-heads" 24 bytes payload
   adding branch
   bundle2-input-bundle: with-transaction
@@ -322,7 +322,7 @@
   adding f1.txt revisions
   added 2 changesets with 2 changes to 1 files
   bundle2-input-part: total payload size 1686
-  bundle2-input-part: "cache:rev-branch-cache" supported
+  bundle2-input-part: "cache:rev-branch-cache" (advisory) supported
   bundle2-input-part: total payload size 74
   truncating cache/rbc-revs-v1 to 56
   bundle2-input-part: "phase-heads" supported
--- a/tests/test-rebase-obsolete.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-rebase-obsolete.t	Wed Jun 06 13:31:24 2018 -0400
@@ -1493,6 +1493,38 @@
   
   $ cd ..
 
+  $ hg init p2-succ-in-dest-c
+  $ cd p2-succ-in-dest-c
+
+The scenario here was that B::D were developed on default.  B was queued on
+stable, but amended before being push to hg-committed.  C was queued on default,
+along with unrelated J.
+
+  $ hg debugdrawdag <<EOF
+  > J
+  > |
+  > F
+  > |
+  > E
+  > | D
+  > | |
+  > | C      # replace: C -> F
+  > | |  H I # replace: B -> H -> I
+  > | B  |/
+  > |/   G
+  > A
+  > EOF
+  1 new orphan changesets
+
+This strip seems to be the key to avoid an early divergence warning.
+  $ hg --config extensions.strip= --hidden strip -qr H
+  1 new orphan changesets
+
+  $ hg rebase -b 'desc("D")' -d 'desc("J")'
+  abort: this rebase will cause divergences from: 112478962961
+  (to force the rebase please set experimental.evolution.allowdivergence=True)
+  [255]
+
 Rebase merge where both parents have successors in destination
 
   $ hg init p12-succ-in-dest
--- a/tests/test-shelve.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-shelve.t	Wed Jun 06 13:31:24 2018 -0400
@@ -1122,7 +1122,7 @@
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg debugbundle .hg/shelved/*.hg
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       45993d65fe9dc3c6d8764b9c3b07fa831ee7d92d
   $ cd ..
 
--- a/tests/test-stream-bundle-v2.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-stream-bundle-v2.t	Wed Jun 06 13:31:24 2018 -0400
@@ -46,7 +46,7 @@
   $ hg bundle -a --type="none-v2;stream=v2" bundle.hg
   $ hg debugbundle bundle.hg
   Stream params: {}
-  stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Cstore}
+  stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Cstore} (mandatory: True)
   $ hg debugbundle --spec bundle.hg
   none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Cstore
 
--- a/tests/test-strip.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-strip.t	Wed Jun 06 13:31:24 2018 -0400
@@ -210,10 +210,10 @@
   
   $ hg debugbundle .hg/strip-backup/*
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 1, version: 02}
+  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
       264128213d290d868c54642d13aeaa3675551a78
-  cache:rev-branch-cache -- {}
-  phase-heads -- {}
+  cache:rev-branch-cache -- {} (mandatory: False)
+  phase-heads -- {} (mandatory: True)
       264128213d290d868c54642d13aeaa3675551a78 draft
   $ hg unbundle .hg/strip-backup/*
   adding changesets
@@ -851,7 +851,7 @@
   d8db9d1372214336d2b5570f20ee468d2c72fa8b
   bundle2-output-bundle: "HG20", (1 params) 3 parts total
   bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
-  bundle2-output-part: "cache:rev-branch-cache" streamed payload
+  bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload
   bundle2-output-part: "phase-heads" 24 bytes payload
   saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/6625a5168474-345bb43d-backup.hg
   updating the branch cache
--- a/tests/test-tags.t	Sat May 26 03:01:14 2018 +0530
+++ b/tests/test-tags.t	Wed Jun 06 13:31:24 2018 -0400
@@ -727,13 +727,13 @@
   4 changesets found
   $ hg debugbundle ./test-cache-in-bundle-all-rev.hg
   Stream params: {Compression: BZ}
-  changegroup -- {nbchanges: 4, version: 02}
+  changegroup -- {nbchanges: 4, version: 02} (mandatory: True)
       96ee1d7354c4ad7372047672c36a1f561e3a6a4c
       c4dab0c2fd337eb9191f80c3024830a4889a8f34
       f63cc8fe54e4d326f8d692805d70e092f851ddb1
       40f0358cb314c824a5929ee527308d90e023bc10
-  hgtagsfnodes -- {}
-  cache:rev-branch-cache -- {}
+  hgtagsfnodes -- {} (mandatory: True)
+  cache:rev-branch-cache -- {} (mandatory: False)
 
 Check that local clone includes cache data