changeset 26841:e16b1f86e9f6

merge with stable
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 02 Nov 2015 13:00:45 +0000
parents 58a309e9cf80 (current diff) 58b7f3e93bba (diff)
children 0f76c64f5cc3
files
diffstat 30 files changed, 3465 insertions(+), 1501 deletions(-) [+]
line wrap: on
line diff
--- a/.hgsigs	Mon Oct 19 16:49:54 2015 +0200
+++ b/.hgsigs	Mon Nov 02 13:00:45 2015 +0000
@@ -113,3 +113,5 @@
 21aa1c313b05b1a85f8ffa1120d51579ddf6bf24 0 iQIVAwUAVbuouCBXgaxoKi1yAQL2ng//eI1w51F4YkDiUAhrZuc8RE/chEd2o4F6Jyu9laA03vbim598ntqGjX3+UkOyTQ/zGVeZfW2cNG8zkJjSLk138DHCYl2YPPD/yxqMOJp/a7U34+HrA0aE5Y2pcfx+FofZHRvRtt40UCngicjKivko8au7Ezayidpa/vQbc6dNvGrwwk4KMgOP2HYIfHgCirR5UmaWtNpzlLhf9E7JSNL5ZXij3nt6AgEPyn0OvmmOLyUARO/JTJ6vVyLEtwiXg7B3sF5RpmyFDhrkZ+MbFHgL4k/3y9Lb97WaZl8nXJIaNPOTPJqkApFY/56S12PKYK4js2OgU+QsX1XWvouAhEx6CC6Jk9EHhr6+9qxYFhBJw7RjbswUG6LvJy/kBe+Ei5UbYg9dATf3VxQ6Gqs19lebtzltERH2yNwaHyVeqqakPSonOaUyxGMRRosvNHyrTTor38j8d27KksgpocXzBPZcc1MlS3vJg2nIwZlc9EKM9z5R0J1KAi1Z/+xzBjiGRYg5EZY6ElAw30eCjGta7tXlBssJiKeHut7QTLxCZHQuX1tKxDDs1qlXlGCMbrFqo0EiF9hTssptRG3ZyLwMdzEjnh4ki6gzONZKDI8uayAS3N+CEtWcGUtiA9OwuiFXTwodmles/Mh14LEhiVZoDK3L9TPcY22o2qRuku/6wq6QKsg=
 1a45e49a6bed023deb229102a8903234d18054d3 0 iQIVAwUAVeYa2SBXgaxoKi1yAQLWVA//Q7vU0YzngbxIbrTPvfFiNTJcT4bx9u1xMHRZf6QBIE3KtRHKTooJwH9lGR0HHM+8DWWZup3Vzo6JuWHMGoW0v5fzDyk2czwM9BgQQPfEmoJ/ZuBMevTkTZngjgHVwhP3tHFym8Rk9vVxyiZd35EcxP+4F817GCzD+K7XliIBqVggmv9YeQDXfEtvo7UZrMPPec79t8tzt2UadI3KC1jWUriTS1Fg1KxgXW6srD80D10bYyCkkdo/KfF6BGZ9SkF+U3b95cuqSmOfoyyQwUA3JbMXXOnIefnC7lqRC2QTC6mYDx5hIkBiwymXJBe8rpq/S94VVvPGfW6A5upyeCZISLEEnAz0GlykdpIy/NogzhmWpbAMOus05Xnen6xPdNig6c/M5ZleRxVobNrZSd7c5qI3aUUyfMKXlY1j9oiUTjSKH1IizwaI3aL/MM70eErBxXiLs2tpQvZeaVLn3kwCB5YhywO3LK0x+FNx4Gl90deAXMYibGNiLTq9grpB8fuLg9M90JBjFkeYkrSJ2yGYumYyP/WBA3mYEYGDLNstOby4riTU3WCqVl+eah6ss3l+gNDjLxiMtJZ/g0gQACaAvxQ9tYp5eeRMuLRTp79QQPxv97s8IyVwE/TlPlcSFlEXAzsBvqvsolQXRVi9AxA6M2davYabBYAgRf6rRfgujoU=
 9a466b9f9792e3ad7ae3fc6c43c3ff2e136b718d 0 iQIVAwUAVg1oMSBXgaxoKi1yAQLPag/+Pv0+pR9b9Y5RflEcERUzVu92q+l/JEiP7PHP9pAZuXoQ0ikYBFo1Ygw8tkIG00dgEaLk/2b7E3OxaU9pjU3thoX//XpTcbkJtVhe7Bkjh9/S3dRpm2FWNL9n0qnywebziB45Xs8XzUwBZTYOkVRInYr/NzSo8KNbQH1B4u2g56veb8u/7GtEvBSGnMGVYKhVUZ3jxyDf371QkdafMOJPpogkZcVhXusvMZPDBYtTIzswyxBJ2jxHzjt8+EKs+FI3FxzvQ9Ze3M5Daa7xfiHI3sOgECO8GMVaJi0F49lttKx08KONw8xLlEof+cJ+qxLxQ42X5XOQglJ2/bv5ES5JiZYAti2XSXbZK96p4wexqL4hnaLVU/2iEUfqB9Sj6itEuhGOknPD9fQo1rZXYIS8CT5nGTNG4rEpLFN6VwWn1btIMNkEHw998zU7N3HAOk6adD6zGcntUfMBvQC3V4VK3o7hp8PGeySrWrOLcC/xLKM+XRonz46woJK5D8w8lCVYAxBWEGKAFtj9hv9R8Ye9gCW0Q8BvJ7MwGpn+7fLQ1BVZdV1LZQTSBUr5u8mNeDsRo4H2hITQRhUeElIwlMsUbbN078a4JPOUgPz1+Fi8oHRccBchN6I40QohL934zhcKXQ+NXYN8BgpCicPztSg8O8Y/qvhFP12Zu4tOH8P/dFY=
+b66e3ca0b90c3095ea28dfd39aa24247bebf5c20 0 iQIVAwUAViarTyBXgaxoKi1yAQLZgRAAh7c7ebn7kUWI5M/b/T6qHGjFrU5azkjamzy9IG+KIa2hZgSMxyEM7JJUFqKP4TiWa3sW03bjKGSM/SjjDSSyheX+JIVSPNyKrBwneYhPq45Ius8eiHziClkt0CSsl2d9xDRpI0JmHbN0Pf8nh7rnbL+231GDAOT6dP+2S8K1HGa/0BgEcL9gpYs4/2GyjL+hBSUjyrabzvwe48DCN5W0tEJbGFw5YEADxdfbVbNEuXL81tR4PFGiJxPW0QKRLDB74MWmiWC0gi2ZC/IhbNBZ2sLb6694d4Bx4PVwtiARh63HNXVMEaBrFu1S9NcMQyHvAOc6Zw4izF/PCeTcdEnPk8J1t5PTz09Lp0EAKxe7CWIViy350ke5eiaxO3ySrNMX6d83BOHLDqEFMSWm+ad+KEMT4CJrK4X/n/XMgEFAaU5nWlIRqrLRIeU2Ifc625T0Xh4BgTqXPpytQxhgV5b+Fi6duNk4cy+QnHT4ymxI6BPD9HvSQwc+O7h37qjvJVZmpQX6AP8O75Yza8ZbcYKRIIxZzOkwNpzE5A/vpvP5bCRn7AGcT3ORWmAYr/etr3vxUvt2fQz6U/R4S915V+AeWBdcp+uExu6VZ42M0vhhh0lyzx1VRJGVdV+LoxFKkaC42d0yT+O1QEhSB7WL1D3/a/iWubv6ieB/cvNMhFaK9DA=
+47dd34f2e7272be9e3b2a5a83cd0d20be44293f4 0 iQIVAwUAVjZiKiBXgaxoKi1yAQKBWQ/+JcE37vprSOA5e0ezs/avC7leR6hTlXy9O5bpFnvMpbVMTUp+KfBE4HxTT0KKXKh9lGtNaQ+lAmHuy1OQE1hBKPIaCUd8/1gunGsXgRM3TJ9LwjFd4qFpOMxvOouc6kW5kmea7V9W2fg6aFNjjc/4/0J3HMOIjmf2fFz87xqR1xX8iezJ57A4pUPNViJlOWXRzfa56cI6VUe5qOMD0NRXcY+JyI5qW25Y/aL5D9loeKflpzd53Ue+Pu3qlhddJd3PVkaAiVDH+DYyRb8sKgwuiEsyaBO18IBgC8eDmTohEJt6707A+WNhwBJwp9aOUhHC7caaKRYhEKuDRQ3op++VqwuxbFRXx22XYR9bEzQIlpsv9GY2k8SShU5MZqUKIhk8vppFI6RaID5bmALnLLmjmXfSPYSJDzDuCP5UTQgI3PKPOATorVrqMdKzfb7FiwtcTvtHAXpOgLaY9P9XIePbnei6Rx9TfoHYDvzFWRqzSjl21xR+ZUrJtG2fx7XLbMjEAZJcnjP++GRvNbHBOi57aX0l2LO1peQqZVMULoIivaoLFP3i16RuXXQ/bvKyHmKjJzGrLc0QCa0yfrvV2m30RRMaYlOv7ToJfdfZLXvSAP0zbAuDaXdjGnq7gpfIlNE3xM+kQ75Akcf4V4fK1p061EGBQvQz6Ov3PkPiWL/bxrQ=
--- a/.hgtags	Mon Oct 19 16:49:54 2015 +0200
+++ b/.hgtags	Mon Nov 02 13:00:45 2015 +0000
@@ -126,3 +126,5 @@
 21aa1c313b05b1a85f8ffa1120d51579ddf6bf24 3.5
 1a45e49a6bed023deb229102a8903234d18054d3 3.5.1
 9a466b9f9792e3ad7ae3fc6c43c3ff2e136b718d 3.5.2
+b66e3ca0b90c3095ea28dfd39aa24247bebf5c20 3.6-rc
+47dd34f2e7272be9e3b2a5a83cd0d20be44293f4 3.6
--- a/contrib/builddeb	Mon Oct 19 16:49:54 2015 +0200
+++ b/contrib/builddeb	Mon Nov 02 13:00:45 2015 +0000
@@ -46,6 +46,13 @@
 fi
 
 gethgversion
+debver="$version"
+if [ -n "$type" ] ; then
+    debver="$debver~$type"
+fi
+if [ -n "$distance" ] ; then
+    debver="$debver+$distance-$node"
+fi
 
 control=debian/control
 changelog=debian/changelog
@@ -61,7 +68,7 @@
 
     # This looks like sed -i, but sed -i behaves just differently enough
     # between BSD and GNU sed that I gave up and did the dumb thing.
-    sed "s/__VERSION__/$version/" < $changelog > $changelog.tmp
+    sed "s/__VERSION__/$debver/" < $changelog > $changelog.tmp
     date=$(date --rfc-2822)
     sed "s/__DATE__/$date/" < $changelog.tmp > $changelog
     rm $changelog.tmp
@@ -79,6 +86,6 @@
     find ../mercurial*.deb ../mercurial_*.build ../mercurial_*.changes \
           -type f -newer $control -print0 | \
       xargs -Inarf -0 mv narf "$OUTPUTDIR"
-    echo "Built packages for $version-$release:"
+    echo "Built packages for $debver:"
     find "$OUTPUTDIR" -type f -newer $control -name '*.deb'
 fi
--- a/contrib/buildrpm	Mon Oct 19 16:49:54 2015 +0200
+++ b/contrib/buildrpm	Mon Nov 02 13:00:45 2015 +0000
@@ -49,6 +49,18 @@
 
 gethgversion
 
+# TODO: handle distance/node set, and type set
+
+if [ -z "$type" ] ; then
+   release=1
+else
+    release=0.9_$type
+fi
+
+if [ -n "$distance" ] ; then
+    release=$release+$distance_$node
+fi
+
 if [ "$PYTHONVER" ]; then
     release=$release+$PYTHONVER
     RPMPYTHONVER=$PYTHONVER
--- a/contrib/packagelib.sh	Mon Oct 19 16:49:54 2015 +0200
+++ b/contrib/packagelib.sh	Mon Nov 02 13:00:45 2015 +0000
@@ -1,3 +1,12 @@
+# Extract version number into 4 parts, some of which may be empty:
+#
+# version: the numeric part of the most recent tag. Will always look like 1.3.
+#
+# type: if an rc build, "rc", otherwise empty
+#
+# distance: the distance from the nearest tag, or empty if built from a tag
+#
+# node: the node|short hg was built from, or empty if built from a tag
 gethgversion() {
     make clean
     make local || make local PURE=--pure
@@ -7,13 +16,20 @@
 
     hgversion=`$HG version | sed -ne 's/.*(version \(.*\))$/\1/p'`
 
+    if echo $hgversion | grep + > /dev/null 2>&1 ; then
+        tmp=`echo $hgversion | cut -d+ -f 2`
+        hgversion=`echo $hgversion | cut -d+ -f 1`
+        distance=`echo $tmp | cut -d- -f 1`
+        node=`echo $tmp | cut -d- -f 2`
+    else
+        distance=''
+        node=''
+    fi
     if echo $hgversion | grep -- '-' > /dev/null 2>&1; then
-        # nightly build case, version is like 1.3.1+250-20b91f91f9ca
         version=`echo $hgversion | cut -d- -f1`
-        release=`echo $hgversion | cut -d- -f2 | sed -e 's/+.*//'`
+        type=`echo $hgversion | cut -d- -f2`
     else
-        # official tag, version is like 1.3.1
-        version=`echo $hgversion | sed -e 's/+.*//'`
-        release='0'
+        version=$hgversion
+        type=''
     fi
 }
--- a/hgext/largefiles/lfutil.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/hgext/largefiles/lfutil.py	Mon Nov 02 13:00:45 2015 +0000
@@ -10,7 +10,6 @@
 
 import os
 import platform
-import shutil
 import stat
 import copy
 
@@ -207,7 +206,15 @@
     util.makedirs(os.path.dirname(repo.wjoin(filename)))
     # The write may fail before the file is fully written, but we
     # don't use atomic writes in the working copy.
-    shutil.copy(path, repo.wjoin(filename))
+    dest = repo.wjoin(filename)
+    with open(path, 'rb') as srcfd:
+        with open(dest, 'wb') as destfd:
+            gothash = copyandhash(srcfd, destfd)
+    if gothash != hash:
+        repo.ui.warn(_('%s: data corruption in %s with hash %s\n')
+                     % (filename, path, gothash))
+        util.unlink(dest)
+        return False
     return True
 
 def copytostore(repo, rev, file, uploaded=False):
@@ -562,8 +569,11 @@
     for f in match._files:
         fstandin = standin(f)
 
-        # ignore known largefiles and standins
-        if f in lfiles or fstandin in standins:
+        # For largefiles, only one of the normal and standin should be
+        # committed (except if one of them is a remove).
+        # Thus, skip plain largefile names but keep the standin.
+        if (f in lfiles or fstandin in standins) and \
+            repo.dirstate[f] != 'r' and repo.dirstate[fstandin] != 'r':
             continue
 
         actualfiles.append(f)
--- a/hgext/largefiles/proto.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/hgext/largefiles/proto.py	Mon Nov 02 13:00:45 2015 +0000
@@ -86,15 +86,14 @@
             # input file-like into a bundle before sending it, so we can't use
             # it ...
             if issubclass(self.__class__, httppeer.httppeer):
-                res = None
+                res = self._call('putlfile', data=fd, sha=sha,
+                    headers={'content-type':'application/mercurial-0.1'})
                 try:
-                    res = self._call('putlfile', data=fd, sha=sha,
-                        headers={'content-type':'application/mercurial-0.1'})
                     d, output = res.split('\n', 1)
                     for l in output.splitlines(True):
                         self.ui.warn(_('remote: '), l) # assume l ends with \n
                     return int(d)
-                except (ValueError, urllib2.HTTPError):
+                except ValueError:
                     self.ui.warn(_('unexpected putlfile response: %r\n') % res)
                     return 1
             # ... but we can't use sshrepository._call because the data=
--- a/hgext/mq.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/hgext/mq.py	Mon Nov 02 13:00:45 2015 +0000
@@ -847,7 +847,6 @@
                 try:
                     tr.abort()
                 finally:
-                    repo.invalidate()
                     self.invalidate()
                 raise
         finally:
--- a/i18n/check-translation.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/i18n/check-translation.py	Mon Nov 02 13:00:45 2015 +0000
@@ -71,12 +71,14 @@
 deprecatedpe = None
 @scanner()
 def deprecatedsetup(pofile):
-    pes = [p for p in pofile if p.msgid == 'DEPRECATED']
+    pes = [p for p in pofile
+           if ((p.msgid == 'DEPRECATED' or p.msgid == '(DEPRECATED)') and
+               p.msgstr)]
     if len(pes):
         global deprecatedpe
         deprecatedpe = pes[0]
 
-@fatalchecker('(DEPRECATED)')
+@fatalchecker(r'\(DEPRECATED\)')
 def deprecated(pe):
     """Check for DEPRECATED
     >>> ped = polib.POEntry(
@@ -102,9 +104,13 @@
     True
     >>> for e in deprecated(pe): print e
     msgstr inconsistently translated (DEPRECATED)
+    >>> pe = polib.POEntry(
+    ...     msgid = 'Something (DEPRECATED, foo bar)',
+    ...     msgstr= 'something (DETACERPED, foo bar)')
+    >>> match(deprecated, pe)
     """
     if not ('(DEPRECATED)' in pe.msgstr or
-            (deprecatedpe and deprecatedpe.msgstr and
+            (deprecatedpe and
              deprecatedpe.msgstr in pe.msgstr)):
         yield "msgstr inconsistently translated (DEPRECATED)"
 
--- a/i18n/ja.po	Mon Oct 19 16:49:54 2015 +0200
+++ b/i18n/ja.po	Mon Nov 02 13:00:45 2015 +0000
@@ -161,8 +161,8 @@
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2015-08-31 18:01+0900\n"
-"PO-Revision-Date: 2015-08-31 23:05+0900\n"
+"POT-Creation-Date: 2015-10-30 21:04+0900\n"
+"PO-Revision-Date: 2015-11-01 05:05+0900\n"
 "Last-Translator: Japanese translation team <mercurial-ja@googlegroups.com>\n"
 "Language-Team: Japanese\n"
 "Language: ja\n"
@@ -177,7 +177,7 @@
 
 #, python-format
 msgid " (default: %s)"
-msgstr " (既定値: %s)"
+msgstr " (デフォルト値: %s)"
 
 msgid "Options"
 msgstr "オプション"
@@ -838,8 +838,8 @@
 "  ( \"()\") が必須です。 バグに対する作業時間を表す、 小数点数に合致する\n"
 "  ``<hours>`` 名グループも記述可能です。 名前付きグループ記述が無い場合、\n"
 "  最初の \"()\" グループがバグID群に、 作業時間の更新は無し、\n"
-"  とみなされます。 デフォルトの正規表現は ``Bug 1234``、 ``Bug no.\n"
-"  1234``、 ``Bug number 1234``、 ``Bugs 1234,5678``、 ``Bug 1234 and\n"
+"  とみなされます。 デフォルトの正規表現は ``Bug 1234``, ``Bug no.\n"
+"  1234``, ``Bug number 1234``, ``Bugs 1234,5678``, ``Bug 1234 and\n"
 "  5678`` および類似の形式に加えて、 前置詞に ``h`` または ``hours``\n"
 "  が付けられた時間数 (例: ``hours 1.5``) が続くものに合致します。\n"
 "  文字大小は無視されます。"
@@ -865,8 +865,8 @@
 "  ( \"()\") が必須です。 バグに対する作業時間を表す、 小数点数に合致する\n"
 "  ``<hours>`` 名グループも記述可能です。 名前付きグループ記述が無い場合、\n"
 "  最初の \"()\" グループがバグID群に、 作業時間の更新は無し、\n"
-"  とみなされます。 デフォルトの正規表現は、 ``Fixes 1234``、 ``Fixes bug\n"
-"  1234``、 ``Fixes bugs 1234,5678``、 ``Fixes 1234 and 5678``\n"
+"  とみなされます。 デフォルトの正規表現は、 ``Fixes 1234``, ``Fixes bug\n"
+"  1234``, ``Fixes bugs 1234,5678``, ``Fixes 1234 and 5678``\n"
 "  および類似の形式に加えて、 前置詞に ``h`` または ``hours``\n"
 "  が付けられた時間数 (例: ``hours 1.5``) が続くものに合致します。\n"
 "  文字大小は無視されます。"
@@ -1094,7 +1094,7 @@
 msgstr ""
 "bugzilla.notify\n"
 "  バグ情報の更新通知を、 Bugzilla にメール送信させるコマンド。\n"
-"  3つのキーワード ``bzdir``、 ``id`` (バグ ID) および ``user``\n"
+"  3つのキーワード ``bzdir``, ``id`` (バグ ID) および ``user``\n"
 "  (リビジョン作成者の Bugzilla メールアドレス) が、 置換指定可能です。\n"
 "  デフォルト値は MySQL のバージョンに依存しており、 2.18 版以降では、\n"
 "  \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s\"\n"
@@ -1131,7 +1131,7 @@
 "with a web interface at ``http://my-project.org/hg``. ::"
 msgstr ""
 "以下は XMLRPC 連携の設定例です。 ``http://my-project.org/bugzilla`` の\n"
-"Bugzilla と連携し、 ユーザ名 ``bugmail@my-project.org``、 パスワード\n"
+"Bugzilla と連携し、 ユーザ名 ``bugmail@my-project.org``, パスワード\n"
 "``plugh`` でログインします。 URL ``http://my-project.org/hg``\n"
 "配下でアクセスする、 ``/var/local/hg/repos/`` 配下の複数リポジトリでの、\n"
 "設定共有を想定しています::"
@@ -1174,7 +1174,7 @@
 "``bugzilla@my-project.org``. ::"
 msgstr ""
 "以下は XMLRPC+email 連携の設定例です。 ``http://my-project.org/bugzilla``\n"
-"の Bugzilla と連携し、 ユーザ名 ``bugmail@my-project.org``、 パスワード\n"
+"の Bugzilla と連携し、 ユーザ名 ``bugmail@my-project.org``, パスワード\n"
 "``plugh`` でログインします。 URL ``http://my-project.org/hg``\n"
 "配下でアクセスする、 ``/var/local/hg/repos/`` 配下の複数リポジトリでの、\n"
 "設定共有を想定しています。 コメントの追加は、 Bugzilla のメールアドレス\n"
@@ -1219,9 +1219,9 @@
 "with a web interface at ``http://my-project.org/hg``. ::"
 msgstr ""
 "以下は MySQL 連携の設定例です。 ``/opt/bugzilla-3.2`` にインストールされた\n"
-"Bugzilla 3.2 を想定しています。 MySQL サーバのホスト名が ``localhost``、\n"
-"Bugzilla データベース名が ``bugs``、 MySQL サーバへのアクセスに、\n"
-"ユーザ名 ``bugs``、 パスワード ``XYZZY`` を使用します。 URL\n"
+"Bugzilla 3.2 を想定しています。 MySQL サーバのホスト名が ``localhost``,\n"
+"Bugzilla データベース名が ``bugs``, MySQL サーバへのアクセスに、\n"
+"ユーザ名 ``bugs``, パスワード ``XYZZY`` を使用します。 URL\n"
 "``http://my-project.org/hg``\n"
 "配下でアクセスする、\n"
 "``/var/local/hg/repos/`` 配下の複数リポジトリでの、\n"
@@ -1383,7 +1383,7 @@
 "以下のようなデータの扱いで、 セキュリティ的/法的に必要とされるケースです::"
 
 msgid ""
-" * Passwords, private keys, crytographic material\n"
+" * Passwords, private keys, cryptographic material\n"
 " * Licensed data/code/libraries for which the license has expired\n"
 " * Personally Identifiable Information or other private data"
 msgstr ""
@@ -1630,6 +1630,297 @@
 msgid "skipping malformed alias: %s\n"
 msgstr "不正な形式の別名を無視: %s\n"
 
+msgid "advertise pre-generated bundles to seed clones (experimental)"
+msgstr ""
+
+msgid ""
+"\"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."
+msgstr ""
+
+msgid ""
+"Cloning can be a CPU and I/O intensive operation on servers. Traditionally,\n"
+"the server, in response to a client's request to clone, dynamically "
+"generates\n"
+"a bundle containing the entire repository content and sends it to the "
+"client.\n"
+"There is no caching on the server and the server will have to redundantly\n"
+"generate the same outgoing bundle in response to each clone request. For\n"
+"servers with large repositories or with high clone volume, the load from\n"
+"clones can make scaling the server challenging and costly."
+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."
+msgstr ""
+
+msgid ""
+"1. A server operator establishes a mechanism for making bundle files "
+"available\n"
+"   on a hosting service where Mercurial clients can fetch them.\n"
+"2. A manifest file listing available bundle URLs and some optional metadata\n"
+"   is added to the Mercurial repository on the server.\n"
+"3. A client initiates a clone against a clone bundles aware server.\n"
+"4. The client sees the server is advertising clone bundles and fetches the\n"
+"   manifest listing available bundles.\n"
+"5. The client filters and sorts the available bundles based on what it\n"
+"   supports and prefers.\n"
+"6. The client downloads and applies an available bundle from the\n"
+"   server-specified URL.\n"
+"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.)"
+msgstr ""
+
+msgid ""
+"Instead of the server generating full repository bundles for every clone\n"
+"request, it generates full bundles once and they are subsequently reused to\n"
+"bootstrap new clones. The server may still transfer data at clone time.\n"
+"However, this is only data that has been added/changed since the bundle was\n"
+"created. For large, established repositories, this can reduce server load "
+"for\n"
+"clones to less than 1% of original."
+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 a\n"
+"  HTTP server).\n"
+"* A process for keeping the bundles manifest in sync with available bundle\n"
+"  files."
+msgstr ""
+
+msgid ""
+"Strictly speaking, using a static file hosting server isn't required: a "
+"server\n"
+"operator could use a dynamic service for retrieving bundle data. However,\n"
+"static file hosting services are simple and scalable and should be "
+"sufficient\n"
+"for most needs."
+msgstr ""
+
+msgid ""
+"Bundle files can be generated with the :hg:`bundle` comand. Typically\n"
+":hg:`bundle --all` is used to produce a bundle of the entire repository."
+msgstr ""
+
+msgid ""
+":hg:`debugcreatestreamclonebundle` can be used to produce a special\n"
+"*streaming clone bundle*. 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"
+"Typically, a newer server can serve data that is compatible with older "
+"clients.\n"
+"However, *streaming clone bundles* don't have this guarantee. **Server\n"
+"operators need to be aware that newer versions of Mercurial may produce\n"
+"streaming clone bundles incompatible with older Mercurial versions.**"
+msgstr ""
+
+msgid ""
+"The list of requirements printed by :hg:`debugcreatestreamclonebundle` "
+"should\n"
+"be specified in the ``requirements`` parameter of the *bundle specification\n"
+"string* for the ``BUNDLESPEC`` manifest property described below. e.g.\n"
+"``BUNDLESPEC=none-packed1;requirements%3Drevlogv1``."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"The manifest file contains a newline (\n"
+") delimited list of entries."
+msgstr ""
+
+msgid ""
+"Each line in this file defines an available bundle. Lines have the format:"
+msgstr ""
+
+msgid "    <URL> [<key>=<value>[ <key>=<value>]]"
+msgstr ""
+
+msgid ""
+"That is, a URL followed by an optional, space-delimited list of key=value\n"
+"pairs describing additional properties of this bundle. Both keys and values\n"
+"are URI encoded."
+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"
+"data center a file is hosted in. Clients could then prefer a server in the\n"
+"data center closest to them."
+msgstr ""
+
+msgid "The following reserved keys are currently defined:"
+msgstr ""
+
+msgid ""
+"BUNDLESPEC\n"
+"   A \"bundle specification\" string that describes the type of the bundle."
+msgstr ""
+
+msgid ""
+"   These are string values that are accepted by the \"--type\" argument of\n"
+"   :hg:`bundle`."
+msgstr ""
+
+msgid ""
+"   The values are parsed in strict mode, which means they must be of the\n"
+"   \"<compression>-<type>\" form. See\n"
+"   mercurial.exchange.parsebundlespec() for more details."
+msgstr ""
+
+msgid ""
+"   Clients will automatically filter out specifications that are unknown or\n"
+"   unsupported so they won't attempt to download something that likely "
+"won't\n"
+"   apply."
+msgstr ""
+
+msgid ""
+"   The actual value doesn't impact client behavior beyond filtering:\n"
+"   clients will still sniff the bundle type from the header of downloaded\n"
+"   files."
+msgstr ""
+
+msgid ""
+"   **Use of this key is highly recommended**, as it allows clients to\n"
+"   easily skip unsupported bundles."
+msgstr ""
+
+msgid ""
+"REQUIRESNI\n"
+"   Whether Server Name Indication (SNI) is required to connect to the URL.\n"
+"   SNI allows servers to use multiple certificates on the same IP. It is\n"
+"   somewhat common in CDNs and other hosting providers. Older Python\n"
+"   versions do not support SNI. Defining this attribute enables clients\n"
+"   with older Python versions to filter this entry without experiencing\n"
+"   an opaque SSL failure at connection time."
+msgstr ""
+
+msgid ""
+"   If this is defined, it is important to advertise a non-SNI fallback\n"
+"   URL or clients running old Python releases may not be able to clone\n"
+"   with the clonebundles facility."
+msgstr ""
+
+msgid "   Value should be \"true\"."
+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"
+"to fetch the bundle at the first URL in the remaining list."
+msgstr ""
+
+msgid ""
+"**Errors when downloading a bundle will fail the entire clone operation:\n"
+"clients do not automatically fall back to a traditional clone.** The reason\n"
+"for this is that if a server is using clone bundles, it is probably doing "
+"so\n"
+"because the feature is necessary to help it scale. In other words, there\n"
+"is an assumption that clone load will be offloaded to another service and\n"
+"that the Mercurial server isn't responsible for serving this clone load.\n"
+"If that other service experiences issues and clients start mass falling back "
+"to\n"
+"the original Mercurial server, the added clone load could overwhelm the "
+"server\n"
+"due to unexpected load and effectively take it offline. Not having clients\n"
+"automatically fall back to cloning from the original server mitigates this\n"
+"scenario."
+msgstr ""
+
+msgid ""
+"Because there is no automatic Mercurial server fallback on failure of the\n"
+"bundle hosting service, it is important for server operators to view the "
+"bundle\n"
+"hosting service as an extension of the Mercurial server in terms of\n"
+"availability and service level agreements: if the bundle hosting service "
+"goes\n"
+"down, so does the ability for clients to clone. Note: clients will see a\n"
+"message informing them how to bypass the clone bundles facility when a "
+"failure\n"
+"occurs. So server operators should prepare for some people to follow these\n"
+"instructions when a failure occurs, thus driving more load to the original\n"
+"Mercurial server when the bundle hosting service fails."
+msgstr ""
+
+msgid ""
+"The following config options influence the behavior of the clone bundles\n"
+"feature:"
+msgstr ""
+
+msgid ""
+"ui.clonebundleadvertise\n"
+"   Whether the server advertises the existence of the clone bundles feature\n"
+"   to compatible clients that aren't using it."
+msgstr ""
+
+msgid ""
+"   When this is enabled (the default), a server will send a message to\n"
+"   compatible clients performing a traditional clone informing them of the\n"
+"   available clone bundles feature. Compatible clients are those that "
+"support\n"
+"   bundle2 and are advertising support for the clone bundles feature."
+msgstr ""
+
+msgid ""
+"ui.clonebundlefallback\n"
+"   Whether to automatically fall back to a traditional clone in case of\n"
+"   clone bundles failure. Defaults to false for reasons described above."
+msgstr ""
+
+msgid ""
+"experimental.clonebundles\n"
+"   Whether the clone bundles feature is enabled on clients. Defaults to true."
+msgstr ""
+
+msgid ""
+"experimental.clonebundleprefers\n"
+"   List of \"key=value\" properties the client prefers in bundles. "
+"Downloaded\n"
+"   bundle manifests will be sorted by the preferences in this list. e.g.\n"
+"   the value \"BUNDLESPEC=gzip-v1, BUNDLESPEC=bzip2=v1\" will prefer a "
+"gzipped\n"
+"   version 1 bundle type then bzip2 version 1 bundle type."
+msgstr ""
+
+msgid ""
+"   If not defined, the order in the manifest will be used and the first\n"
+"   available bundle will be downloaded.\n"
+msgstr ""
+
+msgid ""
+"this server supports the experimental \"clone bundles\" feature that should "
+"enable faster and more reliable cloning\n"
+"help test it by setting the \"experimental.clonebundles\" config flag to "
+"\"true\""
+msgstr ""
+
 msgid "colorize output from some commands"
 msgstr "コマンド出力のカラー化"
 
@@ -1975,8 +2266,8 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr "他の構成管理ツールから Mercurial への履歴取り込み"
 
-msgid "username mapping filename (DEPRECATED, use --authormap instead)"
-msgstr "ユーザ名変換ファイルの指定 (非推奨: --authormap を使用してください)"
+msgid "username mapping filename (DEPRECATED) (use --authormap instead)"
+msgstr "ユーザ名変換ファイルの指定 (非推奨) (--authormap を使用してください)"
 
 msgid "source repository type"
 msgstr "変換元リポジトリ種別"
@@ -2469,7 +2760,7 @@
 "    そちらの内容が格納されます。 ``svn://repo/path/branches``\n"
 "    が存在する場合、 サブディレクトリ群を、 ブランチ一覧候補とみなします。\n"
 "    ``svn://repo/path/tags`` が存在する場合、 変換後リビジョンを指す、\n"
-"    タグの特定に使用されます。 ``trunk``、 ``branches`` および ``tags``\n"
+"    タグの特定に使用されます。 ``trunk``, ``branches`` および ``tags``\n"
 "    の参照先は、 以下のオプションで上書き可能です。 これらの指定の際には、\n"
 "    変換元 URL に対する相対パスか、 空白 (= 自動検出抑止) を指定します。"
 
@@ -2562,6 +2853,15 @@
 msgstr ""
 
 msgid ""
+"    :convert.git.skipsubmodules: does not convert root level .gitmodules "
+"files\n"
+"        or files with 160000 mode indicating a submodule. Default is False."
+msgstr ""
+"    :convert.git.skipsubmodules: ルートレベルの .gitmodules ファイル、\n"
+"        又は、 モード 160000 によりサブモジュールを意味するファイルの、\n"
+"        変換の抑止 (デフォルト値: False)"
+
+msgid ""
 "    Perforce Source\n"
 "    ###############"
 msgstr ""
@@ -2782,7 +3082,7 @@
 msgid "%s.%s symlink has no target"
 msgstr "%s.%s はシンボリックリンク先がありません"
 
-msgid "convert from cvs do not support --full"
+msgid "convert from cvs does not support --full"
 msgstr "cvs からの変換では --full は未サポートです"
 
 #, python-format
@@ -2881,6 +3181,9 @@
 msgid "spliced in %s as parents of %s\n"
 msgstr "%s を %s の親として継ぎ合わせ\n"
 
+msgid " and "
+msgstr " と "
+
 msgid "scanning source...\n"
 msgstr "変換元リポジトリの走査中...\n"
 
@@ -3038,7 +3341,7 @@
 msgid "failed to detect repository format!"
 msgstr "リポジトリ形式の判定に失敗!"
 
-msgid "convert from darcs do not support --full"
+msgid "convert from darcs does not support --full"
 msgstr "darcs からの変換では --full は未サポートです"
 
 msgid "internal calling inconsistency"
@@ -3100,7 +3403,7 @@
 msgid "warning: unable to parse .gitmodules in %s\n"
 msgstr "警告: %s における .gitmodules の解析に失敗\n"
 
-msgid "convert from git do not support --full"
+msgid "convert from git does not support --full"
 msgstr "git からの変換では --full は未サポートです"
 
 #, python-format
@@ -3127,7 +3430,7 @@
 "tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr "未登録アーカイブ %s の参照によりツリー解析を中止...\n"
 
-msgid "convert from arch do not support --full"
+msgid "convert from arch does not support --full"
 msgstr "arch からの変換では --full は未サポートです"
 
 #, python-format
@@ -3158,6 +3461,14 @@
 msgid "%s is missing from %s/.hg/shamap\n"
 msgstr "%s は %s/.hg/shamap 中にはありません\n"
 
+#, python-format
+msgid ""
+"unable to convert merge commit since target parents do not merge cleanly "
+"(file %s, parents %s and %s)"
+msgstr ""
+"非対話的なマージでは不十分だったため、マージ実施リビジョンを変換できません"
+"(ファイル %s を %s と %s でマージ)"
+
 msgid "filtering out empty revision\n"
 msgstr "空リビジョンの除外中\n"
 
@@ -3175,9 +3486,6 @@
 "変換先リポジトリにリビジョン %s がありません(clonebranches=true での検索は未"
 "実装です)"
 
-msgid "mercurial source does not support specifying multiple revisions"
-msgstr "mercurial 形式からの変換では、複数リビジョン指定は未サポートです"
-
 #, python-format
 msgid "%s is not a valid start revision"
 msgstr "%s は正しい開始リビジョンではありません"
@@ -3221,7 +3529,7 @@
 msgid "mtn command '%s' returned %s"
 msgstr "mtn コマンド '%s' の実行結果: %s"
 
-msgid "convert from monotone do not support --full"
+msgid "convert from monotone does not support --full"
 msgstr "monotone からの変換では --full は未サポートです"
 
 #, python-format
@@ -3255,7 +3563,7 @@
 msgid "cannot find source for copied file: %s@%s\n"
 msgstr "複製元ファイルが見つかりません: %s@%s\n"
 
-msgid "convert from p4 do not support --full"
+msgid "convert from p4 does not support --full"
 msgstr "p4 からの変換では --full は未サポートです"
 
 msgid "debugsvnlog could not load Subversion python bindings"
@@ -3425,7 +3733,7 @@
 "``native`` is an alias for checking out in the platform's default line\n"
 "ending: ``LF`` on Unix (including Mac OS X) and ``CRLF`` on\n"
 "Windows. Note that ``BIN`` (do nothing to line endings) is Mercurial's\n"
-"default behaviour; it is only needed if you need to override a later,\n"
+"default behavior; it is only needed if you need to override a later,\n"
 "more general pattern."
 msgstr ""
 "``CRLF`` または ``LF`` が指定されたファイルは、 作業領域への取り出しや、\n"
@@ -3718,6 +4026,12 @@
 msgid "cannot specify --rev and --change at the same time"
 msgstr "--rev と --change は同時には指定できません"
 
+msgid "--patch cannot be used with --subrepos"
+msgstr "--patch と --subrepos は併用できません"
+
+msgid "--patch requires two revisions"
+msgstr "--patch には2つのリビジョン指定が必要です"
+
 msgid "cleaning up temp directory\n"
 msgstr "一時ディレクトリの破棄中\n"
 
@@ -3739,6 +4053,9 @@
 msgid "change made by revision"
 msgstr "当該リビジョンにおける変更内容の表示"
 
+msgid "compare patches for two revisions"
+msgstr "2つのリビジョンに対するパッチの比較"
+
 msgid "hg extdiff [OPT]... [FILE]..."
 msgstr "hg extdiff [OPT]... [FILE]..."
 
@@ -4369,18 +4686,31 @@
 "本エクステンションには、 シンタックスハイライトライブラリの Pygments\n"
 "が必要です: http://pygments.org/"
 
-msgid "There is a single configuration option::"
+msgid "There are the following configuration options::"
 msgstr "本エクステンションに対しては、以下の設定のみが可能です::"
 
 msgid ""
 "  [web]\n"
-"  pygments_style = <style>"
+"  pygments_style = <style> (default: colorful)\n"
+"  highlightfiles = <fileset> (default: size('<5M'))\n"
+"  highlightonlymatchfilename = <bool> (default False)"
 msgstr ""
 "  [web]\n"
-"  pygments_style = <style>"
-
-msgid "The default is 'colorful'.\n"
-msgstr "無指定時の設定は 'colorful' とみなされます。\n"
+"  pygments_style = <style> (デフォルト値: colorful)\n"
+"  highlightfiles = <fileset> (デフォルト値: size('<5M'))\n"
+"  highlightonlymatchfilename = <bool> (デフォルト値: False)"
+
+msgid ""
+"``highlightonlymatchfilename`` will only highlight files if their type "
+"could\n"
+"be identified by their filename. When this is not enabled (the default),\n"
+"Pygments will try very hard to identify the file type from content and any\n"
+"match (even matches with a low confidence score) will be used.\n"
+msgstr ""
+"``highlightonlymatchfilename`` は、ファイル名から内容が特定可能な時のみ、\n"
+"ハイライト処理を行うための指定です。 無効化時 (= デフォルトの設定) には、\n"
+"Pygments が内容からファイル種別を特定するために、(確実性があまり高くない)\n"
+"パターンマッチングを含む、 コスト高な処理が行われます。\n"
 
 msgid "interactive history editing"
 msgstr "対話的な履歴改変"
@@ -4446,7 +4776,7 @@
 " #  f, fold = use commit, but combine it with the one above\n"
 " #  r, roll = like fold, but discard this commit's description\n"
 " #  d, drop = remove commit from history\n"
-" #  m, mess = edit message without changing commit content\n"
+" #  m, mess = edit commit message without changing commit content\n"
 " #"
 msgstr ""
 " # c561b4e977df から 7c2fd3b9020c にかけての履歴の編集\n"
@@ -4663,7 +4993,7 @@
 
 msgid ""
 "Histedit rule lines are truncated to 80 characters by default. You\n"
-"can customise this behaviour by setting a different length in your\n"
+"can customize this behavior by setting a different length in your\n"
 "configuration file::"
 msgstr ""
 "histedit での改変指示行は、 80 カラムでの切り詰めがデフォルトです。\n"
@@ -4689,7 +5019,7 @@
 "#  f, fold = use commit, but combine it with the one above\n"
 "#  r, roll = like fold, but discard this commit's description\n"
 "#  d, drop = remove commit from history\n"
-"#  m, mess = edit message without changing commit content\n"
+"#  m, mess = edit commit message without changing commit content\n"
 "#\n"
 msgstr ""
 "# %s から %s にかけての履歴の編集\n"
@@ -4796,9 +5126,9 @@
 "    'default-push' (または 'default') 指定のパスが参照されます。"
 
 msgid ""
-"    For safety, this command is aborted, also if there are ambiguous\n"
-"    outgoing revisions which may confuse users: for example, there are\n"
-"    multiple branches containing outgoing revisions."
+"    For safety, this command is also aborted if there are ambiguous\n"
+"    outgoing revisions which may confuse users: for example, if there\n"
+"    are multiple branches containing outgoing revisions."
 msgstr ""
 "    反映候補リビジョンが、 利用者にとって紛らわしい場合、 安全性の点から、\n"
 "    履歴改変は中止されます。 紛らわしい例としては、 反映候補リビジョンが、\n"
@@ -4853,6 +5183,13 @@
 msgid "histedit requires exactly one ancestor revision"
 msgstr "履歴改変には単一の祖先リビジョンを指定してください"
 
+msgid ""
+"warning: encountered an exception during histedit --abort; the repository "
+"may not have been completely cleaned up\n"
+msgstr ""
+"警告: histedit --abort が中断されました。履歴改変状態が、不完全なまま残ってい"
+"る可能性があります。\n"
+
 msgid "The specified revisions must have exactly one common root"
 msgstr "指定リビジョン群は、単一の共通祖先リビジョンを持つ必要があります"
 
@@ -5676,6 +6013,10 @@
 msgid "found %s in system cache\n"
 msgstr "%s はシステムキャッシュに取得済み\n"
 
+#, python-format
+msgid "%s: data corruption in %s with hash %s\n"
+msgstr "%s: %s (実ハッシュ値 %s) でデータ破損を検出\n"
+
 msgid "finding outgoing largefiles"
 msgstr "転送対象大容量ファイルの検出中"
 
@@ -5868,7 +6209,8 @@
 msgid ""
 "add all files above this size (in megabytes) as largefiles (default: 10)"
 msgstr ""
-"指定サイズ (単位:MB) 以上のファイルを、 大容量ファイルとして追加 (既定値:10)"
+"指定サイズ (単位:MB) 以上のファイルを、 大容量ファイルとして追加 (デフォルト"
+"値:10)"
 
 msgid "verify that all largefiles in current revision exists"
 msgstr "現リビジョンの大容量ファイルの存在を検証"
@@ -5944,7 +6286,7 @@
 msgid ""
 "By default, mq will automatically use git patches when required to\n"
 "avoid losing file mode changes, copy records, binary files or empty\n"
-"files creations or deletions. This behaviour can be configured with::"
+"files creations or deletions. This behavior can be configured with::"
 msgstr ""
 "ファイルモードの変更や、 複製履歴、 バイナリファイルや空ファイルの生成\n"
 "/削除等の情報を維持するために、 mq は必要に応じて git 形式のパッチを\n"
@@ -6181,11 +6523,11 @@
 msgid "working directory revision is not qtip"
 msgstr "作業領域の親リビジョンは qtip ではありません"
 
-msgid "local changes found, refresh first"
-msgstr "作業領域に変更がありますので qrefresh を実施してください"
-
-msgid "local changed subrepos found, refresh first"
-msgstr "サブリポジトリに変更がありますので qrefresh を実施してください"
+msgid "local changes found, qrefresh first"
+msgstr "作業領域に変更がありますので、先に qrefresh を実施してください"
+
+msgid "local changed subrepos found, qrefresh first"
+msgstr "サブリポジトリに変更がありますので、先に qrefresh を実施してください"
 
 #, python-format
 msgid "\"%s\" cannot be used as the name of a patch"
@@ -6280,12 +6622,12 @@
 msgid "please specify the patch to move"
 msgstr "移動するパッチを指定してください"
 
-msgid "cleaning up working directory..."
-msgstr "作業領域の整理中..."
-
-#, python-format
-msgid "errors during apply, please fix and refresh %s\n"
-msgstr "適用が失敗したため、 対処後に %s への qrefresh を実施してください\n"
+msgid "cleaning up working directory...\n"
+msgstr "作業領域の整理中...\n"
+
+#, python-format
+msgid "errors during apply, please fix and qrefresh %s\n"
+msgstr "パッチ適用に失敗しました。対処後に %s への qrefresh 実施が必要です\n"
 
 #, python-format
 msgid "now at: %s\n"
@@ -6325,14 +6667,14 @@
 msgid "patch queue now empty\n"
 msgstr "全てのパッチの適用が解除されました\n"
 
-msgid "cannot refresh a revision with children"
+msgid "cannot qrefresh a revision with children"
 msgstr "ヘッド以外は qrefresh の対象に指定できません"
 
-msgid "cannot refresh public revision"
+msgid "cannot qrefresh public revision"
 msgstr "public フェーズのリビジョンは qrefresh できません"
 
 msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
+"qrefresh interrupted while patch was popped! (revert --all, qpush to "
 "recover)\n"
 msgstr "パッチ解除中に中断されました!(revert --all および qpush で復旧)\n"
 
@@ -8150,11 +8492,14 @@
 msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent."
+"    will be sent. Use the ``patchbomb.bundletype`` config option to\n"
+"    control the bundle type as with :hg:`bundle --type`."
 msgstr ""
 "    -b/--bundle 指定がある場合、 対象リビジョンの選択は --outgoing 指定\n"
 "    時と同様に行われますが、 Mercurial のバンドル形式ファイルを添付\n"
-"    ファイルとする単一のメールとして送信されます。"
+"    ファイルとする単一のメールとして送信されます。 :hg:`bundle --type`\n"
+"    指定と同様のバンドル形式指定を行う場合、 ``patchbomb.bundletype``\n"
+"    設定を使用してください。"
 
 msgid ""
 "    With -m/--mbox, instead of previewing each patchbomb message in a\n"
@@ -8268,6 +8613,22 @@
 msgid "use only one form to specify the revision"
 msgstr "リビジョン指定は単一の形式で行ってください"
 
+#, python-format
+msgid "unable to access public repo: %s\n"
+msgstr "publicurl で指定された公開リポジトリにアクセスできません: %s\n"
+
+#, python-format
+msgid "public \"%s\" is missing %s and %i others"
+msgstr "公開リポジトリ \"%s\" には %s と以降の %i 個のリビジョンがありません"
+
+#, python-format
+msgid "public url %s is missing %s"
+msgstr "公開リポジトリ \"%s\" には %s がありません"
+
+#, python-format
+msgid "use \"hg push %s %s\""
+msgstr "\"hg push %s %s\" を実施してください"
+
 msgid "no recipient addresses provided"
 msgstr "宛先アドレスが指定されていません"
 
@@ -8424,10 +8785,14 @@
 
 msgid ""
 "For more information:\n"
-"http://mercurial.selenic.com/wiki/RebaseExtension\n"
+"https://mercurial-scm.org/wiki/RebaseExtension\n"
 msgstr ""
 "詳細は以下を参照してください:\n"
-"http://mercurial.selenic.com/wiki/RebaseExtension\n"
+"https://mercurial-scm.org/wiki/RebaseExtension\n"
+
+#. i18n: "_rebasedefaultdest" is a keyword
+msgid "_rebasedefaultdest takes no arguments"
+msgstr "_rebasedefaultdest には引数が指定できません"
 
 msgid "rebase the specified changeset and descendants"
 msgstr "指定リビジョンとその子孫の移動"
@@ -8456,6 +8821,7 @@
 msgid "keep original branch names"
 msgstr "元ブランチ名を維持"
 
+#. i18n: "(DEPRECATED)" is a keyword, must be translated consistently
 msgid "(DEPRECATED)"
 msgstr "(非推奨)"
 
@@ -8645,12 +9011,12 @@
 msgid "    "
 msgstr "    "
 
+#, python-format
 msgid ""
 "interactive history editing is supported by the 'histedit' extension (see "
-"\"hg help histedit\")"
-msgstr ""
-"対話的な履歴の改変は histedit エクステンションを使用します (\"hg help "
-"histeidt\" 参照)"
+"\"%s\")"
+msgstr ""
+"対話的な履歴の改変は histedit エクステンションを使用します (\"%s\" 参照)"
 
 msgid "message can only be specified with collapse"
 msgstr "--collapse 指定との併用時のみメッセージ指定が可能です"
@@ -8760,6 +9126,10 @@
 msgstr "無視対象のリビジョン '%s' は移動されません\n"
 
 #, python-format
+msgid "note: not rebasing %s, already in destination as %s\n"
+msgstr "備考: %s は既に %s として移動済みなので移動しません\n"
+
+#, python-format
 msgid "already rebased %s as %s\n"
 msgstr "%s は %s として移動済みです\n"
 
@@ -8790,12 +9160,12 @@
 msgid "updating mq patch %s to %s:%s\n"
 msgstr "mq パッチ %s をリビジョン %s:%s に移動中\n"
 
+msgid "no rebase in progress"
+msgstr "実施中の rebase による移動はありません"
+
 msgid ".hg/rebasestate is incomplete"
 msgstr "管理情報 (.hg/rebasestate) が破損しています"
 
-msgid "no rebase in progress"
-msgstr "実施中の rebase による移動はありません"
-
 #, python-format
 msgid "warning: can't clean up public changesets %s\n"
 msgstr "警告: public フェーズのリビジョン %s は破棄できません\n"
@@ -9005,8 +9375,8 @@
 msgstr "リンク元とリンク先が同一ファイルシステム上にありません"
 
 #, python-format
-msgid "tip has %d files, estimated total number of files: %s\n"
-msgstr "tip におけるファイル数 %d、 推定総ファイル数: %s\n"
+msgid "tip has %d files, estimated total number of files: %d\n"
+msgstr "tip におけるファイル数 %d、 推定総ファイル数: %d\n"
 
 msgid "collecting"
 msgstr "収集中"
@@ -9077,7 +9447,7 @@
 "just appended to an URL."
 msgstr ""
 "Mercurial のテンプレート表記の文法を元に、 ``{1}`` から始まり\n"
-"``{2}``、 ``{3}`` 等々と連続した、 上限無しの番号変数を使用可能です。\n"
+"``{2}``, ``{3}`` 等々と連続した、 上限無しの番号変数を使用可能です。\n"
 "各番号変数は、 URL を ``/`` で区切った部位に対応した値で置換されます。\n"
 "``{部位}`` 形式に該当しない部分は、 全て URL 末尾に付加されます。"
 
@@ -9398,7 +9768,7 @@
 msgstr ""
 "    退避内容を復旧し終えた後、 退避情報はバックアップ領域で保持されます。\n"
 "    バックアップ領域に保持される退避情報の最大数は ``shelve.maxbackups``\n"
-"    設定で指定できます(デフォルト値: 10)"
+"    設定で指定できます (デフォルト値: 10)"
 
 msgid ""
 "       Timestamp in seconds is used to decide order of backups. More\n"
@@ -10129,11 +10499,10 @@
 "** = %sdecode:\n"
 
 msgid ""
-"win32text is deprecated: http://mercurial.selenic.com/wiki/"
-"Win32TextExtension\n"
-msgstr ""
-"win32text は推奨されていません: http://mercurial.selenic.com/wiki/"
-"Win32TextExtension 参照\n"
+"win32text is deprecated: https://mercurial-scm.org/wiki/Win32TextExtension\n"
+msgstr ""
+"win32text は非推奨です: https://mercurial-scm.org/wiki/Win32TextExtension 参"
+"照\n"
 
 msgid "discover and advertise repositories on the local network"
 msgstr "ローカルネットワーク上でのリポジトリの検出/公開"
@@ -10286,6 +10655,10 @@
 msgid "unknown delta base"
 msgstr "未知の差分ベース"
 
+#, python-format
+msgid "Unsupported changegroup version: %s"
+msgstr "未サポートなバンドルファイルバージョンです: %s"
+
 msgid "cannot create new bundle repository"
 msgstr "バンドルリポジトリの新規作成はできません"
 
@@ -10300,9 +10673,43 @@
 msgid "old bundle types only supports v1 changegroups"
 msgstr "旧来の bundle 形式で使用できるのは v1 changegroups のみです"
 
+#, python-format
+msgid "unknown stream compression type: %s"
+msgstr "未知のストリーム圧縮形式です: %s"
+
+msgid "manifests"
+msgstr "マニフェスト"
+
+msgid "adding changesets\n"
+msgstr "リビジョンを追加中\n"
+
+msgid "chunks"
+msgstr "チャンク"
+
+msgid "received changelog group is empty"
+msgstr "受信した変更履歴は空です"
+
+msgid "adding manifests\n"
+msgstr "マニフェストを追加中\n"
+
+msgid "adding file changes\n"
+msgstr "ファイルの変更を追加中\n"
+
+#, python-format
+msgid " (%+d heads)"
+msgstr " (%+d個のヘッド)"
+
+#, python-format
+msgid "added %d changesets with %d changes to %d files%s\n"
+msgstr "%d 個のリビジョン(%d の変更を %d ファイルに適用)を追加%s\n"
+
 msgid "bundling"
 msgstr "バンドル生成中"
 
+#, python-format
+msgid "%8.i (manifests)\n"
+msgstr "%8.i (マニフェスト)\n"
+
 msgid "uncompressed size of bundle content:\n"
 msgstr "バンドルファイル内容の非圧縮サイズ:\n"
 
@@ -10310,13 +10717,6 @@
 msgid "%8.i (changelog)\n"
 msgstr "%8.i (履歴情報)\n"
 
-msgid "manifests"
-msgstr "マニフェスト"
-
-#, python-format
-msgid "%8.i (manifests)\n"
-msgstr "%8.i (マニフェスト)\n"
-
 #, python-format
 msgid "empty or missing revlog for %s"
 msgstr "%s に対するリビジョンログが空または不在です"
@@ -10343,29 +10743,6 @@
 msgid "missing file data for %s:%s - run hg verify"
 msgstr "%s:%s のファイルデータが不在です - hg verify を実施してください"
 
-msgid "adding changesets\n"
-msgstr "リビジョンを追加中\n"
-
-msgid "chunks"
-msgstr "チャンク"
-
-msgid "received changelog group is empty"
-msgstr "受信した変更履歴は空です"
-
-msgid "adding manifests\n"
-msgstr "マニフェストを追加中\n"
-
-msgid "adding file changes\n"
-msgstr "ファイルの変更を追加中\n"
-
-#, python-format
-msgid " (%+d heads)"
-msgstr " (%+d個のヘッド)"
-
-#, python-format
-msgid "added %d changesets with %d changes to %d files%s\n"
-msgstr "%d 個のリビジョン(%d の変更を %d ファイルに適用)を追加%s\n"
-
 msgid "filtered node"
 msgstr "指定対象はフィルタリング対象です"
 
@@ -10660,42 +11037,45 @@
 msgid "empty commit message"
 msgstr "コミットログがありません"
 
-msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
-msgstr "HG: コミットログを入力してください。'HG:' で始まる行は無視されます。"
-
-#, python-format
-msgid "HG: user: %s"
-msgstr "HG: ユーザ: %s"
-
-msgid "HG: branch merge"
-msgstr "HG: ブランチのマージ"
-
-#, python-format
-msgid "HG: branch '%s'"
-msgstr "HG: ブランチ '%s'"
-
-#, python-format
-msgid "HG: bookmark '%s'"
-msgstr "HG: ブックマーク '%s'"
-
-#, python-format
-msgid "HG: subrepo %s"
-msgstr "HG: サブリポジトリ %s"
-
-#, python-format
-msgid "HG: added %s"
-msgstr "HG: %s を追加"
-
-#, python-format
-msgid "HG: changed %s"
-msgstr "HG: %s を変更"
-
-#, python-format
-msgid "HG: removed %s"
-msgstr "HG: %s を削除"
-
-msgid "HG: no files changed"
-msgstr "HG: ファイル変更なし"
+msgid "commit message unchanged"
+msgstr "コミットログが変更されていません"
+
+msgid "Enter commit message.  Lines beginning with 'HG:' are removed."
+msgstr "コミットログを入力してください。'HG:' で始まる行は無視されます。"
+
+#, python-format
+msgid "user: %s"
+msgstr "ユーザ: %s"
+
+msgid "branch merge"
+msgstr "ブランチのマージ"
+
+#, python-format
+msgid "branch '%s'"
+msgstr "ブランチ '%s'"
+
+#, python-format
+msgid "bookmark '%s'"
+msgstr "ブックマーク '%s'"
+
+#, python-format
+msgid "subrepo %s"
+msgstr "サブリポジトリ %s"
+
+#, python-format
+msgid "added %s"
+msgstr "%s を追加"
+
+#, python-format
+msgid "changed %s"
+msgstr "%s を変更"
+
+#, python-format
+msgid "removed %s"
+msgstr "%s を削除"
+
+msgid "no files changed"
+msgstr "ファイル変更なし"
 
 msgid "created new head\n"
 msgstr "新規ヘッドが増えました\n"
@@ -10741,12 +11121,12 @@
 msgstr "作業領域内容の整合性を取るには 'hg update' を実行してください"
 
 #, 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"
+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 "repository root directory or name of overlay bundle file"
 msgstr "リポジトリのルート位置、 またはバンドルファイルのパス"
@@ -11219,6 +11599,13 @@
 "      ヘッドのまま残す働きをします。"
 
 msgid ""
+"    See :hg:`help revert` for a way to restore files to the state\n"
+"    of another revision."
+msgstr ""
+"    ファイルの内容を、 別のリビジョン時点のもので上書きする方法は、\n"
+"    :hg:`help revert` を参照してください。"
+
+msgid ""
 "    Returns 0 on success, 1 if nothing to backout or there are unresolved\n"
 "    files.\n"
 "    "
@@ -11500,6 +11887,9 @@
 msgid "delete a given bookmark"
 msgstr "指定ブックマークの削除"
 
+msgid "OLD"
+msgstr ""
+
 msgid "rename a given bookmark"
 msgstr "指定ブックマークの改名"
 
@@ -11572,6 +11962,12 @@
 msgid "          hg book -r .^ tested"
 msgstr "          hg book -r .^ tested"
 
+msgid "      - rename bookmark turkey to dinner::"
+msgstr "      - ブックマーク turkey を dinner に改名::"
+
+msgid "          hg book -m turkey dinner"
+msgstr "          hg book -m turkey dinner"
+
 msgid "      - move the '@' bookmark from another branch::"
 msgstr "      - ブックマーク '@' を作業領域親リビジョンに強制的に移動::"
 
@@ -11785,12 +12181,16 @@
 "    全リビジョンを含むバンドルファイルが生成できます。"
 
 msgid ""
-"    You can change compression method with the -t/--type option.\n"
-"    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2)."
-msgstr ""
-"    圧縮形式は -t/--type で指定可能です。 利用可能な圧縮形式は\n"
-"    none (無圧縮), bzip2, gzip です (無指定時は bzip2 圧縮)。"
+"    You can change bundle format with the -t/--type option. You can\n"
+"    specify a compression, a bundle version or both using a dash\n"
+"    (comp-version). The available compression methods are: none, bzip2,\n"
+"    and gzip (by default, bundles are compressed using bzip2). The\n"
+"    available format are: v1, v2 (default to most suitable)."
+msgstr ""
+"    出力形式は -t/--type で指定可能です。 圧縮形式名、 バンドル形式名、\n"
+"    あるいは - で連結した併記形式 (`comp-bundle`) で指定できます。\n"
+"    利用可能な圧縮形式は none (無圧縮), bzip2, gzip です。 (デフォルト値:\n"
+"    bzip2) 利用可能なバンドル形式は v1 と v2 です。 (デフォルト値: 自動選択)"
 
 msgid ""
 "    The bundle file can then be transferred using conventional means\n"
@@ -11817,8 +12217,14 @@
 "    成功時のコマンドの終了値は 0、 変更が検出できない場合は 1 です。\n"
 "    "
 
-msgid "unknown bundle type specified with --type"
-msgstr "--type に未知のバンドル種別が指定されました"
+msgid "see \"hg help bundle\" for supported values for --type"
+msgstr "--type で指定可能な値は \"hg help bundle\" を参照してください"
+
+msgid "packed bundles cannot be produced by \"hg bundle\""
+msgstr "packed bundle は \"hg bundle\" では生成できません"
+
+msgid "use \"hg debugcreatestreamclonebundle\""
+msgstr "\"hg debugcreatestreamclonebundle\" を使用してください"
 
 msgid "--base is incompatible with specifying a destination"
 msgstr "--base と連携対象は同時には指定できません"
@@ -12411,6 +12817,25 @@
 msgid "not a bundle2 file"
 msgstr "bundle2 形式のファイルではありません"
 
+msgid "create a stream clone bundle file"
+msgstr "stream clone 用バンドルファイルの生成"
+
+msgid ""
+"    Stream bundles are special bundles that are essentially archives of\n"
+"    revlog files. They are commonly used for cloning very quickly.\n"
+"    "
+msgstr ""
+"    本コマンドが生成するバンドルファイルは revlog をアーカイブした、\n"
+"    特別なバンドルファイルです。 高速なリポジトリ複製に利用されます。\n"
+"    "
+
+#, python-format
+msgid "bundle requirements: %s\n"
+msgstr "bundle 使用時の必須機能: %s\n"
+
+msgid "apply a stream clone bundle file"
+msgstr "stream clone 用バンドルファイルの適用"
+
 msgid "validate the correctness of the current dirstate"
 msgstr "現時点の dirstate の整合性検証"
 
@@ -12520,6 +12945,24 @@
 msgid "runs the changeset discovery protocol in isolation"
 msgstr "リビジョン探索プロトコルの単独実行"
 
+msgid "show information about active extensions"
+msgstr "有効なエクステンションの情報表示"
+
+msgid " (untested!)\n"
+msgstr " (テスト未実施!)\n"
+
+#, python-format
+msgid "  location: %s\n"
+msgstr "  読み込み元: %s\n"
+
+#, python-format
+msgid "  tested with: %s\n"
+msgstr "  テスト済み Mercurial 版: %s\n"
+
+#, python-format
+msgid "  bug reporting: %s\n"
+msgstr "  障害報告先: %s\n"
+
 msgid "apply the filespec on this revision"
 msgstr "指定リビジョンに対する fileset 記述の適用"
 
@@ -12557,6 +13000,9 @@
 "    バンドルファイルを、 指定ファイルに書き出します。\n"
 "    "
 
+msgid "unknown bundle type specified with --type"
+msgstr "--type に未知のバンドル種別が指定されました"
+
 msgid "display the combined ignore pattern"
 msgstr "無視対象ファイル判定用正規表現の表示"
 
@@ -12671,6 +13117,17 @@
 msgid "backwards compatibility with old bash completion scripts (DEPRECATED)"
 msgstr "既存の bash 補完スクリプト向けの後方互換用コマンド (非推奨)"
 
+msgid "print merge state"
+msgstr "マージ状態の表示"
+
+msgid ""
+"    Use --verbose to print out information about whether v1 or v2 merge "
+"state\n"
+"    was chosen."
+msgstr ""
+"    v1 と v2 のいずれのマージ状態形式が使用されているかは、 --verbose\n"
+"    オプション指定で表示されます。"
+
 msgid "NAME..."
 msgstr "NAME..."
 
@@ -12731,8 +13188,8 @@
 msgid "display markers relevant to REV"
 msgstr "指定リビジョンに関連するマーカの表示"
 
-msgid "[OBSOLETED [REPLACEMENT] [REPL... ]"
-msgstr "[OBSOLETED [REPLACEMENT] [REPL... ]"
+msgid "[OBSOLETED [REPLACEMENT ...]]"
+msgstr "[OBSOLETED [REPLACEMENT ...]]"
 
 msgid "create arbitrary obsolete marker"
 msgstr "任意の廃止状態の設定"
@@ -12816,6 +13273,9 @@
 msgid "revision to rebuild to"
 msgstr "再構築対象リビジョン"
 
+msgid "only rebuild files that are inconsistent with the working copy parent"
+msgstr "作業領域の親リビジョンに対して、 不適切なファイルのみ、 状態を再構築"
+
 msgid "[-r REV]"
 msgstr "[-r REV]"
 
@@ -12835,6 +13295,20 @@
 "    既存の dirstate 情報は無視されます。"
 
 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 ""
+"    ``--minimal`` 指定時は、 親リビジョンでは管理対象外なのに、 \n"
+"    作業領域では管理対象のファイル、又は親リビジョンでは管理対象なのに、\n"
+"    作業領域では管理対象外のファイルの管理状態のみを、 再構築します。\n"
+"    親リビジョンおよび作業領域で、 共に管理対象になっているファイルには、\n"
+"    何も実施しません。"
+
+msgid ""
 "    One use of this command is to make the next :hg:`status` invocation\n"
 "    check the actual file content.\n"
 "    "
@@ -13631,8 +14105,8 @@
 msgid "show topics matching keyword"
 msgstr "キーワードに合致するトピック一覧を表示"
 
-msgid "[-ec] [TOPIC]"
-msgstr "[-ec] [TOPIC]"
+msgid "[-eck] [TOPIC]"
+msgstr "[-eck] [TOPIC]"
 
 msgid "show help for a given topic or a help overview"
 msgstr "指定されたトピックのヘルプや、 ヘルプ概要の表示"
@@ -14397,44 +14871,6 @@
 "    成功時のコマンド終了値は 0、 未解消ファイルがある場合は 1 です。\n"
 "    "
 
-msgid ""
-"multiple matching bookmarks to merge - please merge with an explicit rev or "
-"bookmark"
-msgstr "現ブックマークは複数ヘッドです -マージ対象を明示してください"
-
-msgid "run 'hg heads' to see all heads"
-msgstr "'hg heads' によりヘッドを一覧表示できます"
-
-msgid ""
-"no matching bookmark to merge - please merge with an explicit rev or bookmark"
-msgstr "現ブックマークは単一ヘッドです - マージ対象を明示してください"
-
-#, python-format
-msgid "branch '%s' has %d heads - please merge with an explicit rev"
-msgstr "ブランチ '%s' には %d 個のヘッドあります - 対象を明示してください"
-
-msgid "run 'hg heads .' to see heads"
-msgstr "'hg heads .' によりヘッドを一覧表示できます"
-
-msgid "heads are bookmarked - please merge with an explicit rev"
-msgstr "ヘッドはブックマークされています - マージ対象を明示してください"
-
-#, python-format
-msgid "branch '%s' has one head - please merge with an explicit rev"
-msgstr "ブランチ '%s' は単一ヘッドです - 対象を明示してください"
-
-msgid "nothing to merge"
-msgstr "マージの必要がありません"
-
-msgid "use 'hg update' instead"
-msgstr "'hg update' を使用してください"
-
-msgid "working directory not at a head revision"
-msgstr "作業領域の親リビジョンは、 ヘッドではありません"
-
-msgid "use 'hg update' or merge with an explicit revision"
-msgstr "リビジョンを明示して、'hg update' またはマージを実施してください"
-
 msgid "a changeset intended to be included in the destination"
 msgstr "反映対象とするリビジョン"
 
@@ -14639,12 +15075,8 @@
 msgid "        public < draft < secret"
 msgstr "        public < draft < secret"
 
-msgid ""
-"    Returns 0 on success, 1 if no phases were changed or some could not\n"
-"    be changed."
-msgstr ""
-"    成功時のコマンドの終了値は 0、 フェーズ状態変更が無い、あるいは、\n"
-"    変更に失敗した場合は 1 です。"
+msgid "    Returns 0 on success, 1 if some phases could not be changed."
+msgstr "    成功時のコマンドの終了値は 0、 フェーズ状態変更失敗時は 1 です。"
 
 msgid ""
 "    (For more information about the phases concept, see :hg:`help phases`.)\n"
@@ -14827,16 +15259,16 @@
 "    反映成功時のコマンド終了値は 0、 何も反映されなかった場合は 1 です。\n"
 "    "
 
-#, python-format
-msgid "pushing to %s\n"
-msgstr "%s への反映中\n"
-
 msgid "default repository not configured!"
 msgstr "デフォルトの連携先が設定されていません"
 
 msgid "see the \"path\" section in \"hg help config\""
 msgstr "\"hg help config\" の \"path\" セクションを参照してください"
 
+#, python-format
+msgid "pushing to %s\n"
+msgstr "%s への反映中\n"
+
 msgid "specified revisions evaluate to an empty set"
 msgstr "リビジョン指定対象は空です"
 
@@ -15077,12 +15509,24 @@
 msgid "resolve command not applicable when not merging"
 msgstr "マージが実施されていない場合は resolve コマンドを使用できません"
 
+#, python-format
+msgid "not marking %s as it is driver-resolved\n"
+msgstr ""
+
+#, python-format
+msgid "not unmarking %s as it is driver-resolved\n"
+msgstr ""
+
 msgid "arguments do not match paths that need resolving\n"
 msgstr "指定パターンは衝突解消対象ファイルに合致しません\n"
 
 msgid "(no more unresolved files)\n"
 msgstr "(衝突未解消ファイルはありません)\n"
 
+msgid "(no more unresolved files -- run \"hg resolve --all\" to conclude)\n"
+msgstr ""
+"(未解決ファイルはありません -- \"hg resolve --all\" を実施してください)\n"
+
 msgid "revert all changes when no arguments given"
 msgstr "引数指定が無い場合に、 全ファイルの内容を復旧"
 
@@ -15146,6 +15590,13 @@
 "    変更ありのファイルを復旧した場合、 .orig 拡張子を付けたファイルに、\n"
 "    復旧前の内容が保存されます。 この保存は --no-backup で無効化されます。"
 
+msgid ""
+"    See :hg:`help backout` for a way to reverse the effect of an\n"
+"    earlier changeset."
+msgstr ""
+"    以前のリビジョンでの変更を打ち消す方法に関しては、 :hg:`help backout`\n"
+"    を参照してください。"
+
 msgid "you can't specify a revision and a date"
 msgstr "リビジョンと日時は同時には指定できません"
 
@@ -15288,19 +15739,19 @@
 msgstr "ポート番号"
 
 msgid "port to listen on (default: 8000)"
-msgstr "要求受け付けポート番号(既定値: 8000)"
+msgstr "要求受け付けポート番号(デフォルト値: 8000)"
 
 msgid "address to listen on (default: all interfaces)"
-msgstr "要求受け付けアドレス(既定値: 全インタフェース)"
+msgstr "要求受け付けアドレス(デフォルト値: 全インタフェース)"
 
 msgid "ADDR"
 msgstr "アドレス"
 
 msgid "prefix path to serve from (default: server root)"
-msgstr "公開パス接頭辞(既定値: ルート)"
+msgstr "公開パス接頭辞(デフォルト値: ルート)"
 
 msgid "name to show in web pages (default: working directory)"
-msgstr "表示名(既定値: 作業領域のパス)"
+msgstr "表示名(デフォルト値: 作業領域のパス)"
 
 msgid "name of the hgweb config file (see \"hg help hgweb\")"
 msgstr "hgweb 設定ファイル位置(\"hg help hgweb\" 参照)"
@@ -15822,6 +16273,19 @@
 "    成功時のコマンド終了値は 0、 衝突未解消ファイルがある場合は 1 です。\n"
 "    "
 
+#, python-format
+msgid "%s: unknown bundle feature, %s"
+msgstr "%s: 未知のバンドル機能 %s"
+
+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 "未コミット変更内容の破棄(保存無し)"
 
@@ -15952,12 +16416,12 @@
 "    検証されます。"
 
 msgid ""
-"    Please see http://mercurial.selenic.com/wiki/RepositoryCorruption\n"
+"    Please see https://mercurial-scm.org/wiki/RepositoryCorruption\n"
 "    for more information about recovery from corruption of the\n"
 "    repository."
 msgstr ""
 "    リポジトリ破損時の復旧に関する詳細は、 以下の URL を参照してください。\n"
-"    http://mercurial.selenic.com/wiki/JapaneseRepositoryCorruption"
+"    https://mercurial-scm.org/wiki/JapaneseRepositoryCorruption"
 
 msgid "output version and copyright information"
 msgstr "バージョンおよび著作権情報の表示"
@@ -15966,8 +16430,8 @@
 msgid "Mercurial Distributed SCM (version %s)\n"
 msgstr "Mercurial - 分散構成管理ツール(バージョン %s)\n"
 
-msgid "(see http://mercurial.selenic.com for more information)"
-msgstr "(詳細は http://mercurial.selenic.com を参照)"
+msgid "(see https://mercurial-scm.org for more information)"
+msgstr "(詳細は https://mercurial-scm.org を参照)"
 
 msgid ""
 "Copyright (C) 2005-2015 Matt Mackall and others\n"
@@ -16155,9 +16619,63 @@
 msgid "nullid"
 msgstr "nullid"
 
+msgid "commit and merge, or update --clean to discard changes"
+msgstr "コミット後にマージするか、変更を破棄 (update --clean) してください"
+
+msgid "not a linear update"
+msgstr "ブランチを横断する更新です"
+
+msgid "merge or update --check to force update"
+msgstr "マージするか、変更有無の確認付きで更新 (update --check) してください"
+
+#, python-format
+msgid "branch %s not found"
+msgstr "ブランチ %s が見つかりません"
+
+msgid ""
+"multiple matching bookmarks to merge - please merge with an explicit rev or "
+"bookmark"
+msgstr "現ブックマークは複数ヘッドです -マージ対象を明示してください"
+
+msgid "run 'hg heads' to see all heads"
+msgstr "'hg heads' によりヘッドを一覧表示できます"
+
+msgid ""
+"no matching bookmark to merge - please merge with an explicit rev or bookmark"
+msgstr "現ブックマークは単一ヘッドです - マージ対象を明示してください"
+
+#, python-format
+msgid "branch '%s' has %d heads - please merge with an explicit rev"
+msgstr "ブランチ '%s' には %d 個のヘッドあります - 対象を明示してください"
+
+msgid "run 'hg heads .' to see heads"
+msgstr "'hg heads .' によりヘッドを一覧表示できます"
+
+msgid "heads are bookmarked - please merge with an explicit rev"
+msgstr "ヘッドはブックマークされています - マージ対象を明示してください"
+
+#, python-format
+msgid "branch '%s' has one head - please merge with an explicit rev"
+msgstr "ブランチ '%s' は単一ヘッドです - 対象を明示してください"
+
+msgid "nothing to merge"
+msgstr "マージの必要がありません"
+
+msgid "use 'hg update' instead"
+msgstr "'hg update' を使用してください"
+
+msgid "working directory not at a head revision"
+msgstr "作業領域の親リビジョンは、 ヘッドではありません"
+
+msgid "use 'hg update' or merge with an explicit revision"
+msgstr "リビジョンを明示して、'hg update' またはマージを実施してください"
+
 msgid "working directory state appears damaged!"
 msgstr "作業領域の状態管理に問題があります!"
 
+msgid "working directory state may be changed parallelly"
+msgstr "作業領域状態が平行して更新された可能性があります"
+
 #, python-format
 msgid "directory %r already in dirstate"
 msgstr "ディレクトリ %r は既に管理対象に含まれています"
@@ -16340,9 +16858,6 @@
 msgid "abort: error: %s\n"
 msgstr "中止: エラー: %s\n"
 
-msgid "broken pipe\n"
-msgstr "パイプ破壊(EPIPE)\n"
-
 #, python-format
 msgid "abort: %s: '%s'\n"
 msgstr "中止: %s: '%s'\n"
@@ -16350,13 +16865,6 @@
 msgid "interrupted!\n"
 msgstr "中断されました!\n"
 
-msgid ""
-"\n"
-"broken pipe\n"
-msgstr ""
-"\n"
-"パイプ破壊(EPIPE)\n"
-
 msgid "abort: out of memory\n"
 msgstr "中止: メモリ不足\n"
 
@@ -16376,11 +16884,15 @@
 "** エクステンション %s を無効化してから、再度同じ処理を実行してください。\n"
 "** 問題が改善された場合、 障害の発生を %s に報告してください。\n"
 
-msgid "** unknown exception encountered, please report by visiting\n"
-msgstr "** 予期せぬ例外が発生しました。以下の URL から障害報告してください\n"
-
-msgid "** http://mercurial.selenic.com/wiki/BugTracker\n"
-msgstr "** http://mercurial.selenic.com/wiki/BugTracker\n"
+msgid "https://mercurial-scm.org/wiki/BugTracker"
+msgstr "https://mercurial-scm.org/wiki/BugTracker"
+
+msgid ""
+"** unknown exception encountered, please report by visiting\n"
+"** "
+msgstr ""
+"** 予期せぬ例外が発生しました。以下の URL から障害報告してください\n"
+"** "
 
 #, python-format
 msgid "** Python %s\n"
@@ -16496,6 +17008,30 @@
 msgstr "未知の識別子: %s"
 
 #, python-format
+msgid "invalid bundle specification: missing \"=\" in parameter: %s"
+msgstr "不正な bundle 仕様: パラメータ中に \"=\" がありません: %s"
+
+#, python-format
+msgid "invalid bundle specification; must be prefixed with compression: %s"
+msgstr "不正な bundle 仕様: \"-\" 連結による圧縮形式指定が必要です: %s"
+
+#, python-format
+msgid "%s compression is not supported"
+msgstr "圧縮形式 %s は未サポートです"
+
+#, python-format
+msgid "%s is not a recognized bundle version"
+msgstr "%s は有効なバンドルバージョンではありません"
+
+#, python-format
+msgid "%s is not a recognized bundle specification"
+msgstr "%s は有効なバンドル形式指定ではありません"
+
+#, python-format
+msgid "missing support for repository features: %s"
+msgstr "必要なリポジトリ機能が未サポートです: %s"
+
+#, python-format
 msgid "%s: not a Mercurial bundle"
 msgstr "%s: Mercurial のバンドル形式ではありません"
 
@@ -16565,6 +17101,9 @@
 msgid "server ignored bookmark %s update\n"
 msgstr "連携先のブックマーク %s は更新されませんでした\n"
 
+msgid "push failed on remote"
+msgstr "連携先での履歴反映に失敗しました"
+
 #, python-format
 msgid "cannot lock source repo, skipping local %s phase update\n"
 msgstr "リポジトリをロックできないため、ローカルの %s フェーズ更新を省略\n"
@@ -16572,6 +17111,9 @@
 msgid "failed to push some obsolete markers!\n"
 msgstr "リビジョンの廃止情報の反映に失敗しました!\n"
 
+msgid "streaming all changes\n"
+msgstr "全変更を転送中\n"
+
 msgid "requesting all changes\n"
 msgstr "全リビジョンを取得中\n"
 
@@ -16587,22 +17129,46 @@
 msgid "unsupported getbundle arguments: %s"
 msgstr "getbundle プロトコルに未知の引数が指定されました: %s"
 
-msgid "streaming all changes\n"
-msgstr "全変更を転送中\n"
-
-msgid "unexpected response from remote server:"
-msgstr "連携先のサーバから予期しない返信:"
-
-#, python-format
-msgid "%d files to transfer, %s of data\n"
-msgstr "%d 個のファイル転送(データ量 %s)\n"
-
-msgid "clone"
-msgstr "複製"
-
-#, python-format
-msgid "transferred %s in %.1f seconds (%s/sec)\n"
-msgstr "%s を %.1f 秒で送信しました (%s/秒)\n"
+msgid "no clone bundles available on remote; falling back to regular clone\n"
+msgstr "連携先にclone用バンドルファイルがありません。通常clone処理を実施中\n"
+
+msgid ""
+"no compatible clone bundles available on server; falling back to regular "
+"clone\n"
+msgstr ""
+"連携先のclone用バンドルファイルは利用できません。通常clone処理を実施中\n"
+
+msgid "(you may want to report this to the server operator)\n"
+msgstr "(連携先リポジトリの管理者に報告した方が良いかもしれません)\n"
+
+#, python-format
+msgid "applying clone bundle from %s\n"
+msgstr "clone 用バンドルファイル %s を適用中\n"
+
+msgid "finished applying clone bundle\n"
+msgstr "clone 用バンドルファイルの適用完了\n"
+
+msgid "falling back to normal clone\n"
+msgstr "通常clone処理へ切り替え中\n"
+
+msgid "error applying bundle"
+msgstr "バンドルファイルの適用に失敗しました"
+
+msgid ""
+"if this error persists, consider contacting the server operator or disable "
+"clone bundles via \"--config experimental.clonebundles=false\""
+msgstr ""
+"このエラーが継続発生する場合、サーバ管理者に連絡するか、\"--config "
+"experimental.clonebundles=false\" 設定によりclone 用バンドルの使用を無効化し"
+"てください"
+
+#, python-format
+msgid "HTTP error fetching bundle: %s\n"
+msgstr "バンドルファイル取得での HTTP エラー: %s\n"
+
+#, python-format
+msgid "error fetching bundle: %s\n"
+msgstr "バンドルファイル取得に失敗: %s\n"
 
 #, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
@@ -16686,6 +17252,26 @@
 msgid "%s.premerge not valid ('%s' is neither boolean nor %s)"
 msgstr "%s.premerge は無効です('%s' は真偽または %s のいずれでもありません)"
 
+#, python-format
+msgid "warning: internal %s cannot merge symlinks 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"
+msgstr ""
+"警告: %s のマージで衝突を検出 (編集後 'hg resolve --mark' 実施が必要です)\n"
+
 msgid ""
 "``:merge``\n"
 "Uses the internal non-interactive simple merge algorithm for merging\n"
@@ -16700,14 +17286,6 @@
 "   マージ結果ファイルには、 衝突マークが記録されます。\n"
 "   マージ対象の2つのリビジョンが、 衝突情報として記録されます。"
 
-#, python-format
-msgid "merging %s incomplete! (edit conflicts, then use 'hg resolve --mark')\n"
-msgstr "%s のマージは不完全です (衝突解消後に 'hg resolve --mark' が必要)\n"
-
-#, python-format
-msgid "warning: internal :merge cannot merge symlinks for %s\n"
-msgstr "警告: 内部ツール :merge はシンボリックリンク %s をマージできません\n"
-
 msgid ""
 "``:merge3``\n"
 "Uses the internal non-interactive simple merge algorithm for merging\n"
@@ -16723,6 +17301,28 @@
 "   マージ対象の2つのリビジョンに加えて、 共通祖先の情報が、\n"
 "   衝突情報として記録されます。"
 
+#, python-format
+msgid "warning: :merge-%s cannot merge symlinks for %s\n"
+msgstr "警告: :merge-%s はシンボリックリンク %s をマージできません\n"
+
+msgid ""
+"``:merge-local``\n"
+"Like :merge, but resolve all conflicts non-interactively in favor\n"
+"    of the local changes."
+msgstr ""
+"``:merge-local``\n"
+"内部ツール :merge と同様の挙動ですが、 非対話的な衝突解消の際に、\n"
+"    作業領域側の変更内容を採用します。"
+
+msgid ""
+"``:merge-other``\n"
+"Like :merge, but resolve all conflicts non-interactively in favor\n"
+"    of the other changes."
+msgstr ""
+"``:merge-other``\n"
+"内部ツール :merge と同様の挙動ですが、 非対話的な衝突解消の際に、\n"
+"    マージ対象リビジョン側の変更内容を採用します。"
+
 msgid ""
 "``:tagmerge``\n"
 "Uses the internal tag merge algorithm (experimental)."
@@ -16752,7 +17352,7 @@
 "   それぞれの内容を持つ3つのファイルを生成します。\n"
 "   これらのファイルは、事後の手動マージ等で使用してください。\n"
 "   対象ファイル名が ``a.txt`` であった場合、\n"
-"   生成されるファイルはそれぞれ ``a.txt.local``、 ``a.txt.other``\n"
+"   生成されるファイルはそれぞれ ``a.txt.local``, ``a.txt.other``\n"
 "   および ``a.txt.base`` と命名され、\n"
 "   ``a.txt`` と同じディレクトリに格納されます。"
 
@@ -16797,10 +17397,10 @@
 
 msgid ""
 "``modified()``\n"
-"    File that is modified according to status."
+"    File that is modified according to :hg:`status`."
 msgstr ""
 "``modified()``\n"
-"    変更ステータスを持つファイル (※ 訳注: 第1親との比較)"
+"    :hg:`status` で変更状態を持つファイル (※ 訳注: 第1親との比較)"
 
 #. i18n: "modified" is a keyword
 msgid "modified takes no arguments"
@@ -16808,10 +17408,10 @@
 
 msgid ""
 "``added()``\n"
-"    File that is added according to status."
+"    File that is added according to :hg:`status`."
 msgstr ""
 "``added()``\n"
-"    追加ステータスを持つファイル (※ 訳注: 第1親との比較)"
+"    :hg:`status` で追加状態を持つファイル (※ 訳注: 第1親との比較)"
 
 #. i18n: "added" is a keyword
 msgid "added takes no arguments"
@@ -16819,10 +17419,10 @@
 
 msgid ""
 "``removed()``\n"
-"    File that is removed according to status."
+"    File that is removed according to :hg:`status`."
 msgstr ""
 "``removed()``\n"
-"    登録除外ステータスを持つファイル (※ 訳注: 第1親との比較)"
+"    :hg:`status` で登録除外状態を持つファイル (※ 訳注: 第1親との比較)"
 
 #. i18n: "removed" is a keyword
 msgid "removed takes no arguments"
@@ -16830,10 +17430,10 @@
 
 msgid ""
 "``deleted()``\n"
-"    File that is deleted according to status."
+"    File that is deleted according to :hg:`status`."
 msgstr ""
 "``deleted()``\n"
-"    不在ステータスを持つファイル (※ 訳注: 作業領域でのみ有効)"
+"    :hg:`status` で不在状態を持つファイル (※ 訳注: 作業領域でのみ有効)"
 
 #. i18n: "deleted" is a keyword
 msgid "deleted takes no arguments"
@@ -16841,12 +17441,12 @@
 
 msgid ""
 "``unknown()``\n"
-"    File that is unknown according to status. These files will only be\n"
+"    File that is unknown according to :hg:`status`. These files will only "
+"be\n"
 "    considered if this predicate is used."
 msgstr ""
 "``unknown()``\n"
-"    未知ステータスを持つファイル。\n"
-"    本述語が指定された時のみ、\n"
+"    :hg:`status` で未知状態を持つファイル。 本述語が指定された時のみ、\n"
 "    作業領域中の未知ファイルが Mercurial の取り扱い対象になります。"
 
 #. i18n: "unknown" is a keyword
@@ -16855,12 +17455,12 @@
 
 msgid ""
 "``ignored()``\n"
-"    File that is ignored according to status. These files will only be\n"
+"    File that is ignored according to :hg:`status`. These files will only "
+"be\n"
 "    considered if this predicate is used."
 msgstr ""
 "``ignored()``\n"
-"    無視ステータスを持つファイル。\n"
-"    本述語が指定された時のみ、\n"
+"    :hg:`status` で無視状態を持つファイル。 本述語が指定された時のみ、\n"
 "    作業領域中の無視対象ファイルが Mercurial の取り扱い対象になります。"
 
 #. i18n: "ignored" is a keyword
@@ -16869,10 +17469,10 @@
 
 msgid ""
 "``clean()``\n"
-"    File that is clean according to status."
+"    File that is clean according to :hg:`status`."
 msgstr ""
 "``clean()``\n"
-"    変更無しステータスを持つファイル (※ 訳注: 第1親との比較)"
+"    :hg:`status` で変更無し状態を持つファイル (※ 訳注: 第1親との比較)"
 
 #. i18n: "clean" is a keyword
 msgid "clean takes no arguments"
@@ -16913,10 +17513,10 @@
 
 msgid ""
 "``resolved()``\n"
-"    File that is marked resolved according to the resolve state."
+"    File that is marked resolved according to :hg:`resolve -l`."
 msgstr ""
 "``resolved()``\n"
-"    マージステータスが解消済みのファイル"
+"    :hg:`resolve -l` で解消済み状態のファイル"
 
 #. i18n: "resolved" is a keyword
 msgid "resolved takes no arguments"
@@ -16924,10 +17524,10 @@
 
 msgid ""
 "``unresolved()``\n"
-"    File that is marked unresolved according to the resolve state."
+"    File that is marked unresolved according to :hg:`resolve -l`."
 msgstr ""
 "``unresolved()``\n"
-"    マージステータスが未解消のファイル"
+"    :hg:`resolve -l` で未解消状態のファイル"
 
 #. i18n: "unresolved" is a keyword
 msgid "unresolved takes no arguments"
@@ -17104,18 +17704,16 @@
 msgid "bad (implicit)"
 msgstr "bad (推定)"
 
+#. i18n: "(EXPERIMENTAL)" is a keyword, must be translated consistently
+msgid "(EXPERIMENTAL)"
+msgstr "(実験的実装)"
+
 msgid "enabled extensions:"
 msgstr "有効化されているエクステンション:"
 
 msgid "disabled extensions:"
 msgstr "無効化されているエクステンション:"
 
-msgid "DEPRECATED"
-msgstr "非推奨"
-
-msgid "EXPERIMENTAL"
-msgstr "実験的実装"
-
 msgid " ([+] can be repeated)"
 msgstr " ([+] 印付きのオプションは複数回指定可能です)"
 
@@ -17356,6 +17954,36 @@
 "複数の設定ファイルを使用します。"
 
 msgid ""
+"Troubleshooting\n"
+"==============="
+msgstr ""
+"問題対処\n"
+"========"
+
+msgid ""
+"If you're having problems with your configuration,\n"
+":hg:`config --debug` can help you understand what is introducing\n"
+"a setting into your environment."
+msgstr ""
+"設定に関する問題が発生した場合、 :hg:`config --debug` を実行することで、\n"
+"どの設定項目が、 どのファイルで設定されているのかを、 知ることができます。"
+
+msgid ""
+"See :hg:`help config.syntax` and :hg:`help config.files`\n"
+"for information about how and where to override things."
+msgstr ""
+"設定ファイルの記述方法や、 ファイルの配置に関する詳細は、\n"
+":hg:`help config.syntax` および :hg:`help config.files`\n"
+"を参照してください。"
+
+msgid ""
+"Format\n"
+"======"
+msgstr ""
+"記述形式\n"
+"========"
+
+msgid ""
 "The configuration files use a simple ini-file format. A configuration\n"
 "file consists of sections, led by a ``[section]`` header and followed\n"
 "by ``name = value`` entries::"
@@ -17376,11 +18004,10 @@
 
 msgid ""
 "The above entries will be referred to as ``ui.username`` and\n"
-"``ui.verbose``, respectively. See the Syntax section below."
-msgstr ""
-"上記記述はそれぞれ、\n"
-"``ui.username`` および ``ui.verbose`` として参照されます。\n"
-"後述する文法の詳細を参照してください。"
+"``ui.verbose``, respectively. See :hg:`help config.syntax`."
+msgstr ""
+"上記記述はそれぞれ、 ``ui.username`` および ``ui.verbose``\n"
+"として参照されます。 詳細は :hg:`help config.syntax` を参照してください。"
 
 msgid ""
 "Files\n"
@@ -17436,7 +18063,7 @@
 "  - ``<インストール先>/etc/mercurial/hgrc.d/*.rc`` (インストール毎設定)\n"
 "  - ``/etc/mercurial/hgrc`` (システム毎設定)\n"
 "  - ``/etc/mercurial/hgrc.d/*.rc`` (システム毎設定)\n"
-"  - ``<パッケージ固有>/default.d/*.rc`` (デフォルト)"
+"  - ``<パッケージ固有>/default.d/*.rc`` (デフォルト設定)"
 
 msgid "  On Windows, the following files are consulted:"
 msgstr "  Windows 環境では、 以下のファイルが読み込まれます:"
@@ -17447,9 +18074,9 @@
 "  - ``%USERPROFILE%\\Mercurial.ini`` (per-user)\n"
 "  - ``%HOME%\\.hgrc`` (per-user)\n"
 "  - ``%HOME%\\Mercurial.ini`` (per-user)\n"
-"  - ``<install-dir>\\Mercurial.ini`` (per-installation)\n"
+"  - ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (per-installation)\n"
 "  - ``<install-dir>\\hgrc.d\\*.rc`` (per-installation)\n"
-"  - ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (per-installation)\n"
+"  - ``<install-dir>\\Mercurial.ini`` (per-installation)\n"
 "  - ``<internal>/default.d/*.rc`` (defaults)"
 msgstr ""
 "  - ``<リポジトリ>/.hg/hgrc`` (リポジトリ毎設定)\n"
@@ -17457,10 +18084,10 @@
 "  - ``%USERPROFILE%\\Mercurial.ini`` (ユーザ毎設定)\n"
 "  - ``%HOME%\\.hgrc`` (ユーザ毎設定)\n"
 "  - ``%HOME%\\Mercurial.ini`` (ユーザ毎設定)\n"
-"  - ``<インストール先>\\Mercurial.ini`` (インストール毎設定)\n"
+"  - ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (インストール毎設定)\n"
 "  - ``<インストール先>\\hgrc.d\\*.rc`` (インストール毎設定)\n"
-"  - ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (インストール毎設定)\n"
-"  - ``<パッケージ固有>/default.d/*.rc`` (デフォルト)"
+"  - ``<インストール先>\\Mercurial.ini`` (インストール毎設定)\n"
+"  - ``<パッケージ固有>/default.d/*.rc`` (デフォルト設定)"
 
 msgid ""
 "   The registry key ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node"
@@ -17489,7 +18116,7 @@
 "  - ``<インストール先>/lib/mercurial/hgrc.d/*.rc`` (インストール毎設定)\n"
 "  - ``/lib/mercurial/hgrc`` (システム毎設定)\n"
 "  - ``/lib/mercurial/hgrc.d/*.rc`` (システム毎設定)\n"
-"  - ``<パッケージ固有>/default.d/*.rc`` (デフォルト)"
+"  - ``<パッケージ固有>/default.d/*.rc`` (デフォルト設定)"
 
 msgid ""
 "Per-repository configuration options only apply in a\n"
@@ -17497,15 +18124,15 @@
 "will not get transferred during a \"clone\" operation. Options in\n"
 "this file override options in all other configuration files. On\n"
 "Plan 9 and Unix, most of this file will be ignored if it doesn't\n"
-"belong to a trusted user or to a trusted group. See the documentation\n"
-"for the ``[trusted]`` section below for more details."
+"belong to a trusted user or to a trusted group. See\n"
+":hg:`help config.trusted` for more details."
 msgstr ""
 "リポジトリ毎設定は、 対象リポジトリに関する実行でのみ適用されます。\n"
 "このファイルは、 履歴管理の対象外であり、 :hg:`clone` でも複製されません。\n"
 "ここでの設定は、 他の全ての設定に優先します。 Plan9 や Unix 環境では、\n"
 "設定ファイルの所有者やグループが、 信頼できるユーザやグループでない場合、\n"
-"設定内容の大半が無視されます。 詳細は ``trusted`` セクションの説明を、\n"
-"別途参照してください。"
+"設定内容の大半が無視されます。 詳細は :hg:`help config.trusted`\n"
+"を参照してください。"
 
 msgid ""
 "Per-user configuration file(s) are for the user running Mercurial. On\n"
@@ -17694,8 +18321,8 @@
 msgstr ""
 "上記の設定記述の場合、\n"
 "``foo`` セクションの\n"
-"``eggs``、 ``ham`` および ``bread`` 設定キーの値はそれぞれ\n"
-"``medium``、 ``prosciutto`` および ``toasted`` となります。\n"
+"``eggs``, ``ham`` および ``bread`` 設定キーの値はそれぞれ\n"
+"``medium``, ``prosciutto`` および ``toasted`` となります。\n"
 "各設定キー毎に、 最後に設定された値が有効になるのです。"
 
 msgid ""
@@ -17790,16 +18417,17 @@
 "``alias``\n"
 "---------"
 
-msgid ""
-"Defines command aliases.\n"
+msgid "Defines command aliases."
+msgstr "コマンドの別名 (エイリアス) 定義。"
+
+msgid ""
 "Aliases allow you to define your own commands in terms of other\n"
 "commands (or aliases), optionally including arguments. Positional\n"
-"arguments in the form of ``$1``, ``$2``, etc in the alias definition\n"
+"arguments in the form of ``$1``, ``$2``, etc. in the alias definition\n"
 "are expanded by Mercurial before execution. Positional arguments not\n"
 "already used by ``$N`` in the definition are put at the end of the\n"
 "command to be executed."
 msgstr ""
-"コマンドの別名 (エイリアス) 定義。\n"
 "別名は、 他のコマンド (またはエイリアス) や、 付加的な引数を使って、\n"
 "自分独自のコマンドの定義を可能にします。\n"
 "別名定義における ``$1`` や ``$2`` のような位置指定引数は、\n"
@@ -17917,13 +18545,13 @@
 
 msgid ""
 "Settings used when displaying file annotations. All values are\n"
-"Booleans and default to False. See ``diff`` section for related\n"
-"options for the diff command."
+"Booleans and default to False. See :hg:`help config.diff` for\n"
+"related options for the diff command."
 msgstr ""
 "ファイル中の行の由来表示に関する設定。\n"
 "全ての値が真偽値で、 デフォルト値は False です。\n"
 "diff コマンドに関連するオプションの詳細は、\n"
-"``diff`` セクションを参照してください。"
+":hg:`help config.diff` を参照してください。"
 
 msgid ""
 "``ignorews``\n"
@@ -17958,13 +18586,13 @@
 msgid ""
 "Authentication credentials for HTTP authentication. This section\n"
 "allows you to store usernames and passwords for use when logging\n"
-"*into* HTTP servers. See the ``[web]`` configuration section if\n"
+"*into* HTTP servers. See :hg:`help config.web` if\n"
 "you want to configure *who* can login to your HTTP server."
 msgstr ""
 "HTTP 認証のための認証情報。 本セクションでは、 HTTP \n"
 "サーバへのログインで使用される、 ユーザ名/パスワードを記述します。\n"
 "HTTP サーバ側において、 ログイン可能ユーザを制御する場合の詳細は、\n"
-"``[web]`` セクションを参照してください。"
+":hg:`help config.web` を参照してください。"
 
 msgid "Each line has the following format::"
 msgstr "設定は以下の形式で記述されます::"
@@ -18071,13 +18699,13 @@
 "    authentication entry with. Only used if the prefix doesn't include\n"
 "    a scheme. Supported schemes are http and https. They will match\n"
 "    static-http and static-https respectively, as well.\n"
-"    Default: https."
+"    (default: https)"
 msgstr ""
 "``schemes``\n"
 "    省略可能。 空白で区切った、 認証で使用される URI scheme の一覧。\n"
 "    prefix 引数に scheme が含まれない場合にのみ使用されます。\n"
 "    http および https が指定可能です。 それぞれ static-http および\n"
-"    static-https にもマッチします。 デフォルト値: https"
+"    static-https にもマッチします。 (デフォルト値: https)"
 
 msgid ""
 "If no suitable authentication entry is found, the user is prompted\n"
@@ -18096,11 +18724,13 @@
 "------------------"
 
 msgid ""
-"``changeset`` configuration in this section is used as the template to\n"
-"customize the text shown in the editor when committing."
-msgstr ""
-"本セクションでの ``changeset`` 設定は、 コミット時のエディタ起動の際に、\n"
-"表示されるテキストのカスタマイズに使用されます。"
+"``changeset``\n"
+"    String: configuration in this section is used as the template to\n"
+"    customize the text shown in the editor when committing."
+msgstr ""
+"``changeset``\n"
+"    文字列: 本セクションでの ``changeset`` 設定は、 コミット時に、\n"
+"    エディタで表示されるテキストの、 カスタマイズに使用されます。"
 
 msgid ""
 "In addition to pre-defined template keywords, commit log specific one\n"
@@ -18166,10 +18796,10 @@
 "   本機能によるカスタマイズは、 表示内容が崩れないように注意が必要です。"
 
 msgid ""
-"   For example, if multibyte character ending with backslash (0x5c) is\n"
-"   followed by ASCII character 'n' in the customized template,\n"
-"   sequence of backslash and 'n' is treated as line-feed unexpectedly\n"
-"   (and multibyte character is broken, too)."
+"   For example, if a multibyte character ending with backslash (0x5c) is\n"
+"   followed by the ASCII character 'n' in the customized template,\n"
+"   the sequence of backslash and 'n' is treated as line-feed unexpectedly\n"
+"   (and the multibyte character is broken, too)."
 msgstr ""
 "   例えば、 バックスラッシュ (0x5c) で終了する複数バイト文字が、 ASCII\n"
 "   文字の ``n`` を後ろに伴うようなテンプレート定義では、 この2バイトが、\n"
@@ -18285,9 +18915,10 @@
 "実行に影響します。"
 
 msgid ""
-"At the external editor invocation for committing, corresponding\n"
-"dot-separated list of names without ``changeset.`` prefix\n"
-"(e.g. ``commit.normal.normal``) is in ``HGEDITFORM`` environment variable."
+"When the external editor is invoked for a commit, the corresponding\n"
+"dot-separated list of names without the ``changeset.`` prefix\n"
+"(e.g. ``commit.normal.normal``) is in the ``HGEDITFORM`` environment\n"
+"variable."
 msgstr ""
 "コミットメッセージ入力用の、 外部エディタを起動する際には、 項目名冒頭の\n"
 "``changeset.`` を除いたドット区切り名 (例: ``commit.normal.normal``) が、\n"
@@ -18426,8 +19057,8 @@
 "``defaults``\n"
 "------------"
 
-msgid "(defaults are deprecated. Don't use them. Use aliases instead)"
-msgstr "(defaults の使用は非推奨です。 alias を使用してください)"
+msgid "(defaults are deprecated. Don't use them. Use aliases instead.)"
+msgstr "(defaults の使用は非推奨です。 alias を使用してください。)"
 
 msgid ""
 "Use the ``[defaults]`` section to define command defaults, i.e. the\n"
@@ -18472,13 +19103,13 @@
 
 msgid ""
 "Settings used when displaying diffs. Everything except for ``unified``\n"
-"is a Boolean and defaults to False. See ``annotate`` section for\n"
-"related options for the annotate command."
+"is a Boolean and defaults to False. See :hg:`help config.annotate`\n"
+"for related options for the annotate command."
 msgstr ""
 "差分表示の設定。 ``unified`` 以外の全ての設定は真偽値で、\n"
 "デフォルト値は False です。\n"
 "annotate コマンドに関連するオプションの詳細は、\n"
-"``annotate`` セクションを参照してください。"
+":hg:`help config.annotate` を参照してください。"
 
 msgid ""
 "``git``\n"
@@ -18591,8 +19222,8 @@
 "    containing patches of outgoing messages will be encoded in the\n"
 "    first character set to which conversion from local encoding\n"
 "    (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct\n"
-"    conversion fails, the text in question is sent as is. Defaults to\n"
-"    empty (explicit) list."
+"    conversion fails, the text in question is sent as is.\n"
+"    (default: '')"
 msgstr ""
 "``charsets``\n"
 "    省略可能。 宛先において都合の良い文字符号化方式のカンマ区切り。\n"
@@ -18600,7 +19231,7 @@
 "    のマルチパート部分は、 ローカル符号化方式 (``$HGENCODING`` または\n"
 "    ``ui.fallbackencoding`` で指定) からの変換に成功した、\n"
 "    「最初の」符号化方式で符号化されます。 変換に失敗した場合、\n"
-"    そのままのデータが送信されます。 デフォルトの設定は空のリストです。"
+"    そのままのデータが送信されます。 (デフォルト値: '')"
 
 msgid "    Order of outgoing email character sets:"
 msgstr "    電子メールの文字符号化方式は以下の順序で確定します:"
@@ -18820,8 +19451,7 @@
 "action. Overriding a site-wide hook can be done by changing its\n"
 "value or setting it to an empty string.  Hooks can be prioritized\n"
 "by adding a prefix of ``priority`` to the hook name on a new line\n"
-"and setting the priority.  The default priority is 0 if\n"
-"not specified."
+"and setting the priority. The default priority is 0."
 msgstr ""
 "commit の開始/終了といった様々な処理契機において、\n"
 "自動実行されるコマンド、または Python 関数。 \n"
@@ -18908,13 +19538,13 @@
 "``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``; see \"preoutgoing\" hook for description."
+"  ``$HG_SOURCE``; Also see :hg:`help config.preoutgoing` hook."
 msgstr ""
 "``outgoing``\n"
 "  他リポジトリへの変更反映完了後に実行されます。\n"
 "  新規追加リビジョン群の最初の ID が ``$HG_NODE`` に、\n"
 "  操作実施契機が ``$HG_SOURCE`` に設定されます。\n"
-"  \"preoutgoing\" フックの説明も参照してください。"
+"  :hg:`help config.preoutgoing` フックの説明も参照してください。"
 
 msgid ""
 "``post-<command>``\n"
@@ -19095,24 +19725,23 @@
 "``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 ``pretxnclose`` docs for details about\n"
-"  available variables."
+"  after the lock is released. See :hg:`help config.pretxnclose` docs for\n"
+"  details about available variables."
 msgstr ""
 "``txnclose``\n"
 "  トランザクション完了直後に実行されます。 このフックの実行結果は、\n"
 "  トランザクションのロールバックを生じません。 フック実行に先立って、\n"
-"  排他は解放されます。 参照可能な変数の詳細に関しては ``pretxnclose``\n"
-"  の説明を参照してください。"
+"  排他は解放されます。 参照可能な変数の詳細に関しては\n"
+"  :hg:`help config.pretxnclose` の説明を参照してください。"
 
 msgid ""
 "``txnabort``\n"
-"  Run when a transaction is aborted. See ``pretxnclose`` docs for details "
-"about\n"
-"  available variables."
+"  Run when a transaction is aborted. See :hg:`help config.pretxnclose`\n"
+"  docs for details about available variables."
 msgstr ""
 "``txnabort``\n"
 "  トランザクション中断時に実行されます。 参照可能な変数の詳細に関しては\n"
-"  ``pretxnclose`` の説明を参照してください。"
+"  :hg:`help config.pretxnclose` の説明を参照してください。"
 
 msgid ""
 "``pretxnchangegroup``\n"
@@ -19373,11 +20002,11 @@
 msgid ""
 "``always``\n"
 "    Optional. Always use the proxy, even for localhost and any entries\n"
-"    in ``http_proxy.no``. True or False. Default: False."
+"    in ``http_proxy.no``. (default: False)"
 msgstr ""
 "``always``\n"
 "    省略可能。 ``http_proxy.no`` を無視して、 プロキシを常用するか否か。\n"
-"    真偽値。 デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``merge-patterns``\n"
@@ -19446,10 +20075,17 @@
 
 msgid ""
 "  # Changing the priority of preconfigured tool\n"
-"  vimdiff.priority = 0"
-msgstr ""
-"  # 設定済みツール間での優先度の変更\n"
-"  vimdiff.priority = 0"
+"  meld.priority = 0"
+msgstr ""
+"  # 設定済みツールの優先度の変更\n"
+"  meld.priority = 0"
+
+msgid ""
+"  # Disable a preconfigured tool\n"
+"  vimdiff.disabled = yes"
+msgstr ""
+"  # 設定済みツールの無効化\n"
+"  vimdiff.disabled = yes"
 
 msgid ""
 "  # Define new tool\n"
@@ -19465,21 +20101,21 @@
 msgid ""
 "``priority``\n"
 "  The priority in which to evaluate this tool.\n"
-"  Default: 0."
+"  (default: 0)"
 msgstr ""
 "``priority``\n"
-"  当該ツールを選択する際の優先順位。 デフォルト値: 0"
+"  当該ツールを選択する際の優先順位。 (デフォルト値: 0)"
 
 msgid ""
 "``executable``\n"
 "  Either just the name of the executable or its pathname.  On Windows,\n"
 "  the path can use environment variables with ${ProgramFiles} syntax.\n"
-"  Default: the tool name."
+"  (default: the tool name)"
 msgstr ""
 "``executable``\n"
 "  実行可能ファイル名またはパス名。 Windows 環境では、\n"
 "  ${ProgramFiles} 環境変数を併用した記述が使用可能です。\n"
-"  デフォルト値: ツール名が自動的に設定"
+"  (デフォルト値: ツール名が自動的に設定)"
 
 msgid ""
 "``args``\n"
@@ -19493,7 +20129,7 @@
 "  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``"
+"  (default: ``$local $base $other``)"
 msgstr ""
 "``args``\n"
 "  実行時にツールに指定される引数。 ``$base``, ``$local``, ``$other``, \n"
@@ -19503,8 +20139,8 @@
 "  はコマンド実施前時点の作業領域の、 ``$other`` は対象リビジョン時点の、\n"
 "  それぞれの内容を保持するファイルを指します。 一方で rebase の場合は、\n"
 "  ``$local`` が rebase 先、 ``$other`` が rebase 元リビジョン時点の、\n"
-"  それぞれの内容を保持するファイルを指します。デフォルト値:\n"
-"  ``$local $base $other``"
+"  それぞれの内容を保持するファイルを指します。\n"
+"  (デフォルト値: ``$local $base $other``)"
 
 msgid ""
 "``premerge``\n"
@@ -19516,7 +20152,7 @@
 "information\n"
 "  about the base of the merge in the marker (see internal :merge3 in\n"
 "  :hg:`help merge-tools`).\n"
-"  Default: True"
+"  (default: True)"
 msgstr ""
 "``premerge``\n"
 "  外部ツール起動前の、 非対話的な内部 3-way マージツール実行の有無。\n"
@@ -19524,12 +20160,12 @@
 "  事前マージが失敗した場合、 ``keep`` はマージマークをファイルに残します。\n"
 "  ``keep-merge3`` はマージ対象に関する情報を残す点以外は ``keep``\n"
 "  と同じ動作です (内部マージツール ``:merge3`` の説明も参照してください)\n"
-"  デフォルト値: True"
+"  (デフォルト値: True)"
 
 msgid ""
 "``binary``\n"
-"  This tool can merge binary files. Defaults to False, unless tool\n"
-"  was selected by file pattern match."
+"  This tool can merge binary files. (default: False, unless tool\n"
+"  was selected by file pattern match)"
 msgstr ""
 "``binary``\n"
 "  当該ツールによる、 バイナリファイルのマージ可否。 デフォルト値は False\n"
@@ -19538,13 +20174,10 @@
 
 msgid ""
 "``symlink``\n"
-"  This tool can merge symlinks. Defaults to False, even if tool was\n"
-"  selected by file pattern match."
+"  This tool can merge symlinks. (default: False)"
 msgstr ""
 "``symlink``\n"
-"  当該ツールによる、 シンボリックリンクのマージ可否。 デフォルト値は False\n"
-"  ですが、 ツールの選択が、 ファイルパターンの合致で実施された場合は、\n"
-"  この設定値は無視されます。"
+"  当該ツールによる、 シンボリックリンクのマージ可否。 (デフォルト値: False)"
 
 msgid ""
 "``check``\n"
@@ -19572,32 +20205,32 @@
 msgid ""
 "``fixeol``\n"
 "  Attempt to fix up EOL changes caused by the merge tool.\n"
-"  Default: False"
+"  (default: False)"
 msgstr ""
 "``fixeol``\n"
 "  マージツールの実行による EOL 形式変更の是正の有無。\n"
-"  デフォルト値: False"
+"  (デフォルト値: False)"
 
 msgid ""
 "``gui``\n"
-"  This tool requires a graphical interface to run. Default: False"
+"  This tool requires a graphical interface to run. (default: False)"
 msgstr ""
 "``gui``\n"
 "  当該ツール実行における GUI 表示の要否。\n"
-"  デフォルト値: False"
+"  (デフォルト値: False)"
 
 msgid ""
 "``regkey``\n"
 "  Windows registry key which describes install location of this\n"
 "  tool. Mercurial will search for this key first under\n"
 "  ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.\n"
-"  Default: None"
+"  (default: None)"
 msgstr ""
 "``regkey``\n"
 "  当該ツールのインストール位置を保持する Windows レジストリキー。\n"
 "  Mercurial は ``HKEY_CURRENT_USER`` または ``HKEY_LOCAL_MACHINE``\n"
 "  配下の当該キーの有無を、 この順序で確認します。\n"
-"  デフォルト値: None"
+"  (デフォルト値: None)"
 
 msgid ""
 "``regkeyalt``\n"
@@ -19605,34 +20238,32 @@
 "  found.  The alternate key uses the same ``regname`` and ``regappend``\n"
 "  semantics of the primary key.  The most common use for this key\n"
 "  is to search for 32bit applications on 64bit operating systems.\n"
-"  Default: None"
+"  (default: None)"
 msgstr ""
 "``regkeyalt``\n"
 "  指定されたレジストリキー不在時の、 代替 Windows レジストリキー。\n"
 "  ``regname`` および ``regappend`` による改変は、\n"
 "  代替キーでも実施されます。 典型的な用途は、\n"
 "  64 ビット環境における 32 ビットアプリの検索です。\n"
-"  デフォルト値: None"
+"  (デフォルト値: None)"
 
 msgid ""
 "``regname``\n"
-"  Name of value to read from specified registry key. Defaults to the\n"
-"  unnamed (default) value."
+"  Name of value to read from specified registry key.\n"
+"  (default: the unnamed (default) value)"
 msgstr ""
 "``regname``\n"
-"  当該レジストリキーから読み出す値の名前。 デフォルト値は、\n"
-"  ``(既定)`` からの読み出しです。"
+"  当該レジストリキーから読み出す値の名前。 (デフォルト値: ``(既定)`` の値)"
 
 msgid ""
 "``regappend``\n"
 "  String to append to the value read from the registry, typically\n"
 "  the executable name of the tool.\n"
-"  Default: None"
+"  (default: None)"
 msgstr ""
 "``regappend``\n"
 "  当該レジストリキーからの読み出し値に付加する値。 典型的な設定値は、\n"
-"  ツールの実行可能ファイル名です。\n"
-"  デフォルト値: None"
+"  ツールの実行可能ファイル名です。 (デフォルト値: None)"
 
 msgid ""
 "\n"
@@ -19660,7 +20291,7 @@
 "    endings in patched files are normalized to their original setting\n"
 "    on a per-file basis. If target file does not exist or has no end\n"
 "    of line, patch line endings are preserved.\n"
-"    Default: strict."
+"    (default: strict)"
 msgstr ""
 "``eol``\n"
 "    'strict' が設定された場合、 パッチファイルと、\n"
@@ -19673,18 +20304,18 @@
 "    パッチ対象ファイルの行末形式は、 ファイル毎の設定で正規化されます。\n"
 "    対象ファイルが存在しないか、 改行を含まない場合、\n"
 "    パッチファイルの行末形式がそのまま維持されます。\n"
-"    デフォルト値: strict"
+"    (デフォルト値: strict)"
 
 msgid ""
 "``fuzz``\n"
 "    The number of lines of 'fuzz' to allow when applying patches. This\n"
 "    controls how much context the patcher is allowed to ignore when\n"
 "    trying to apply a patch.\n"
-"    Default: 2"
+"    (default: 2)"
 msgstr ""
 "``fuzz``\n"
 "    パッチ適用での 'fuzz' における許容行数。 パッチ適用において、\n"
-"    無視可能なコンテキスト行数を制御できます。 デフォルト値: 2"
+"    無視可能なコンテキスト行数を制御できます。 (デフォルト値: 2)"
 
 msgid ""
 "``paths``\n"
@@ -19707,14 +20338,13 @@
 msgid ""
 "``default``\n"
 "    Directory or URL to use when pulling if no source is specified.\n"
-"    Default is set to repository from which the current repository was\n"
-"    cloned."
+"    (default: repository from which the current repository was cloned)"
 msgstr ""
 "``default``\n"
 "    連携先指定が無い場合に、 :hg:`pull` に類するコマンドの、\n"
 "    連携対象となるリポジトリのディレクトリ、 または URL。\n"
-"    当該リポジトリが :hg:`clone` で生成された場合、\n"
-"    複製元リポジトリの URL が自動的に設定されます。"
+"    (デフォルト値: :hg:`clone` による当該リポジトリの複製元)\n"
+"    (※ 訳注: :hg:`clone` による複製でないリポジトリでは、 手動設定が必要)"
 
 msgid ""
 "``default-push``\n"
@@ -19767,23 +20397,23 @@
 "    Controls draft phase behavior when working as a server. When true,\n"
 "    pushed changesets are set to public in both client and server and\n"
 "    pulled or cloned changesets are set to public in the client.\n"
-"    Default: True"
+"    (default: True)"
 msgstr ""
 "``publish``\n"
 "    サーバとして機能する際の、 draft フェーズに対する挙動の設定。\n"
 "    True の場合、 クライアントから反映されたリビジョンのフェーズは、\n"
 "    クライアント/サーバ双方で public 化され、 クライアントに取り込み、\n"
 "    または複製されたリビジョンのフェーズは、 クライアント側でのみ public\n"
-"    化されます。デフォルト値: True"
+"    化されます。(デフォルト値: True)"
 
 msgid ""
 "``new-commit``\n"
 "    Phase of newly-created commits.\n"
-"    Default: draft"
+"    (default: draft)"
 msgstr ""
 "``new-commit``\n"
 "    新規作成されるリビジョンのフェーズ。\n"
-"    デフォルト値: draft"
+"    (デフォルト値: draft)"
 
 msgid ""
 "``checksubrepos``\n"
@@ -19800,7 +20430,7 @@
 "    either aborted (if checksubrepos is set to \"abort\") or the higher "
 "phase is\n"
 "    used for the parent repository commit (if set to \"follow\").\n"
-"    Default: \"follow\""
+"    (default: follow)"
 msgstr ""
 "``checksubrepos``\n"
 "    サブリポジトリのフェーズ確認の有無。 \"ignore\"、 \"follow\" または\n"
@@ -19809,7 +20439,7 @@
 "    親リポジトリ側フェーズよりも、サブリポジトリ側の公開度合が低い場合\n"
 "    (例: 親側の \"draft\" に対して、サブリポジトリ側が \"secret\")、\n"
 "    コミット中断 (\"abort\" 時)か、 サブリポジトリ側フェーズ値でコミット\n"
-"    (\"follow\" 時)します。 デフォルト値: \"follow\""
+"    (\"follow\" 時)します。 (デフォルト値: follow)"
 
 msgid ""
 "\n"
@@ -19843,10 +20473,10 @@
 msgid ""
 "``type``\n"
 "    The type of profiler to use.\n"
-"    Default: ls."
+"    (default: ls)"
 msgstr ""
 "``type``\n"
-"    使用するプロファイラ種別。 デフォルト値: ls."
+"    使用するプロファイラ種別。 (デフォルト値: ls)"
 
 msgid ""
 "    ``ls``\n"
@@ -19870,11 +20500,11 @@
 msgid ""
 "``format``\n"
 "    Profiling format.  Specific to the ``ls`` instrumenting profiler.\n"
-"    Default: text."
+"    (default: text)"
 msgstr ""
 "``format``\n"
 "    プロファイル形式。 詳細プロファイラ ``ls`` 固有の設定。\n"
-"    デフォルト値: text"
+"    (デフォルト値: text)"
 
 msgid ""
 "    ``text``\n"
@@ -19896,42 +20526,42 @@
 msgid ""
 "``frequency``\n"
 "    Sampling frequency.  Specific to the ``stat`` sampling profiler.\n"
-"    Default: 1000."
+"    (default: 1000)"
 msgstr ""
 "``frequency``\n"
 "    サンプリング頻度。 サンプリングプロファイラ ``stat`` 固有の設定。\n"
-"    デフォルト値: 1000."
+"    (デフォルト値: 1000)"
 
 msgid ""
 "``output``\n"
 "    File path where profiling data or report should be saved. If the\n"
-"    file exists, it is replaced. Default: None, data is printed on\n"
-"    stderr"
+"    file exists, it is replaced. (default: None, data is printed on\n"
+"    stderr)"
 msgstr ""
 "``output``\n"
 "    プロファイルデータ、 または統計報告の保存先。\n"
 "    既存ファイルが指定された場合、 ファイルは上書きされます。\n"
-"    デフォルト値: None (結果は標準エラー出力から出力)"
+"    (デフォルト値: None = 標準エラー出力に結果を出力)"
 
 msgid ""
 "``sort``\n"
 "    Sort field.  Specific to the ``ls`` instrumenting profiler.\n"
 "    One of ``callcount``, ``reccallcount``, ``totaltime`` and\n"
 "    ``inlinetime``.\n"
-"    Default: inlinetime."
+"    (default: inlinetime)"
 msgstr ""
 "``sort``\n"
 "    出力の整列。 詳細プロファイラ ``ls`` 固有の設定。\n"
 "    ``callcount``, ``reccallcount``, ``totaltime`` または ``inlinetime``\n"
-"    から1つを指定してください。 デフォルト値: inlinetime"
+"    から1つを指定してください。 (デフォルト値: inlinetime)"
 
 msgid ""
 "``limit``\n"
 "    Number of lines to show. Specific to the ``ls`` instrumenting profiler.\n"
-"    Default: 30."
+"    (default: 30)"
 msgstr ""
 "``limit``\n"
-"    表示対象行数。 詳細プロファイラ ``ls`` 固有の設定。 デフォルト値: 30"
+"    表示対象行数。 詳細プロファイラ ``ls`` 固有の設定。 (デフォルト値: 30)"
 
 msgid ""
 "``nested``\n"
@@ -19939,12 +20569,12 @@
 "entry.\n"
 "    This can help explain the difference between Total and Inline.\n"
 "    Specific to the ``ls`` instrumenting profiler.\n"
-"    Default: 5."
+"    (default: 5)"
 msgstr ""
 "``nested``\n"
 "    個々のメインエントリ以後の、 掘り下げ (drill-down) 情報表示の、\n"
 "    最大行数。 Total と Inline の差の説明を助けます。\n"
-"    詳細プロファイラ ``ls`` 固有の設定。 デフォルト値: 5"
+"    詳細プロファイラ ``ls`` 固有の設定。 (デフォルト値: 5)"
 
 msgid ""
 "``progress``\n"
@@ -20016,31 +20646,31 @@
 "``width``\n"
 "    If set, the maximum width of the progress information (that is, min"
 "(width,\n"
-"    term width) will be used)"
+"    term width) will be used)."
 msgstr ""
 "``width``\n"
 "    進捗情報表示の最大幅 (画面幅と比較して、 小さい方の値を採用)"
 
 msgid ""
 "``clear-complete``\n"
-"    clear the progress bar after it's done (default to True)"
+"    Clear the progress bar after it's done. (default: True)"
 msgstr ""
 "``clear-complete``\n"
 "    処理終了後の進捗表示クリアの要否 (デフォルト値: True)"
 
 msgid ""
 "``disable``\n"
-"    If true, don't show a progress bar"
+"    If true, don't show a progress bar."
 msgstr ""
 "``disable``\n"
-"    true 設定時は、 進捗表示を抑止"
+"    true 設定時は、 進捗表示を抑止。"
 
 msgid ""
 "``assume-tty``\n"
-"    If true, ALWAYS show a progress bar, unless disable is given"
+"    If true, ALWAYS show a progress bar, unless disable is given."
 msgstr ""
 "``assume-tty``\n"
-"    true 設定時は、disable による禁止が無い限り、 常に進捗表示を実施"
+"    true 設定時は、disable による禁止が無い限り、 常に進捗表示を実施。"
 
 msgid ""
 "``revsetalias``\n"
@@ -20075,7 +20705,7 @@
 "    about 6 Mbps), uncompressed streaming is slower, because of the\n"
 "    extra data transfer overhead. This mode will also temporarily hold\n"
 "    the write lock while determining what data to transfer.\n"
-"    Default is True."
+"    (default: True)"
 msgstr ""
 "``uncompressed``\n"
 "    クライアントからの、非圧縮プロトコルでの :hg:`clone` 要求に対する、\n"
@@ -20087,32 +20717,32 @@
 "    では、 非圧縮形式の方が低速です。\n"
 "    転送データが確定するまでの間は、 非圧縮形式であっても、\n"
 "    一時的な書き込みロックが保持されます。\n"
-"    デフォルト値: True"
+"    (デフォルト値: True)"
 
 msgid ""
 "``preferuncompressed``\n"
 "    When set, clients will try to use the uncompressed streaming\n"
-"    protocol. Default is False."
+"    protocol. (default: False)"
 msgstr ""
 "``preferuncompressed``\n"
 "    真値が設定された場合、 クライアントは非圧縮での転送を試みます。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``validate``\n"
 "    Whether to validate the completeness of pushed changesets by\n"
 "    checking that all new file revisions specified in manifests are\n"
-"    present. Default is False."
+"    present. (default: False)"
 msgstr ""
 "``validate``\n"
 "    反映対象リビジョンの、 完全性検証の要否。\n"
 "    マニフェスト中の全ての更新情報が、 転送内容に含まれているか否かで、\n"
-"    データの完全性を確認します。 デフォルト値: False"
+"    データの完全性を確認します。 (デフォルト値: False)"
 
 msgid ""
 "``maxhttpheaderlen``\n"
 "    Instruct HTTP clients not to send request headers longer than this\n"
-"    many bytes. Default is 1024."
+"    many bytes. (default: 1024)"
 msgstr ""
 "``maxhttpheaderlen``\n"
 "    HTTP クライアントに対して、 このサイズ以上のヘッダを送信しないように、\n"
@@ -20137,22 +20767,22 @@
 
 msgid ""
 "``port``\n"
-"    Optional. Port to connect to on mail server. Default: 465 (if\n"
-"    ``tls`` is smtps) or 25 (otherwise)."
+"    Optional. Port to connect to on mail server. (default: 465 if\n"
+"    ``tls`` is smtps; 25 otherwise)"
 msgstr ""
 "``port``\n"
-"    省略可能。 メールサーバのポート番号。 デフォルト値: 465 (``tls``\n"
-"    設定が smtps の場合) あるいは 25 (それ以外)"
+"    省略可能。 メールサーバのポート番号。 (デフォルト値: ``tls``\n"
+"    設定が smtps の場合は 465、 それ以外は 25)"
 
 msgid ""
 "``tls``\n"
 "    Optional. Method to enable TLS when connecting to mail server: "
 "starttls,\n"
-"    smtps or none. Default: none."
+"    smtps or none. (default: none)"
 msgstr ""
 "``tls``\n"
 "    省略可能。 メールサーバ接続における TLS 接続の有無/方式の指定。\n"
-"    starttls、 smtps または none。 デフォルト値: none"
+"    starttls、 smtps または none。 (デフォルト値: none)"
 
 msgid ""
 "``verifycert``\n"
@@ -20163,7 +20793,7 @@
 "    ``[web] cacerts`` also). For \"strict\", sending email is also\n"
 "    aborted, if there is no configuration for mail server in\n"
 "    ``[hostfingerprints]`` and ``[web] cacerts``.  --insecure for\n"
-"    :hg:`email` overwrites this as \"loose\". Default: \"strict\"."
+"    :hg:`email` overwrites this as \"loose\". (default: strict)"
 msgstr ""
 "``verifycert``\n"
 "    省略可能。 ``tls`` 設定が starttls あるいは smtps の場合における、\n"
@@ -20173,33 +20803,33 @@
 "    も参照) \"strict\" の場合、 接続先メールサーバに関する設定が\n"
 "    ``[hostfingerprints]`` と ``[web] cacerts`` のいずれにも無い場合も、\n"
 "    メール送信が中断されます。 :hg:`email` に --insecure が指定された場合、\n"
-"    この設定値は \"loose\" で上書きされます。デフォルト値: \"strict\""
+"    この設定値は \"loose\" で上書きされます。(デフォルト値: strict)"
 
 msgid ""
 "``username``\n"
 "    Optional. User name for authenticating with the SMTP server.\n"
-"    Default: none."
+"    (default: None)"
 msgstr ""
 "``username``\n"
 "    省略可能。 メールサーバ接続の認証におけるユーザ名。\n"
-"    デフォルト値: none"
+"    (デフォルト値: None)"
 
 msgid ""
 "``password``\n"
 "    Optional. Password for authenticating with the SMTP server. If not\n"
 "    specified, interactive sessions will prompt the user for a\n"
-"    password; non-interactive sessions will fail. Default: none."
+"    password; non-interactive sessions will fail. (default: None)"
 msgstr ""
 "``password``\n"
 "    省略可能。 メールサーバ接続の認証におけるパスワード。\n"
 "    無指定の場合、 対話的な実行であれば、\n"
 "    パスワード入力プロンプトが表示されますが、\n"
 "    非対話的な実行であれば、 処理が中断されます。\n"
-"    デフォルト値: none"
+"    (デフォルト値: None)"
 
 msgid ""
 "``local_hostname``\n"
-"    Optional. It's the hostname that the sender can use to identify\n"
+"    Optional. The hostname that the sender can use to identify\n"
 "    itself to the MTA."
 msgstr ""
 "``local_hostname``\n"
@@ -20327,13 +20957,13 @@
 "    Whether to include the .hg_archival.txt file containing meta data\n"
 "    (hashes for the repository base and for tip) in archives created\n"
 "    by the :hg:`archive` command or downloaded via hgweb.\n"
-"    Default is True."
+"    (default: True)"
 msgstr ""
 "``archivemeta``\n"
 "    :hg:`archive` コマンドまたは hgweb 経由のダウンロードで得られる\n"
 "    アーカイブファイルへの、 メタデータ (リポジトリの初期リビジョンと、\n"
 "    アーカイブ対象リビジョンのハッシュ値) を保持する .hg_archival.txt\n"
-"    ファイル格納の有無。 デフォルト値: True"
+"    ファイル格納の有無。 (デフォルト値: True)"
 
 msgid ""
 "``askusername``\n"
@@ -20342,50 +20972,78 @@
 "will\n"
 "    be prompted to enter a username. If no username is entered, the\n"
 "    default ``USER@HOST`` is used instead.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``askusername``\n"
 "    コミットにおけるユーザ名問い合わせの有無。 True の場合、\n"
 "    ``$HGUSER`` も ``$EMAIL`` も設定されていなければ、\n"
 "    ユーザ名の問い合わせを行います。\n"
 "    ユーザ名が入力されない場合、 ``ユーザ名@ホスト名`` が使用されます。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
+
+msgid ""
+"``clonebundlefallback``\n"
+"    Whether failure to apply an advertised \"clone bundle\" from a server\n"
+"    should result in fallback to a regular clone."
+msgstr ""
+"``clonebundlefallback``\n"
+"    サーバからの \"clone bundle\" 要求が適用できなかった場合に、\n"
+"    代替として通常の clone 処理を行うか否か。"
+
+msgid ""
+"    This is disabled by default because servers advertising \"clone\n"
+"    bundles\" often do so to reduce server load. If advertised bundles\n"
+"    start mass failing and clients automatically fall back to a regular\n"
+"    clone, this would add significant and unexpected load to the server\n"
+"    since the server is expecting clone operations to be offloaded to\n"
+"    pre-generated bundles. Failing fast (the default behavior) ensures\n"
+"    clients don't overwhelm the server when \"clone bundle\" application\n"
+"    fails."
+msgstr ""
+"    \"clone bundles\" は、 サーバ側の負荷軽減のために要求されるため、\n"
+"    通常 clone 処理による代替は、 デフォルトでは無効化されています。\n"
+"    クライアントが \"clone bundles\" 代替として通常 clone 処理を行うと、\n"
+"    事前作成した bundle ファイルによる、 負荷低減を期待していたサーバは、\n"
+"    想定外の負荷を受けることになります。 \"clone bundles\" 適用不可時に、\n"
+"    処理を終了させることで、 異常な負荷によるサーバダウンを防ぎます。"
+
+msgid "    (default: False)"
+msgstr "    (デフォルト値: False)"
 
 msgid ""
 "``commitsubrepos``\n"
 "    Whether to commit modified subrepositories when committing the\n"
 "    parent repository. If False and one subrepository has uncommitted\n"
 "    changes, abort the commit.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``commitsubrepos``\n"
 "    親リポジトリのコミットにおける、 サブリポジトリ変更のコミットの要否。\n"
 "    False の場合に、 変更が未コミットなサブリポジトリがあれば、\n"
-"    コミット処理は中断されます。 デフォルト値: False"
+"    コミット処理は中断されます。 (デフォルト値: False)"
 
 msgid ""
 "``debug``\n"
-"    Print debugging information. True or False. Default is False."
+"    Print debugging information. (default: False)"
 msgstr ""
 "``debug``\n"
-"    デバッグ情報表示要否の真偽値。 デフォルト値: False"
+"    デバッグ情報表示要否の真偽値。 (デフォルト値: False)"
 
 msgid ""
 "``editor``\n"
-"    The editor to use during a commit. Default is ``$EDITOR`` or ``vi``."
+"    The editor to use during a commit. (default: ``$EDITOR`` or ``vi``)"
 msgstr ""
 "``editor``\n"
-"    コミットログ入力用エディタ。 無指定の場合、 ``$EDITOR`` または\n"
-"    ``vi`` が使用されます。"
+"    コミットログ入力用エディタ。 (デフォルト値: ``$EDITOR`` または ``vi``)"
 
 msgid ""
 "``fallbackencoding``\n"
 "    Encoding to try if it's not possible to decode the changelog using\n"
-"    UTF-8. Default is ISO-8859-1."
+"    UTF-8. (default: ISO-8859-1)"
 msgstr ""
 "``fallbackencoding``\n"
 "    UTF-8 によるコミットログの変換が失敗した場合に使用する符号化形式。\n"
-"    デフォルト値: ISO-8859-1"
+"    (デフォルト値: ISO-8859-1)"
 
 msgid ""
 "``ignore``\n"
@@ -20406,10 +21064,10 @@
 
 msgid ""
 "``interactive``\n"
-"    Allow to prompt the user. True or False. Default is True."
+"    Allow to prompt the user. (default: True)"
 msgstr ""
 "``interactive``\n"
-"    ユーザへの問い合わせ可否の真偽値。 デフォルト値: True"
+"    ユーザへの問い合わせ可否の真偽値。 (デフォルト値: True)"
 
 msgid ""
 "``logtemplate``\n"
@@ -20436,23 +21094,35 @@
 "    style uses the ``mergemarkertemplate`` setting to style the labels.\n"
 "    The ``basic`` style just uses 'local' and 'other' as the marker label.\n"
 "    One of ``basic`` or ``detailed``.\n"
-"    Default is ``basic``."
+"    (default: ``basic``)"
 msgstr ""
 "``mergemarkers``\n"
 "    マージで衝突が検出された際に、 ファイルに挿入される衝突マークの、\n"
 "    情報ラベル部分の形式。 ``detailed`` 形式では ``mergemarkertemplate``\n"
 "    によるテンプレート定義が使用されます。 ``basic`` 形式では ``local``\n"
 "    および ``other`` だけの単純なラベルになります。上記のいずれかのみ、\n"
-"    指定可能です。デフォルト値: ``basic``"
+"    指定可能です。 (デフォルト値: ``basic``)"
 
 msgid ""
 "``mergemarkertemplate``\n"
 "    The template used to print the commit description next to each conflict\n"
 "    marker during merge conflicts. See :hg:`help templates` for the "
 "template\n"
-"    format.\n"
+"    format."
+msgstr ""
+"``mergemarkertemplate``\n"
+"    マージで衝突が検出された際に、 ファイルに挿入される衝突マークを、\n"
+"    テンプレート機能を使って定義。 テンプレート機能自体に関する詳細は、\n"
+"    :hg:`help templates` を参照してください。"
+
+msgid ""
 "    Defaults to showing the hash, tags, branches, bookmarks, author, and\n"
-"    the first line of the commit description.\n"
+"    the first line of the commit description."
+msgstr ""
+"    デフォルト設定では、 ハッシュ値、タグ名、ブランチ名、ブックマーク、\n"
+"    ユーザ名および、 コミットログの一行目を表示します。"
+
+msgid ""
 "    If you use non-ASCII characters in names for tags, branches, bookmarks,\n"
 "    authors, and/or commit descriptions, you must pay attention to encodings "
 "of\n"
@@ -20464,12 +21134,7 @@
 "    markers is different from the encoding of the merged files,\n"
 "    serious problems may occur."
 msgstr ""
-"``mergemarkertemplate``\n"
-"    マージで衝突が検出された際に、 ファイルに挿入される衝突マークの、\n"
-"    テンプレート機能による定義。 テンプレート機能そのものに関する詳細は\n"
-"    :hg:`help templates` を参照してください。 デフォルト設定では、\n"
-"    ハッシュ値、タグ名、ブランチ名、ブックマーク、ユーザ名および、\n"
-"    コミットログの一行目を表示します。 タグ名、ブランチ名、ブックマーク、\n"
+"    タグ名、ブランチ名、ブックマーク、\n"
 "    ユーザ名、 コミットログのいずれかで非 ASCII 文字を使用している場合は、\n"
 "    マージ対象ファイルの文字コードに、 注意を払う必要があります。\n"
 "    テンプレート展開の際に、 非 ASCII 文字は ``--encoding`` オプション、\n"
@@ -20506,7 +21171,7 @@
 msgid ""
 "``portablefilenames``\n"
 "    Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.\n"
-"    Default is ``warn``.\n"
+"    (default: ``warn``)\n"
 "    If set to ``warn`` (or ``true``), a warning message is printed on POSIX\n"
 "    platforms, if a file with a non-portable filename is added (e.g. a file\n"
 "    with a name that can't be created on Windows because it contains "
@@ -20520,8 +21185,8 @@
 msgstr ""
 "``portablefilenames``\n"
 "    ファイル名可搬性確認の要否。\n"
-"    ``warn``、 ``ignore`` または ``abort`` のいずれか。\n"
-"    デフォルト値は ``warn``。\n"
+"    ``warn``, ``ignore`` または ``abort`` のいずれか。\n"
+"    (デフォルト値: ``warn``)\n"
 "    POSIX 環境における ``warn`` (または ``true``) 設定では、\n"
 "    可搬性の無い名前 (例: ``AUX`` のような予約語や、 ``:``\n"
 "    のような特殊文字を含んだり、 文字大小の問題で、\n"
@@ -20534,26 +21199,26 @@
 
 msgid ""
 "``quiet``\n"
-"    Reduce the amount of output printed. True or False. Default is False."
+"    Reduce the amount of output printed. (default: False)"
 msgstr ""
 "``quiet``\n"
-"    コマンド実行時のメッセージ表示抑止要否の真偽値。 デフォルト値: False"
+"    コマンド実行時のメッセージ表示抑止要否の真偽値。 (デフォルト値: False)"
 
 msgid ""
 "``remotecmd``\n"
-"    remote command to use for clone/push/pull operations. Default is ``hg``."
+"    Remote command to use for clone/push/pull operations. (default: ``hg``)"
 msgstr ""
 "``remotecmd``\n"
-"    clone/push/pull 処理における遠隔実行コマンド。 デフォルト値: ``hg``"
+"    clone/push/pull 処理における遠隔実行コマンド。 (デフォルト値: ``hg``)"
 
 msgid ""
 "``report_untrusted``\n"
 "    Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a\n"
-"    trusted user or group. True or False. Default is True."
+"    trusted user or group. (default: True)"
 msgstr ""
 "``report_untrusted``\n"
 "    信頼できるユーザ/グループ下に無い ``.hg/hgrc``\n"
-"    の無視に対する、 警告要否の真偽値。 デフォルト値: True"
+"    の無視に対する、 警告要否の真偽値。 (デフォルト値: True)"
 
 msgid ""
 "``slash``\n"
@@ -20561,13 +21226,13 @@
 "    only makes a difference on systems where the default path\n"
 "    separator is not the slash character (e.g. Windows uses the\n"
 "    backslash character (``\\``)).\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``slash``\n"
 "    パス区切りでのスラッシュ (``/``) 使用の要否。\n"
 "    パス区切りがスラッシュではない環境 (例: バックスラッシュ (``\\``)\n"
 "    を使用する Windows 環境) でのみ意味を持ちます。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``statuscopies``\n"
@@ -20578,19 +21243,19 @@
 
 msgid ""
 "``ssh``\n"
-"    command to use for SSH connections. Default is ``ssh``."
+"    Command to use for SSH connections. (default: ``ssh``)"
 msgstr ""
 "``ssh``\n"
-"    SSH 接続に使用するコマンド。 デフォルト値: ``ssh``"
+"    SSH 接続に使用するコマンド。 (デフォルト値: ``ssh``)"
 
 msgid ""
 "``strict``\n"
 "    Require exact command names, instead of allowing unambiguous\n"
-"    abbreviations. True or False. Default is False."
+"    abbreviations. (default: False)"
 msgstr ""
 "``strict``\n"
 "    コマンド名指定の厳密性要否 (= 省略指定の禁止) の真偽値。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``style``\n"
@@ -20600,55 +21265,69 @@
 "    コマンド出力に使用するスタイル名指定。"
 
 msgid ""
+"``supportcontact``\n"
+"    A URL where users should report a Mercurial traceback. Use this if you "
+"are a\n"
+"    large organisation with its own Mercurial deployment process and crash\n"
+"    reports should be addressed to your internal support."
+msgstr ""
+"``supportcontact``\n"
+"    異常終了時のトレースバックの報告先 URL。 大きな組織で利用する際に、\n"
+"    Mercurial 実行時の障害対処を、 内部サポートで受理するようなケースで、\n"
+"    使用してください。"
+
+msgid ""
 "``timeout``\n"
 "    The timeout used when a lock is held (in seconds), a negative value\n"
-"    means no timeout. Default is 600."
+"    means no timeout. (default: 600)"
 msgstr ""
 "``timeout``\n"
 "    ロック解放待ちにおけるタイムアウト時間指定 (単位: 秒)。\n"
-"    負値はタイムアウト無しを意味します。 デフォルト値: 600"
+"    負値はタイムアウト無しを意味します。 (デフォルト値: 600)"
 
 msgid ""
 "``traceback``\n"
 "    Mercurial always prints a traceback when an unknown exception\n"
 "    occurs. Setting this to True will make Mercurial print a traceback\n"
 "    on all exceptions, even those recognized by Mercurial (such as\n"
-"    IOError or MemoryError). Default is False."
+"    IOError or MemoryError). (default: False)"
 msgstr ""
 "``traceback``\n"
 "    Mercurial は未知の例外のみ、 トレースバックを表示します。\n"
 "    本設定が True の際は、 Mercurial の既知の例外 (IOError や\n"
 "    MemoryError) であっても、トレースバックを表示します。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``username``\n"
 "    The committer of a changeset created when running \"commit\".\n"
 "    Typically a person's name and email address, e.g. ``Fred Widget\n"
-"    <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. "
-"If\n"
-"    the username in hgrc is empty, it has to be specified manually or\n"
-"    in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set\n"
-"    ``username =``  in the system hgrc). Environment variables in the\n"
+"    <fred@example.com>``. Environment variables in the\n"
 "    username are expanded."
 msgstr ""
 "``username``\n"
 "    :hg:`commit` での新規リビジョン作成で記録されるユーザ名。\n"
 "    個人名と電子メールアドレスを使用するのが一般的です。\n"
-"    (例: ``Fred Widget <fred@example.com>``)\n"
-"    無指定の場合、 ``$EMAIL`` 指定値、 または ``ユーザ名@ホスト名``\n"
-"    が使用されます。 設定ファイルで username に空値が指定された場合、\n"
-"    (Mercurial の問い合わせを契機に) 手動で指定するか、\n"
-"    他の設定ファイル (例: システム毎設定ファイルで ``username =``\n"
-"    が記述された場合は ``$HOME/.hgrc``) での設定が必要です。\n"
-"    username 指定値では、 環境変数の置換が実施されます。"
+"    (例: ``Fred Widget <fred@example.com>``) 設定値中の環境変数は、\n"
+"    展開されます。"
+
+msgid ""
+"    (default: ``$EMAIL`` or ``username@hostname``. If the username in\n"
+"    hgrc is empty, e.g. if the system admin set ``username =``  in the\n"
+"    system hgrc, it has to be specified manually or in a different\n"
+"    hgrc file)"
+msgstr ""
+"    (デフォルト値: ``$EMAIL`` 環境変数値、 または ``ユーザ名@ホスト名``)\n"
+"    例えば、 システム毎設定ファイルでの ``username =`` 記述のような、\n"
+"    空値が設定された場合、 (Mercurial からの問い合わせを契機に)\n"
+"    手動で指定するか、 他の設定ファイルでの設定が必要です。"
 
 msgid ""
 "``verbose``\n"
-"    Increase the amount of output printed. True or False. Default is False."
+"    Increase the amount of output printed. (default: False)"
 msgstr ""
 "``verbose``\n"
-"    出力情報量増加要否の真偽値。 デフォルト値: False"
+"    出力情報量増加要否の真偽値。 (デフォルト値: False)"
 
 msgid ""
 "\n"
@@ -20707,69 +21386,69 @@
 
 msgid ""
 "``accesslog``\n"
-"    Where to output the access log. Default is stdout."
+"    Where to output the access log. (default: stdout)"
 msgstr ""
 "``accesslog``\n"
-"    アクセスログの書き出し先。 無指定時は標準出力に出力。"
+"    アクセスログの書き出し先。 (デフォルト値: 標準出力)"
 
 msgid ""
 "``address``\n"
-"    Interface address to bind to. Default is all."
+"    Interface address to bind to. (default: all)"
 msgstr ""
 "``address``\n"
-"    サーバの待ちうけアドレス。 無指定時はホストの持つ全アドレス。"
+"    サーバの待ちうけアドレス。 (デフォルト値: ホストの持つ全アドレス)"
 
 msgid ""
 "``allow_archive``\n"
 "    List of archive format (bz2, gz, zip) allowed for downloading.\n"
-"    Default is empty."
+"    (default: empty)"
 msgstr ""
 "``allow_archive``\n"
 "    利用可能なダウンロード向けのアーカイブ形式 (bz2, gz, zip) 一覧。\n"
-"    デフォルト値: 空(ダウンロード不可)"
+"    (デフォルト値: 空 = ダウンロード不可)"
 
 msgid ""
 "``allowbz2``\n"
 "    (DEPRECATED) Whether to allow .tar.bz2 downloading of repository\n"
 "    revisions.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``allowbz2``\n"
 "    (非推奨) .tar.bz2 形式でのアーカイブダウンロードの可否。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``allowgz``\n"
 "    (DEPRECATED) Whether to allow .tar.gz downloading of repository\n"
 "    revisions.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``allowgz``\n"
 "    (非推奨) .tar.gz 形式でのアーカイブダウンロードの可否。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``allowpull``\n"
-"    Whether to allow pulling from the repository. Default is True."
+"    Whether to allow pulling from the repository. (default: True)"
 msgstr ""
 "``allowpull``\n"
-"    :hg:`pull` 要求への応答の可否。 デフォルト値: True"
+"    :hg:`pull` 要求への応答の可否。 (デフォルト値: True)"
 
 msgid ""
 "``allow_push``\n"
 "    Whether to allow pushing to the repository. If empty or not set,\n"
-"    push is not allowed. If the special value ``*``, any remote user can\n"
-"    push, including unauthenticated users. Otherwise, the remote user\n"
-"    must have been authenticated, and the authenticated user name must\n"
-"    be present in this list. The contents of the allow_push list are\n"
-"    examined after the deny_push list."
+"    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."
 msgstr ""
 "``allow_push``\n"
 "    :hg:`push` 要求への応答の可否。 空または未設定の場合、 :hg:`push`\n"
 "    要求は受理されません。 ``*`` が設定された場合、 未認証ユーザを含む、\n"
-"    全てのユーザが :hg:`push` できます。 他の値が設定された場合、\n"
-"    認証されたユーザのうち、 本項目で名前が列挙されたユーザのみが、\n"
-"    :hg:`push` できます。 本設定の確認実施は、 ``deny_push``\n"
+"    全てのユーザが :hg:`push` 可能です。 ``*`` 以外が設定された場合、\n"
+"    ユーザ認証が必須となり、 本項目で名前が列挙されたユーザのみが、\n"
+"    :hg:`push` 可能です。 本設定の確認実施は、 ``deny_push``\n"
 "    確認の後です。"
 
 msgid ""
@@ -20795,21 +21474,22 @@
 msgid ""
 "``allowzip``\n"
 "    (DEPRECATED) Whether to allow .zip downloading of repository\n"
-"    revisions. Default is False. This feature creates temporary files."
+"    revisions. This feature creates temporary files.\n"
+"    (default: False)"
 msgstr ""
 "``allowzip``\n"
 "    (非推奨) .zip 形式でのアーカイブダウンロードの可否。\n"
 "    本機能を有効にした場合、 一時ファイルが作成されます。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``archivesubrepos``\n"
-"    Whether to recurse into subrepositories when archiving. Default is\n"
-"    False."
+"    Whether to recurse into subrepositories when archiving.\n"
+"    (default: False)"
 msgstr ""
 "``archivesubrepos``\n"
 "    アーカイブ作成における、 サブリポジトリへの再帰実施の有無。\n"
-"    デフォルト値: False"
+"    (デフォルト値: False)"
 
 msgid ""
 "``baseurl``\n"
@@ -20883,10 +21563,10 @@
 
 msgid ""
 "``cache``\n"
-"    Whether to support caching in hgweb. Defaults to True."
+"    Whether to support caching in hgweb. (default: True)"
 msgstr ""
 "``cache``\n"
-"    hgweb におけるキャッシュ利用の可否。 デフォルト値: True"
+"    hgweb におけるキャッシュ利用の可否。 (デフォルト値: True)"
 
 msgid ""
 "``certificate``\n"
@@ -20903,7 +21583,7 @@
 "    the current path are grouped behind navigable directory entries that\n"
 "    lead to the locations of these repositories. In effect, this setting\n"
 "    collapses each collection of repositories found within a subdirectory\n"
-"    into a single entry for that subdirectory. Default is False."
+"    into a single entry for that subdirectory. (default: False)"
 msgstr ""
 "``collapse``\n"
 "    ``descend`` が有効な場合、 サブディレクトリ配下のリポジトリ群も、\n"
@@ -20911,31 +21591,34 @@
 "    サブディレクトリ配下のリポジトリ群は、 対応パスへの誘導を行う、\n"
 "    専用ディレクトリ配下に、グループ化されます。 この設定によって、\n"
 "    サブディレクトリ配下のリポジトリ表示は、 単一の要素にまとめられます。\n"
-"    デフォルト値: Flase。"
+"    (デフォルト値: Flase)"
 
 msgid ""
 "``comparisoncontext``\n"
 "    Number of lines of context to show in side-by-side file comparison. If\n"
-"    negative or the value ``full``, whole files are shown. Default is 5.\n"
+"    negative or the value ``full``, whole files are shown. (default: 5)"
+msgstr ""
+"``comparisoncontext``\n"
+"    ファイルの差分比較を表示する際の、 コンテキスト行数。 負値または\n"
+"    ``full`` 指定の場合、 ファイル全体が表示されます。 (デフォルト値: 5)"
+
+msgid ""
 "    This setting can be overridden by a ``context`` request parameter to "
 "the\n"
 "    ``comparison`` command, taking the same values."
 msgstr ""
-"``comparisoncontext``\n"
-"    ファイルの差分比較を表示する際の、 コンテキスト行数。 負値または\n"
-"    ``full`` 指定の場合、 ファイル全体が表示されます。 デフォルト値は 5。\n"
-"    ``comparison`` 要求時に ``context`` パラメータを指定することで、\n"
+"    ``comparison`` 処理要求時に ``context`` パラメータを指定することで、\n"
 "    設定を上書き可能です。"
 
 msgid ""
 "``contact``\n"
 "    Name or email address of the person in charge of the repository.\n"
-"    Defaults to ui.username or ``$EMAIL`` or \"unknown\" if unset or empty."
+"    (default: ui.username or ``$EMAIL`` or \"unknown\" if unset or empty)"
 msgstr ""
 "``contact``\n"
 "    リポジトリ管理者の名前または電子メールアドレス。\n"
-"    無指定の場合、 ui.username 設定値、 ``$EMAIL`` 設定値が、\n"
-"    それらも未設定/空値の場合は \"unknown\" が使用されます。"
+"    (デフォルト値: ui.username 設定値、 ``$EMAIL`` 設定値、\n"
+"    あるいは \"unknown\")"
 
 msgid ""
 "``deny_push``\n"
@@ -21001,26 +21684,26 @@
 msgid ""
 "``description``\n"
 "    Textual description of the repository's purpose or contents.\n"
-"    Default is \"unknown\"."
+"    (default: \"unknown\")"
 msgstr ""
 "``description``\n"
-"    リポジトリ内容/用途に関する説明テキスト。 デフォルト値: \"unknown\""
+"    リポジトリ内容/用途に関する説明テキスト。 (デフォルト値: \"unknown\")"
 
 msgid ""
 "``encoding``\n"
-"    Character encoding name. Default is the current locale charset.\n"
-"    Example: \"UTF-8\""
+"    Character encoding name. (default: the current locale charset)\n"
+"    Example: \"UTF-8\"."
 msgstr ""
 "``encoding``\n"
-"    文字符号化形式。 無指定の場合、 サーバ実行時のロケール設定を元に、\n"
-"    符号化形式が決定されます。 設定例: \"UTF-8\""
+"    文字符号化形式。 設定例: \"UTF-8\" (デフォルト値: サーバ実行時の、\n"
+"    ロケール設定を元に符号化形式が決定)"
 
 msgid ""
 "``errorlog``\n"
-"    Where to output the error log. Default is stderr."
+"    Where to output the error log. (default: stderr)"
 msgstr ""
 "``errorlog``\n"
-"    エラーログの書き出し先。 無指定時は標準エラー出力に出力。"
+"    エラーログの書き出し先。 (デフォルト値: 標準エラー出力)"
 
 msgid ""
 "``guessmime``\n"
@@ -21028,30 +21711,30 @@
 "    Set to True to let hgweb guess the content type from the file\n"
 "    extension. This will serve HTML files as ``text/html`` and might\n"
 "    allow cross-site scripting attacks when serving untrusted\n"
-"    repositories. Default is False."
+"    repositories. (default: False)"
 msgstr ""
 "``guessmime``\n"
 "    ファイル内容の直接ダウンロードにおける、 MIME 種別の制御。\n"
 "    True 設定の場合、 ファイルの拡張子を元に MIME 種別を推測します。\n"
 "    例えば、 HTML ファイルでは ``text/html`` が使用されますが、\n"
 "    信用できないリポジトリを公開した場合、 cross site scripting\n"
-"    攻撃の原因となる可能性があります。 デフォルト値: False"
+"    攻撃の原因となる可能性があります。 (デフォルト値: False)"
 
 msgid ""
 "``hidden``\n"
 "    Whether to hide the repository in the hgwebdir index.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``hidden``\n"
 "    ウェブインタフェースの、 ディレクトリ毎インデックスページにおける、\n"
-"    リポジトリ一覧隠蔽の要否。 デフォルト値: False"
+"    リポジトリ一覧隠蔽の要否。 (デフォルト値: False)"
 
 msgid ""
 "``ipv6``\n"
-"    Whether to use IPv6. Default is False."
+"    Whether to use IPv6. (default: False)"
 msgstr ""
 "``ipv6``\n"
-"    IPv6 利用の要否。 デフォルト値: False"
+"    IPv6 利用の要否。 (デフォルト値: False)"
 
 msgid ""
 "``logoimg``\n"
@@ -21068,67 +21751,86 @@
 
 msgid ""
 "``logourl``\n"
-"    Base URL to use for logos. If unset, ``http://mercurial.selenic.com/``\n"
+"    Base URL to use for logos. If unset, ``https://mercurial-scm.org/``\n"
 "    will be used."
 msgstr ""
 "``logourl``\n"
-"    ロゴ表示に使用するベース URL。 無指定時は\n"
-"    ``http://mercurial.selenic.com/``"
+"    ロゴ表示に使用するベース URL。 無指定時は ``http://mercurial-scm.org/``"
 
 msgid ""
 "``maxchanges``\n"
-"    Maximum number of changes to list on the changelog. Default is 10."
+"    Maximum number of changes to list on the changelog. (default: 10)"
 msgstr ""
 "``maxchanges``\n"
-"    changelog 画面における最大表示リビジョン数。 デフォルト値: 10"
+"    changelog 画面における最大表示リビジョン数。 (デフォルト値: 10)"
 
 msgid ""
 "``maxfiles``\n"
-"    Maximum number of files to list per changeset. Default is 10."
+"    Maximum number of files to list per changeset. (default: 10)"
 msgstr ""
 "``maxfiles``\n"
-"    リビジョンあたりの最大一覧表示ファイル数。 デフォルト値: 10"
+"    リビジョンあたりの最大一覧表示ファイル数。 (デフォルト値: 10)"
 
 msgid ""
 "``maxshortchanges``\n"
 "    Maximum number of changes to list on the shortlog, graph or filelog\n"
-"    pages. Default is 60."
+"    pages. (default: 60)"
 msgstr ""
 "``maxshortchanges``\n"
 "    shortlog, graph, filelog 画面における最大表示リビジョン数。\n"
-"    デフォルト値: 60"
+"    (デフォルト値: 60)"
 
 msgid ""
 "``name``\n"
-"    Repository name to use in the web interface. Default is current\n"
-"    working directory."
+"    Repository name to use in the web interface.\n"
+"    (default: current working directory)"
 msgstr ""
 "``name``\n"
-"    ウェブインタフェースで使用するリポジトリ名。 無指定の場合、\n"
-"    当該作業領域のディレクトリ。"
+"    ウェブインタフェースで使用するリポジトリ名。\n"
+"    (デフォルト値: 当該作業領域のディレクトリ名)"
 
 msgid ""
 "``port``\n"
-"    Port to listen on. Default is 8000."
+"    Port to listen on. (default: 8000)"
 msgstr ""
 "``port``\n"
-"    待ち受けポート番号。 デフォルト値: 8000"
+"    待ち受けポート番号。 (デフォルト値: 8000)"
 
 msgid ""
 "``prefix``\n"
-"    Prefix path to serve from. Default is '' (server root)."
+"    Prefix path to serve from. (default: '' (server root))"
 msgstr ""
 "``prefix``\n"
-"    サービス提供時の前置パス。 デフォルト値: '' (サーバールート)"
+"    サービス提供時の前置パス。 (デフォルト値: '' = サーバルート)"
 
 msgid ""
 "``push_ssl``\n"
 "    Whether to require that inbound pushes be transported over SSL to\n"
-"    prevent password sniffing. Default is True."
+"    prevent password sniffing. (default: True)"
 msgstr ""
 "``push_ssl``\n"
 "    :hg:`push` における SSL 接続要求 (パスワード盗聴防止 ) の要否。\n"
-"    デフォルト値: True"
+"    (デフォルト値: True)"
+
+msgid ""
+"``refreshinterval``\n"
+"    How frequently directory listings re-scan the filesystem for new\n"
+"    repositories, in seconds. This is relevant when wildcards are used\n"
+"    to define paths. Depending on how much filesystem traversal is\n"
+"    required, refreshing may negatively impact performance."
+msgstr ""
+"``refreshinterval``\n"
+"    新規リポジトリを一覧に表示するための、 ディレクトリ一覧の再取得を、\n"
+"    ファイルシステムに発行する頻度 (単位: 秒)。 ワイルドカードを使って、\n"
+"    パス指定するケースで有用です。 時間当たりの一覧再取得頻度の増加は、 \n"
+"    ファイルシステム走査の性能次第で、 実行性能が劣化します。"
+
+msgid ""
+"    Values less than or equal to 0 always refresh.\n"
+"    (default: 20)"
+msgstr ""
+"    0 又は負値は、 毎回再取得することを意味します。\n"
+"    (デフォルト値: 20)"
 
 msgid ""
 "``staticurl``\n"
@@ -21146,22 +21848,22 @@
 msgid ""
 "``stripes``\n"
 "    How many lines a \"zebra stripe\" should span in multi-line output.\n"
-"    Default is 1; set to 0 to disable."
+"    Set to 0 to disable. (default: 1)"
 msgstr ""
 "``stripes``\n"
-"    複数行出力における \"シマウマ模様\" の行数。 デフォルト値: 1\n"
-"    (0 指定で機能無効化)"
+"    複数行出力における \"シマウマ模様\" の行数。 0 指定で無効化されます。\n"
+"    (デフォルト値: 1)"
 
 msgid ""
 "``style``\n"
 "    Which template map style to use. The available options are the names of\n"
-"    subdirectories in the HTML templates path. Default is ``paper``.\n"
-"    Example: ``monoblue``"
+"    subdirectories in the HTML templates path. (default: ``paper``)\n"
+"    Example: ``monoblue``."
 msgstr ""
 "``style``\n"
 "    使用するテンプレートスタイル。 HTML テンプレート格納先の、\n"
-"    サブディレクトリ名を指定してください (例: ``monoblue``)。\n"
-"    デフォルト値: ``paper``"
+"    サブディレクトリ名を指定してください。 設定例: ``monoblue``\n"
+"    (デフォルト値: ``paper``)"
 
 msgid ""
 "``templates``\n"
@@ -21262,14 +21964,13 @@
 
 msgid ""
 "``numcpus``\n"
-"    Number of CPUs to use for parallel operations. Default is 4 or the\n"
-"    number of CPUs on the system, whichever is larger. A zero or\n"
+"    Number of CPUs to use for parallel operations. A zero or\n"
 "    negative value is treated as ``use the default``.\n"
+"    (default: 4 or the number of CPUs on the system, whichever is larger)\n"
 msgstr ""
 "``numcpus``\n"
-"    並列実施に使用可能な CPU 数。 デフォルト値は 4 あるいは\n"
-"    システム上の CPU 数の大きい方の値。 0 あるいは負値は、\n"
-"    『デフォルト値の使用』を意味します。\n"
+"    並列実施に使用可能な CPU 数。 0 又は負値は、 『デフォルト値の使用』\n"
+"    を意味します。 (デフォルト値: 4 又は使用可能 CPU 数の大きい方の値)\n"
 
 msgid "Some commands allow the user to specify a date, e.g.:"
 msgstr "以下のコマンドで日時指定が可能です:"
@@ -21551,13 +22252,26 @@
 msgid ""
 "HGPLAINEXCEPT\n"
 "    This is a comma-separated list of features to preserve when\n"
-"    HGPLAIN is enabled. Currently the only value supported is \"i18n\",\n"
-"    which preserves internationalization in plain mode."
+"    HGPLAIN is enabled. Currently the following values are supported:"
 msgstr ""
 "HGPLAINEXCEPT\n"
 "    HGPLAIN による設定無効化の際でも、 継続して利用したい機能名を、\n"
-"    カンマ区切りで列挙します。 現在利用可能な機能名は \"i18n\" のみで、\n"
-"    国際化関連機能が維持されます。"
+"    カンマ区切りで列挙します。 現在利用可能な機能名は以下の通り:"
+
+msgid ""
+"    ``alias``\n"
+"        Don't remove aliases.\n"
+"    ``i18n``\n"
+"        Preserve internationalization.\n"
+"    ``revsetalias``\n"
+"        Don't remove revset aliases."
+msgstr ""
+"    ``alias``\n"
+"        コマンドエイリアス定義を維持。\n"
+"    ``i18n``\n"
+"        国際化機能を維持。\n"
+"    ``revsetalias``\n"
+"        revset エイリアス定義を維持。"
 
 msgid ""
 "    Setting HGPLAINEXCEPT to anything (even an empty string) will\n"
@@ -21909,7 +22623,7 @@
 "    実施されることもあれば、 ローカルホスト上で、 ブックマーク機能や、\n"
 "    リポジトリ複製と名前無しブランチによって、 実施される場合もあります。"
 
-msgid "    Example: \"The experimental branch\"."
+msgid "    Example: \"The experimental branch.\""
 msgstr "    例: \"実験的な(開発用)ブランチ\""
 
 msgid ""
@@ -21919,7 +22633,7 @@
 "    (動詞) [ブランチする/分岐する/枝分かれする] あるリビジョンにおいて、\n"
 "    2つ目以降の子リビジョンを作成する操作。"
 
-msgid "    Example: \"I'm going to branch at X\"."
+msgid "    Example: \"I'm going to branch at X.\""
 msgstr "    例: \"リビジョン X からブランチする\""
 
 msgid ""
@@ -22144,7 +22858,7 @@
 
 msgid ""
 "Close changeset\n"
-"    See 'Head, closed branch'"
+"    See 'Head, closed branch'."
 msgstr ""
 "Close changeset\n"
 "    'Head, closed branch' を参照してください。"
@@ -22166,7 +22880,7 @@
 "    複製されたリポジトリ。 部分複製リポジトリの持つ変更履歴は、\n"
 "    指定リビジョンと、 その祖先から構成されます。"
 
-msgid "    Example: \"Is your clone up to date?\"."
+msgid "    Example: \"Is your clone up to date?\""
 msgstr "    例: \"あなたの複製(リポジトリ)は最新ですか?\""
 
 msgid "    (Verb) The process of creating a clone, using :hg:`clone`."
@@ -22174,8 +22888,8 @@
 "    (動詞) [(リポジトリの)複製] 複製リポジトリを作成する操作。\n"
 "    :hg:`clone` を使用します。"
 
-msgid "    Example: \"I'm going to clone the repository\"."
-msgstr "    例: \"リポジトリを複製します。\""
+msgid "    Example: \"I'm going to clone the repository.\""
+msgstr "    例: \"リポジトリを複製します\""
 
 msgid ""
 "Closed branch head\n"
@@ -22714,8 +23428,8 @@
 "Update\n"
 "    (名詞) [更新内容] リビジョンの言い換え。"
 
-msgid "    Example: \"I've pushed an update\"."
-msgstr "    例: \"更新内容を反映しておきました。\""
+msgid "    Example: \"I've pushed an update.\""
+msgstr "    例: \"更新内容を反映しておきました\""
 
 msgid ""
 "    (Verb) This term is usually used to describe updating the state of\n"
@@ -22725,8 +23439,8 @@
 "    (動詞) [更新] 作業領域を、 特定リビジョン時点の内容で書き換える操作。\n"
 "    :hg:`help update` を参照してください。"
 
-msgid "    Example: \"You should update\"."
-msgstr "    例: \"(作業領域の)更新が必要です。\""
+msgid "    Example: \"You should update.\""
+msgstr "    例: \"(作業領域の)更新が必要です\""
 
 msgid ""
 "Working directory\n"
@@ -22976,11 +23690,11 @@
 msgid ""
 "Resources\n"
 "\"\"\"\"\"\"\"\"\"\n"
-"Main Web Site: http://mercurial.selenic.com/"
+"Main Web Site: https://mercurial-scm.org/"
 msgstr ""
 "各種情報\n"
 "\"\"\"\"\"\"\"\"\n"
-"ウェブサイト: http://mercurial.selenic.com/"
+"ウェブサイト: http://mercurial-scm.org/"
 
 msgid "Source code repository: http://selenic.com/hg"
 msgstr "ソースコードリポジトリ: http://selenic.com/hg"
@@ -23124,7 +23838,7 @@
 msgstr ""
 "例えば、 未登録ファイル ``file.c`` が、\n"
 "作業領域の ``a/b/file.c`` に位置すると仮定します。\n"
-"``a/b/file.c``、 ``a/b`` または ``a`` といったパターンが\n"
+"``a/b/file.c``, ``a/b`` または ``a`` といったパターンが\n"
 "``.hgignore`` に記述されている場合、\n"
 "Mercurial はこの ``file.c`` を無視します。"
 
@@ -23363,8 +24077,8 @@
 msgstr ""
 "Mercurial の内部ウェブサーバ機能 hgweb は、 単一リポジトリまたは、\n"
 "リポジトリのツリーを公開可能です。 後者の場合、 専用の設定ファイルにより、\n"
-"パスやオプション設定を定義可能です。 設定ファイルは :hg:`serve`、\n"
-"``hgweb.wsgi``、 ``hgweb.cgi`` および ``hgweb.fcgi`` で共通です。"
+"パスやオプション設定を定義可能です。 設定ファイルは :hg:`serve`, \n"
+"``hgweb.wsgi``, ``hgweb.cgi`` および ``hgweb.fcgi`` で共通です。"
 
 msgid ""
 "This file uses the same syntax as other Mercurial configuration files\n"
@@ -23511,7 +24225,7 @@
 msgid ""
 "Many commands take a ``{revision}`` URL parameter. This defines the\n"
 "changeset to operate on. This is commonly specified as the short,\n"
-"12 digit hexidecimal abbreviation for the full 40 character unique\n"
+"12 digit hexadecimal abbreviation for the full 40 character unique\n"
 "revision identifier. However, any value described by\n"
 ":hg:`help revisions` typically works."
 msgstr ""
@@ -24212,7 +24926,7 @@
 msgstr ""
 "``x::y``\n"
 "  x の子孫且つ y の祖先に相当するリビジョン群 (x および y 自身を含む)。\n"
-"  左側のリビジョン指定 (``x``) が省略された場合は ``ancestors(y)``、\n"
+"  左側のリビジョン指定 (``x``) が省略された場合は ``ancestors(y)``,\n"
 "  右側のリビジョン指定 (``y``) が省略された場合は ``descendants(x)``\n"
 "  と等価です。"
 
@@ -24326,7 +25040,7 @@
 "defines three aliases, ``h``, ``d``, and ``rs``. ``rs(0:tip, author)`` is\n"
 "exactly equivalent to ``reverse(sort(0:tip, author))``."
 msgstr ""
-"上記の記述で、 3つの別名 ``h``、 ``d`` および ``rs`` が定義されます。\n"
+"上記の記述で、 3つの別名 ``h``, ``d`` および ``rs`` が定義されます。\n"
 "``rs(0:tip, author)`` は ``reverse(sort(0:tip, author))`` と同一です。"
 
 msgid ""
@@ -24544,27 +25258,27 @@
 
 msgid ""
 "HGENCODING\n"
-"   If not set, the locale used by Mercurial will be detected from the\n"
-"   environment. If the determined locale does not support display of\n"
-"   certain characters, Mercurial may render these character sequences\n"
-"   incorrectly (often by using \"?\" as a placeholder for invalid\n"
-"   characters in the current locale)."
+"    If not set, the locale used by Mercurial will be detected from the\n"
+"    environment. If the determined locale does not support display of\n"
+"    certain characters, Mercurial may render these character sequences\n"
+"    incorrectly (often by using \"?\" as a placeholder for invalid\n"
+"    characters in the current locale)."
 msgstr ""
 "HGENCODING\n"
-"   この環境変数が未設定の場合、 Mercurial が使用するロケールは、\n"
-"   他の環境変数を元に決定されます  (※ 訳注: LANGUAGE や LC_ALL 等。\n"
-"   Windows 環境では、 システムのデフォルトロケール設定の影響も受けます)。\n"
-"   確定したロケールが、 出力内容に含まれる文字をサポートしていない場合、\n"
-"   Mercurial は当該文字を適切に出力できません (多くの場合、 当該文字は\n"
-"   \"?\" 等で置き換えられます)。"
-
-msgid ""
-"   Explicitly setting this environment variable is a good practice to\n"
-"   guarantee consistent results. \"utf-8\" is a good choice on UNIX-like\n"
-"   environments."
-msgstr ""
-"   出力の一貫性を保つ上では、 この環境変数の明示指定をお勧めします。\n"
-"   UNIX 系 OS 上では \"utf-8\" あたりが妥当と思われます。"
+"    この環境変数が未設定の場合、 Mercurial が使用するロケールは、\n"
+"    他の環境変数を元に決定されます  (※ 訳注: LANGUAGE や LC_ALL 等。\n"
+"    Windows 環境では、 システムのデフォルトロケール設定の影響も受けます)。\n"
+"    確定したロケールが、 出力内容に含まれる文字をサポートしていない場合、\n"
+"    Mercurial は当該文字を適切に出力できません (多くの場合、 当該文字は\n"
+"    \"?\" 等で置き換えられます)。"
+
+msgid ""
+"    Explicitly setting this environment variable is a good practice to\n"
+"    guarantee consistent results. \"utf-8\" is a good choice on UNIX-like\n"
+"    environments."
+msgstr ""
+"    出力の一貫性を保つ上では、 この環境変数の明示指定をお勧めします。\n"
+"    UNIX 系 OS 上では \"utf-8\" あたりが妥当と思われます。"
 
 msgid ""
 "HGRCPATH\n"
@@ -25304,6 +26018,12 @@
 msgid "   $ hg log -r 0 --template \"{date(date, '%Y')}\\n\""
 msgstr "   $ hg log -r 0 --template \"{date(date, '%Y')}\\n\""
 
+msgid "- Display date in UTC::"
+msgstr "- 日付を UTC で表示::"
+
+msgid "   $ hg log -r 0 --template \"{localdate(date, 'UTC')|date}\\n\""
+msgstr "   $ hg log -r 0 --template \"{localdate(date, 'UTC')|date}\\n\""
+
 msgid "- Output the description set to a fill-width of 30::"
 msgstr "- コミットログの各行を30桁で揃えて出力::"
 
@@ -25358,12 +26078,36 @@
 "   $ hg log --template \"{bookmarks % '{bookmark}{ifeq(bookmark, active, "
 "'*')} '}\\n\""
 
+msgid ""
+"- Find the previous release candidate tag, the distance and changes since "
+"the tag::"
+msgstr ""
+"- 直前のリリース候補 (Release Candidate) タグ、 および当該タグからの、総リビ"
+"ジョン数、 最長距離の表示::"
+
+msgid ""
+"   $ hg log -r . --template \"{latesttag('re:^.*-rc$') % '{tag}, {changes}, "
+"{distance}'}\\n\""
+msgstr ""
+"   $ hg log -r . --template \"{latesttag('re:^.*-rc$') % '{tag}, {changes}, "
+"{distance}'}\\n\""
+
 msgid "- Mark the working copy parent with '@'::"
 msgstr "- 作業領域の親リビジョンに '@' を表示::"
 
 msgid "   $ hg log --template \"{ifcontains(rev, revset('.'), '@')}\\n\""
 msgstr "   $ hg log --template \"{ifcontains(rev, revset('.'), '@')}\\n\""
 
+msgid "- Show details of parent revisions::"
+msgstr "- 親リビジョンの詳細表示::"
+
+msgid ""
+"   $ hg log --template \"{revset('parents(%d)', rev) % '{desc|"
+"firstline}\\n'}\""
+msgstr ""
+"   $ hg log --template \"{revset('parents(%d)', rev) % '{desc|"
+"firstline}\\n'}\""
+
 msgid "- Show only commit descriptions that start with \"template\"::"
 msgstr "- \"template\" で始まるコミットログのみを表示::"
 
@@ -25616,14 +26360,6 @@
 msgstr "リビジョン %s における .hgsubstate が不正です\n"
 
 #, python-format
-msgid "websub: invalid pattern for %s: %s\n"
-msgstr "websub: %s のパターンが不正です: %s\n"
-
-#, python-format
-msgid "websub: invalid regexp for %s: %s\n"
-msgstr "websub: %s の正規表現が不正です: %s\n"
-
-#, python-format
 msgid "config file %s not found!"
 msgstr "設定ファイル %s が見つかりません!"
 
@@ -25934,7 +26670,7 @@
 msgstr "    結果出力には ``filediff`` テンプレートを使用します。"
 
 msgid ""
-"    This hander is registered under both the ``/diff`` and ``/filediff``\n"
+"    This handler is registered under both the ``/diff`` and ``/filediff``\n"
 "    paths. ``/diff`` is used in modern code."
 msgstr ""
 "    この機能は ``/diff`` と ``/filediff`` の両方の URL で利用可能です。\n"
@@ -26118,6 +26854,14 @@
 msgstr " 更新ファイル数 %d、 追加 %d 行(+)、 削除 %d 行(-)\n"
 
 #, python-format
+msgid "websub: invalid pattern for %s: %s\n"
+msgstr "websub: %s のパターンが不正です: %s\n"
+
+#, python-format
+msgid "websub: invalid regexp for %s: %s\n"
+msgstr "websub: %s の正規表現が不正です: %s\n"
+
+#, python-format
 msgid "%s hook is invalid (\"%s\" not in a module)"
 msgstr "フック %s は不正です(モジュール中に \"%s\" がありません)"
 
@@ -26354,6 +27098,12 @@
 msgid "unresolved merge conflicts (see \"hg help resolve\")"
 msgstr "未解消の衝突が残っています (\"hg help resolve\" を参照)"
 
+msgid "driver-resolved merge conflicts"
+msgstr ""
+
+msgid "run \"hg resolve --all\" to resolve"
+msgstr "衝突解消には \"hg resolve --all\" を実行してください"
+
 #, python-format
 msgid "committing subrepository %s\n"
 msgstr "サブリポジトリ %s でのコミット中\n"
@@ -26375,22 +27125,10 @@
 msgid "committing changelog\n"
 msgstr "変更履歴の記録中\n"
 
-msgid "operation forbidden by server"
-msgstr "その処理はサーバで禁止されています"
-
-msgid "locking the remote repository failed"
-msgstr "連携先リポジトリのロックに失敗"
-
-msgid "the server sent an unknown error code"
-msgstr "サーバが未知のエラーコードを返却しました"
-
 #, python-format
 msgid "pushkey-abort: %s\n"
 msgstr "pushkey 処理の中止: %s\n"
 
-msgid "SMTPS requires Python 2.6 or later"
-msgstr "SMTPS の利用には Python 2.6 以降が必要です"
-
 msgid "can't use TLS: Python SSL support not installed"
 msgstr "TLS を利用できません: Python SSL サポートがインストールされていません"
 
@@ -26405,8 +27143,8 @@
 msgstr "(smtps を使用中)\n"
 
 #, python-format
-msgid "sending mail: smtp host %s, port %s\n"
-msgstr "メール送信中: SMTP ホスト %s、 ポート番号 %s\n"
+msgid "sending mail: smtp host %s, port %d\n"
+msgstr "メール送信中: SMTP ホスト %s、 ポート番号 %d\n"
 
 msgid "(using starttls)\n"
 msgstr "(starttls を使用中)\n"
@@ -26480,6 +27218,12 @@
 msgid "unsupported merge state record: %s"
 msgstr "未サポートなマージ状態が記録されています: %s"
 
+msgid "merge driver changed since merge started"
+msgstr "マージ開始後にマージドライバ設定が変更されました"
+
+msgid "revert merge driver change or abort merge"
+msgstr "マージドライバ設定を元に戻すか、マージを取り止めてください"
+
 #, python-format
 msgid "warning: cannot merge flags for %s\n"
 msgstr "警告: ファイル %s の属性設定はマージできません\n"
@@ -26496,6 +27240,10 @@
 msgid "case-folding collision between %s and %s"
 msgstr "ファイル名の文字大小の問題で %s と %s が衝突します"
 
+#, python-format
+msgid "case-folding collision between %s and directory of %s"
+msgstr "ファイル名の文字大小の問題で %s とディレクトリ %s が衝突します"
+
 msgid "resolving manifests\n"
 msgstr "管理ファイル一覧の解決中\n"
 
@@ -26503,9 +27251,6 @@
 msgid "note: merging %s and %s using bids from ancestors %s\n"
 msgstr "備考: 以下の祖先の評価選考を元に %s と %s をマージ中: %s\n"
 
-msgid " and "
-msgstr " と "
-
 #, python-format
 msgid ""
 "\n"
@@ -26547,10 +27292,6 @@
 msgid "getting %s to %s\n"
 msgstr "%s から %s に複製中\n"
 
-#, python-format
-msgid "branch %s not found"
-msgstr "ブランチ %s が見つかりません"
-
 msgid "merging with a working directory ancestor has no effect"
 msgstr "作業領域の祖先とのマージは意味がありません"
 
@@ -26560,18 +27301,9 @@
 msgid "use 'hg status' to list changes"
 msgstr "変更一覧は 'hg status' で確認できます"
 
-msgid "commit and merge, or update --clean to discard changes"
-msgstr "コミット後にマージするか、変更を破棄 (update --clean) してください"
-
 msgid "commit or update --clean to discard changes"
 msgstr "変更をコミットするか、変更を破棄 (update --clean) してください"
 
-msgid "not a linear update"
-msgstr "ブランチを横断する更新です"
-
-msgid "merge or update --check to force update"
-msgstr "マージするか、変更有無の確認付きで更新 (update --check) してください"
-
 #, python-format
 msgid ""
 "local changed %s which remote deleted\n"
@@ -26948,10 +27680,6 @@
 msgstr "%d %s/秒"
 
 #, python-format
-msgid "unknown strip-bundle2-version value %r; should be one of %r\n"
-msgstr "strip-bundle2-version 値 %r は未知の値です; 使用可能候補は %r\n"
-
-#, python-format
 msgid "saved backup bundle to %s\n"
 msgstr "バックアップのバンドルを %s に保存\n"
 
@@ -27068,6 +27796,9 @@
 msgid "can't use a key-value pair in this context"
 msgstr "ここでは key-value ペアを使用できません"
 
+msgid "_mergedefaultdest takes no arguments"
+msgstr "_mergedefaultdest には引数が指定できません"
+
 msgid ""
 "``adds(pattern)``\n"
 "    Changesets that add a file matching pattern."
@@ -27201,6 +27932,10 @@
 "    ブランチ名そのものが `re:` で始まる場合は、 名前を `literal:`\n"
 "    付きで指定してください。"
 
+#, python-format
+msgid "branch '%s' does not exist"
+msgstr "ブランチ '%s' は存在しません"
+
 msgid ""
 "``bumped()``\n"
 "    Mutable changesets marked as successors of public changesets."
@@ -27423,23 +28158,23 @@
 "    limit() 記述の別名。"
 
 #, python-format
-msgid "%s takes no arguments or a filename"
-msgstr "%s の引数は、ファイル名か、引数無しです"
-
-#, python-format
-msgid "%s expected a filename"
-msgstr "%s にはファイル名を指定してください"
-
-msgid ""
-"``follow([file])``\n"
+msgid "%s takes no arguments or a pattern"
+msgstr "%s には引数やパターンを指定できません"
+
+#, python-format
+msgid "%s expected a pattern"
+msgstr "%s にはパターンを指定してください"
+
+msgid ""
+"``follow([pattern])``\n"
 "    An alias for ``::.`` (ancestors of the working directory's first "
 "parent).\n"
-"    If a filename is specified, the history of the given file is followed,\n"
-"    including copies."
-msgstr ""
-"``follow([file])``\n"
+"    If pattern is specified, the histories of files matching given\n"
+"    pattern is followed, including copies."
+msgstr ""
+"``follow([pattern])``\n"
 "    ``::.`` (作業領域の第1親の祖先リビジョン群) 記述の別名。\n"
-"    ファイル名指定がある場合、 当該ファイルの履歴 (複製含む) を辿ります。"
+"    パターン指定がある場合、 合致するファイルの履歴 (複製含む) を辿ります。"
 
 msgid ""
 "``all()``\n"
@@ -27555,20 +28290,23 @@
 msgstr "keyword には文字列を指定してください"
 
 msgid ""
-"``limit(set, [n])``\n"
-"    First n members of set, defaulting to 1."
-msgstr ""
-"``limit(set, [n])``\n"
-"    指定リビジョン群の冒頭 n 個。 無指定時は 1。"
+"``limit(set[, n[, offset]])``\n"
+"    First n members of set, defaulting to 1, starting from offset."
+msgstr ""
+"``limit(set[, n[, offset]])``\n"
+"    指定リビジョン群の (offset 位置からの) n 個。 n が無指定の場合は 1。"
 
 #. i18n: "limit" is a keyword
-msgid "limit requires one or two arguments"
-msgstr "limit の引数は1つまたは2つです"
+msgid "limit requires one to three arguments"
+msgstr "limit の引数は1〜3です"
 
 #. i18n: "limit" is a keyword
 msgid "limit requires a number"
 msgstr "limit には数値を指定してください"
 
+msgid "negative offset"
+msgstr "負値のオフセットは指定できません"
+
 #. i18n: "limit" is a keyword
 msgid "limit expects a number"
 msgstr "limit には数値を指定してください"
@@ -28011,10 +28749,6 @@
 msgid "subrepo requires a pattern"
 msgstr "subrepo にはパターン指定が必要です"
 
-#, python-format
-msgid "invalid regular expression: %s"
-msgstr "不正な正規表現: %s"
-
 msgid ""
 "``tag([name])``\n"
 "    The specified tag by name, or all tagged revisions if no name is given."
@@ -28103,8 +28837,8 @@
 msgstr "revset 別名定義 \"%s\" は無限に展開されてしまいます"
 
 #, python-format
-msgid "invalid number of arguments: %s"
-msgstr "引数の数が不正です: %s"
+msgid "invalid number of arguments: %d"
+msgstr "引数の数が不正です: %d"
 
 #, python-format
 msgid "\"##\" can't concatenate \"%s\" element"
@@ -28155,8 +28889,8 @@
 msgstr "リポジトリの要求する機能が実行中のMercurialにとって未知です: %s"
 
 msgid ""
-"see http://mercurial.selenic.com/wiki/MissingRequirement for more information"
-msgstr "詳細は http://mercurial.selenic.com/wiki/MissingRequirement 参照"
+"see https://mercurial-scm.org/wiki/MissingRequirement for more information"
+msgstr "詳細は https://mercurial-scm.org/wiki/MissingRequirement 参照"
 
 msgid "searching for changes\n"
 msgstr "変更点を探索中\n"
@@ -28192,9 +28926,6 @@
 msgid "can only specify three labels."
 msgstr "ラベルは3つのみ指定可。"
 
-msgid "warning: conflicts during merge.\n"
-msgstr "警告: マージ中に衝突を発見。\n"
-
 #, python-format
 msgid "couldn't parse location %s"
 msgstr "URL %s の解析に失敗"
@@ -28290,8 +29021,54 @@
 msgstr "static-http リポジトリの新規作成はできません"
 
 #, python-format
-msgid "invalid entry in fncache, line %s"
-msgstr "ファイル名キャッシュに不正なエントリ: %s 行目"
+msgid "invalid entry in fncache, line %d"
+msgstr "ファイル名キャッシュに不正なエントリ: %d 行目"
+
+msgid "unexpected response from remote server:"
+msgstr "連携先のサーバから予期しない返信:"
+
+msgid "operation forbidden by server"
+msgstr "その処理はサーバで禁止されています"
+
+msgid "locking the remote repository failed"
+msgstr "連携先リポジトリのロックに失敗"
+
+msgid "the server sent an unknown error code"
+msgstr "サーバが未知のエラーコードを返却しました"
+
+#, python-format
+msgid "writing %d bytes for %d files\n"
+msgstr "%d バイト (%d ファイル) の書き出し中\n"
+
+# this is left untranslated intentionally, because this is VERY
+# GENERIC word (by foozy@lares.dti.ne.jp)
+msgid "bundle"
+msgstr ""
+
+#, python-format
+msgid "%d files to transfer, %s of data\n"
+msgstr "%d 個のファイル転送(データ量 %s)\n"
+
+msgid "clone"
+msgstr "複製"
+
+#, python-format
+msgid "transferred %s in %.1f seconds (%s/sec)\n"
+msgstr "%s を %.1f 秒で送信しました (%s/秒)\n"
+
+msgid "cannot apply stream clone bundle on non-empty repo"
+msgstr "stream clone bundle での複製は、空リポジトリにしか適用できません"
+
+#, python-format
+msgid "only uncompressed stream clone bundles are supported; got %s"
+msgstr "非圧縮の stream clone bundle のみがサポート対象です: %s を検出"
+
+msgid "malformed stream clone bundle: requirements not properly encoded"
+msgstr "不正な形式の stream clone bundle です: requirements の符号化不正"
+
+#, python-format
+msgid "unable to apply stream clone: unsupported format: %s"
+msgstr "stream clone が適用できません: 未サポートな形式 %s"
 
 #, python-format
 msgid "(in subrepo %s)"
@@ -28545,13 +29322,6 @@
 msgstr ":count: 列挙または文字列。 長さを整数値で返します。"
 
 msgid ""
-":date: Date. Returns a date in a Unix date format, including the\n"
-"    timezone: \"Mon Sep 04 15:13:13 2006 0700\"."
-msgstr ""
-":date: 日時情報。 タイムゾーン込みの Unix date コマンド形式にします。\n"
-"    例) \"Mon Sep 04 15:13:13 2006 0700\""
-
-msgid ""
 ":domain: Any text. Finds the first string that looks like an email\n"
 "    address, and extracts just the domain component. Example: ``User\n"
 "    <user@example.com>`` becomes ``example.com``."
@@ -28613,9 +29383,6 @@
 "    例) \"2009-08-18 13:00:13 +0200\"\n"
 "    後述する rfc3339date フィルタの説明も参照してください。"
 
-msgid ":localdate: Date. Converts a date to local date."
-msgstr ":localdate: 日時情報。 日時情報をローカルタイムゾーンに変換します。"
-
 msgid ":lower: Any text. Converts the text to lowercase."
 msgstr ":lower: 文字列。 文字列を小文字に変換します。"
 
@@ -28718,9 +29485,6 @@
 "    text and concatenating them."
 msgstr ":stringify: 任意のデータ。 値を文字列化して連結します"
 
-msgid ":strip: Any text. Strips all leading and trailing whitespace."
-msgstr ":strip: 文字列。 先頭/末尾の空白文字を取り除きます。"
-
 msgid ""
 ":stripdir: Treat the text as path and strip a directory level, if\n"
 "    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\"."
@@ -28766,6 +29530,14 @@
 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 ""
@@ -28888,6 +29660,15 @@
 ":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: 文字列。 当該リビジョンのフェーズ名。"
 
@@ -28903,15 +29684,6 @@
 msgid ":tags: List of strings. Any tags associated with the changeset."
 msgstr ":tags: 文字列列挙。 当該リビジョンに付与されたタグの一覧。"
 
-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 "integer literal without digits"
 msgstr "数値の指定がありません"
 
@@ -28926,13 +29698,13 @@
 msgid "expected a symbol, got '%s'"
 msgstr "シンボル (symbol) 指定が必要です (実際の指定は '%s')"
 
+msgid "expected template specifier"
+msgstr "テンプレート指定が必要です"
+
 #, python-format
 msgid "unknown function '%s'"
 msgstr "未知の関数 '%s' が指定されました"
 
-msgid "expected template specifier"
-msgstr "テンプレート指定が必要です"
-
 #, python-format
 msgid "template filter '%s' is not compatible with keyword '%s'"
 msgstr "フィルタ指定 '%s' はキーワード '%s' と互換性がありません"
@@ -28943,10 +29715,13 @@
 
 msgid ""
 ":date(date[, fmt]): Format a date. See :hg:`help dates` for formatting\n"
-"    strings."
-msgstr ""
-":date(date[, fmt]): 日付を文字列化します。 文字列化フォーマットの詳細は\n"
-"    :hg:`help dates` を参照してください"
+"    strings. The default is a Unix date format, including the timezone:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\"."
+msgstr ""
+":date(date[, fmt]): 日付情報の整形。 整形方法の詳細は :hg:`help dates`\n"
+"    を参照してください。 fmt が未指定の場合は、UNIX の date コマンド形式\n"
+"    (タイムゾーン込み) で整形します:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\""
 
 #. i18n: "date" is a keyword
 msgid "date expects one or two arguments"
@@ -29010,7 +29785,7 @@
 msgid ""
 ":get(dict, key): Get an attribute/key from an object. Some keywords\n"
 "    are complex types. This function allows you to obtain the value of an\n"
-"    attribute on these type."
+"    attribute on these types."
 msgstr ""
 ":get(dict, key): dict から key 相当の情報を取得します。 この関数により、\n"
 "    複雑な形式を持つオブジェクトから、 情報を取得することができます。"
@@ -29071,6 +29846,36 @@
 "    label の付与は、 表示への色付け等の、 出力加工処理で使用されます。"
 
 msgid ""
+":latesttag([pattern]): The global tags matching the given pattern on the\n"
+"    most recent globally tagged ancestor of this changeset."
+msgstr ""
+":latesttag([pattern]): 当該リビジョンの祖先に対し、最も直近に付与された、\n"
+"    指定パターン pattern に合致するグローバルタグの一覧。"
+
+#. i18n: "latesttag" is a keyword
+msgid "latesttag expects at most one argument"
+msgstr "latesttag の引数は最大1つです"
+
+msgid ""
+":localdate(date[, tz]): Converts a date to the specified timezone.\n"
+"    The default is local date."
+msgstr ""
+":localdate(date[, tz]): 日時情報を、 指定のタイムゾーンに変換します。\n"
+"    タイムゾーン tz 無指定時は、 ローカルタイムゾーンに変換します。"
+
+#. i18n: "localdate" is a keyword
+msgid "localdate expects one or two arguments"
+msgstr "localdate の引数は1つまたは2つです"
+
+#. i18n: "localdate" is a keyword
+msgid "localdate expects a date information"
+msgstr "localdate の入力には日付情報を与えてください"
+
+#. i18n: "localdate" is a keyword
+msgid "localdate expects a timezone"
+msgstr "localdate の入力にはタイムゾーンを与えてください"
+
+msgid ""
 ":revset(query[, formatargs...]): Execute a revision set query. See\n"
 "    :hg:`help revset`."
 msgstr ""
@@ -29099,10 +29904,12 @@
 msgid "shortest() expects one or two arguments"
 msgstr "shortest() の引数は1つまたは2つです"
 
-msgid ":strip(text[, chars]): Strip characters from a string."
+msgid ""
+":strip(text[, chars]): Strip characters from a string. By default,\n"
+"    strips all leading and trailing whitespace."
 msgstr ""
 ":strip(text[, chars]): chars 中の文字を text 両端から除外します。\n"
-"    (※ 訳注: chars 無指定の場合は、 空白文字を除外)"
+"    chars 無指定の場合は、 空白文字/改行文字を除外します。"
 
 #. i18n: "strip" is a keyword
 msgid "strip expects one or two arguments"
@@ -29118,6 +29925,16 @@
 msgid "sub expects three arguments"
 msgstr "sub は引数が3つ必要です"
 
+#. i18n: "sub" is a keyword
+#, python-format
+msgid "sub got an invalid pattern: %s"
+msgstr "sub へのパターン指定が不正です: %s"
+
+#. i18n: "sub" is a keyword
+#, python-format
+msgid "sub got an invalid replacement: %s"
+msgstr "sub への置換指定が不正です: %s"
+
 msgid ""
 ":startswith(pattern, text): Returns the value from the \"text\" argument\n"
 "    if it begins with the content from the \"pattern\" argument."
@@ -29248,6 +30065,10 @@
 msgid "password: "
 msgstr "パスワード: "
 
+#, python-format
+msgid "repository %s does not exist"
+msgstr "リポジトリ %s は存在しません"
+
 msgid "cannot create new union repository"
 msgstr "union 形式のリポジトリは新規作成できません"
 
@@ -29365,6 +30186,10 @@
 msgstr "%s には正の値を指定してください (\"hg help dates\" 参照)"
 
 #, python-format
+msgid "invalid regular expression: %s"
+msgstr "不正な正規表現: %s"
+
+#, python-format
 msgid "%.0f GB"
 msgstr "%.0f GB"
 
--- a/i18n/pt_BR.po	Mon Oct 19 16:49:54 2015 +0200
+++ b/i18n/pt_BR.po	Mon Nov 02 13:00:45 2015 +0000
@@ -31,8 +31,8 @@
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2015-04-22 23:06-0300\n"
-"PO-Revision-Date: 2015-04-22 23:07-0300\n"
+"POT-Creation-Date: 2015-11-01 08:48-0200\n"
+"PO-Revision-Date: 2015-11-01 15:22-0200\n"
 "Last-Translator: Wagner Bruna <wbruna@softwareexpress.com.br>\n"
 "Language-Team: Brazilian Portuguese <>\n"
 "MIME-Version: 1.0\n"
@@ -1264,7 +1264,7 @@
 "incluindo::"
 
 msgid ""
-" * Passwords, private keys, crytographic material\n"
+" * Passwords, private keys, cryptographic material\n"
 " * Licensed data/code/libraries for which the license has expired\n"
 " * Personally Identifiable Information or other private data"
 msgstr ""
@@ -1513,6 +1513,271 @@
 msgid "skipping malformed alias: %s\n"
 msgstr "omitindo apelido mal formado: %s\n"
 
+msgid "advertise pre-generated bundles to seed clones (experimental)"
+msgstr ""
+
+msgid ""
+"\"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."
+msgstr ""
+
+msgid ""
+"Cloning can be a CPU and I/O intensive operation on servers. Traditionally,\n"
+"the server, in response to a client's request to clone, dynamically generates\n"
+"a bundle containing the entire repository content and sends it to the client.\n"
+"There is no caching on the server and the server will have to redundantly\n"
+"generate the same outgoing bundle in response to each clone request. For\n"
+"servers with large repositories or with high clone volume, the load from\n"
+"clones can make scaling the server challenging and costly."
+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."
+msgstr ""
+
+msgid ""
+"1. A server operator establishes a mechanism for making bundle files available\n"
+"   on a hosting service where Mercurial clients can fetch them.\n"
+"2. A manifest file listing available bundle URLs and some optional metadata\n"
+"   is added to the Mercurial repository on the server.\n"
+"3. A client initiates a clone against a clone bundles aware server.\n"
+"4. The client sees the server is advertising clone bundles and fetches the\n"
+"   manifest listing available bundles.\n"
+"5. The client filters and sorts the available bundles based on what it\n"
+"   supports and prefers.\n"
+"6. The client downloads and applies an available bundle from the\n"
+"   server-specified URL.\n"
+"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.)"
+msgstr ""
+
+msgid ""
+"Instead of the server generating full repository bundles for every clone\n"
+"request, it generates full bundles once and they are subsequently reused to\n"
+"bootstrap new clones. The server may still transfer data at clone time.\n"
+"However, this is only data that has been added/changed since the bundle was\n"
+"created. For large, established repositories, this can reduce server load for\n"
+"clones to less than 1% of original."
+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 a\n"
+"  HTTP server).\n"
+"* A process for keeping the bundles manifest in sync with available bundle\n"
+"  files."
+msgstr ""
+
+msgid ""
+"Strictly speaking, using a static file hosting server isn't required: a server\n"
+"operator could use a dynamic service for retrieving bundle data. However,\n"
+"static file hosting services are simple and scalable and should be sufficient\n"
+"for most needs."
+msgstr ""
+
+msgid ""
+"Bundle files can be generated with the :hg:`bundle` comand. Typically\n"
+":hg:`bundle --all` is used to produce a bundle of the entire repository."
+msgstr ""
+
+msgid ""
+":hg:`debugcreatestreamclonebundle` can be used to produce a special\n"
+"*streaming clone bundle*. 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"
+"Typically, a newer server can serve data that is compatible with older clients.\n"
+"However, *streaming clone bundles* don't have this guarantee. **Server\n"
+"operators need to be aware that newer versions of Mercurial may produce\n"
+"streaming clone bundles incompatible with older Mercurial versions.**"
+msgstr ""
+
+msgid ""
+"The list of requirements printed by :hg:`debugcreatestreamclonebundle` should\n"
+"be specified in the ``requirements`` parameter of the *bundle specification\n"
+"string* for the ``BUNDLESPEC`` manifest property described below. e.g.\n"
+"``BUNDLESPEC=none-packed1;requirements%3Drevlogv1``."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"The manifest file contains a newline (\n"
+") delimited list of entries."
+msgstr ""
+
+msgid ""
+"Each line in this file defines an available bundle. Lines have the format:"
+msgstr ""
+
+msgid "    <URL> [<key>=<value>[ <key>=<value>]]"
+msgstr ""
+
+msgid ""
+"That is, a URL followed by an optional, space-delimited list of key=value\n"
+"pairs describing additional properties of this bundle. Both keys and values\n"
+"are URI encoded."
+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"
+"data center a file is hosted in. Clients could then prefer a server in the\n"
+"data center closest to them."
+msgstr ""
+
+msgid "The following reserved keys are currently defined:"
+msgstr ""
+
+msgid ""
+"BUNDLESPEC\n"
+"   A \"bundle specification\" string that describes the type of the bundle."
+msgstr ""
+
+msgid ""
+"   These are string values that are accepted by the \"--type\" argument of\n"
+"   :hg:`bundle`."
+msgstr ""
+
+msgid ""
+"   The values are parsed in strict mode, which means they must be of the\n"
+"   \"<compression>-<type>\" form. See\n"
+"   mercurial.exchange.parsebundlespec() for more details."
+msgstr ""
+
+msgid ""
+"   Clients will automatically filter out specifications that are unknown or\n"
+"   unsupported so they won't attempt to download something that likely won't\n"
+"   apply."
+msgstr ""
+
+msgid ""
+"   The actual value doesn't impact client behavior beyond filtering:\n"
+"   clients will still sniff the bundle type from the header of downloaded\n"
+"   files."
+msgstr ""
+
+msgid ""
+"   **Use of this key is highly recommended**, as it allows clients to\n"
+"   easily skip unsupported bundles."
+msgstr ""
+
+msgid ""
+"REQUIRESNI\n"
+"   Whether Server Name Indication (SNI) is required to connect to the URL.\n"
+"   SNI allows servers to use multiple certificates on the same IP. It is\n"
+"   somewhat common in CDNs and other hosting providers. Older Python\n"
+"   versions do not support SNI. Defining this attribute enables clients\n"
+"   with older Python versions to filter this entry without experiencing\n"
+"   an opaque SSL failure at connection time."
+msgstr ""
+
+msgid ""
+"   If this is defined, it is important to advertise a non-SNI fallback\n"
+"   URL or clients running old Python releases may not be able to clone\n"
+"   with the clonebundles facility."
+msgstr ""
+
+msgid "   Value should be \"true\"."
+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"
+"to fetch the bundle at the first URL in the remaining list."
+msgstr ""
+
+msgid ""
+"**Errors when downloading a bundle will fail the entire clone operation:\n"
+"clients do not automatically fall back to a traditional clone.** The reason\n"
+"for this is that if a server is using clone bundles, it is probably doing so\n"
+"because the feature is necessary to help it scale. In other words, there\n"
+"is an assumption that clone load will be offloaded to another service and\n"
+"that the Mercurial server isn't responsible for serving this clone load.\n"
+"If that other service experiences issues and clients start mass falling back to\n"
+"the original Mercurial server, the added clone load could overwhelm the server\n"
+"due to unexpected load and effectively take it offline. Not having clients\n"
+"automatically fall back to cloning from the original server mitigates this\n"
+"scenario."
+msgstr ""
+
+msgid ""
+"Because there is no automatic Mercurial server fallback on failure of the\n"
+"bundle hosting service, it is important for server operators to view the bundle\n"
+"hosting service as an extension of the Mercurial server in terms of\n"
+"availability and service level agreements: if the bundle hosting service goes\n"
+"down, so does the ability for clients to clone. Note: clients will see a\n"
+"message informing them how to bypass the clone bundles facility when a failure\n"
+"occurs. So server operators should prepare for some people to follow these\n"
+"instructions when a failure occurs, thus driving more load to the original\n"
+"Mercurial server when the bundle hosting service fails."
+msgstr ""
+
+msgid ""
+"The following config options influence the behavior of the clone bundles\n"
+"feature:"
+msgstr ""
+
+msgid ""
+"ui.clonebundleadvertise\n"
+"   Whether the server advertises the existence of the clone bundles feature\n"
+"   to compatible clients that aren't using it."
+msgstr ""
+
+msgid ""
+"   When this is enabled (the default), a server will send a message to\n"
+"   compatible clients performing a traditional clone informing them of the\n"
+"   available clone bundles feature. Compatible clients are those that support\n"
+"   bundle2 and are advertising support for the clone bundles feature."
+msgstr ""
+
+msgid ""
+"ui.clonebundlefallback\n"
+"   Whether to automatically fall back to a traditional clone in case of\n"
+"   clone bundles failure. Defaults to false for reasons described above."
+msgstr ""
+
+msgid ""
+"experimental.clonebundles\n"
+"   Whether the clone bundles feature is enabled on clients. Defaults to true."
+msgstr ""
+
+msgid ""
+"experimental.clonebundleprefers\n"
+"   List of \"key=value\" properties the client prefers in bundles. Downloaded\n"
+"   bundle manifests will be sorted by the preferences in this list. e.g.\n"
+"   the value \"BUNDLESPEC=gzip-v1, BUNDLESPEC=bzip2=v1\" will prefer a gzipped\n"
+"   version 1 bundle type then bzip2 version 1 bundle type."
+msgstr ""
+
+msgid ""
+"   If not defined, the order in the manifest will be used and the first\n"
+"   available bundle will be downloaded.\n"
+msgstr ""
+
+msgid ""
+"this server supports the experimental \"clone bundles\" feature that should enable faster and more reliable cloning\n"
+"help test it by setting the \"experimental.clonebundles\" config flag to \"true\""
+msgstr ""
+
 msgid "colorize output from some commands"
 msgstr "colore a saída de alguns comandos"
 
@@ -1868,8 +2133,9 @@
 msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr "importa revisões de repositórios de outros sistemas para o Mercurial"
 
-msgid "username mapping filename (DEPRECATED, use --authormap instead)"
-msgstr "arquivo de mapeamento de nomes de usuário (OBSOLETO, use --authormap)"
+msgid "username mapping filename (DEPRECATED) (use --authormap instead)"
+msgstr ""
+"arquivo de mapeamento de nomes de usuário (OBSOLETO) (use --authormap)"
 
 msgid "source repository type"
 msgstr "tipo de repositório de origem"
@@ -2484,6 +2750,13 @@
 "        padrão é 'remote'."
 
 msgid ""
+"    :convert.git.skipsubmodules: does not convert root level .gitmodules files\n"
+"        or files with 160000 mode indicating a submodule. Default is False."
+msgstr ""
+"    :convert.git.skipsubmodules: não converter arquivos .gitmodules no raiz\n"
+"        ou arquivos com modo 160000 indicando um sub-módulo. O padrão é False."
+
+msgid ""
 "    Perforce Source\n"
 "    ###############"
 msgstr ""
@@ -2709,7 +2982,7 @@
 msgid "%s.%s symlink has no target"
 msgstr "%s.%s link simbólico não possui alvo"
 
-msgid "convert from cvs do not support --full"
+msgid "convert from cvs does not support --full"
 msgstr "a conversão a partir do cvs não suporta --full"
 
 #, python-format
@@ -2808,6 +3081,9 @@
 msgid "spliced in %s as parents of %s\n"
 msgstr "associados %s como pais de %s\n"
 
+msgid " and "
+msgstr " e "
+
 msgid "scanning source...\n"
 msgstr "decodificando entrada...\n"
 
@@ -2968,7 +3244,7 @@
 msgid "failed to detect repository format!"
 msgstr "falha na detecção do formato do repositório!"
 
-msgid "convert from darcs do not support --full"
+msgid "convert from darcs does not support --full"
 msgstr "a conversão a partir do darcs não suporta --full"
 
 msgid "internal calling inconsistency"
@@ -3030,7 +3306,7 @@
 msgid "warning: unable to parse .gitmodules in %s\n"
 msgstr "aviso: incapaz de decodificar .gitmodules em %s\n"
 
-msgid "convert from git do not support --full"
+msgid "convert from git does not support --full"
 msgstr "a conversão a partir do git não suporta --full"
 
 #, python-format
@@ -3059,7 +3335,7 @@
 "análise da árvore parou porque esta aponta para um arquivo não registrado "
 "%s...\n"
 
-msgid "convert from arch do not support --full"
+msgid "convert from arch does not support --full"
 msgstr "a conversão a partir do arch não suporta --full"
 
 #, python-format
@@ -3090,6 +3366,14 @@
 msgid "%s is missing from %s/.hg/shamap\n"
 msgstr "%s está faltando em %s/.hg/shamap\n"
 
+#, python-format
+msgid ""
+"unable to convert merge commit since target parents do not merge cleanly "
+"(file %s, parents %s and %s)"
+msgstr ""
+"não foi possível converter uma mesclagem, pois os pais do alvo não mesclam "
+"de forma limpa (arquivo %s, pais %s e %s)"
+
 msgid "filtering out empty revision\n"
 msgstr "filtrando revisão vazia\n"
 
@@ -3107,9 +3391,6 @@
 "revisão %s não encontrada no repositório de destino (buscas com "
 "clonebranches=true não foram implementadas)"
 
-msgid "mercurial source does not support specifying multiple revisions"
-msgstr "a origem mercurial não suporta a especificação de múltiplas revisões"
-
 #, python-format
 msgid "%s is not a valid start revision"
 msgstr "%s não é uma revisão inicial válida"
@@ -3153,7 +3434,7 @@
 msgid "mtn command '%s' returned %s"
 msgstr "o comando mtn '%s' devolveu %s"
 
-msgid "convert from monotone do not support --full"
+msgid "convert from monotone does not support --full"
 msgstr "a conversão a partir do monotone não suporta --full"
 
 #, python-format
@@ -3187,7 +3468,7 @@
 msgid "cannot find source for copied file: %s@%s\n"
 msgstr "não é possível localizar a origem do arquivo copiado: %s@%s\n"
 
-msgid "convert from p4 do not support --full"
+msgid "convert from p4 does not support --full"
 msgstr "a conversão a partir do p4 não suporta --full"
 
 msgid "debugsvnlog could not load Subversion python bindings"
@@ -3366,7 +3647,7 @@
 "``native`` is an alias for checking out in the platform's default line\n"
 "ending: ``LF`` on Unix (including Mac OS X) and ``CRLF`` on\n"
 "Windows. Note that ``BIN`` (do nothing to line endings) is Mercurial's\n"
-"default behaviour; it is only needed if you need to override a later,\n"
+"default behavior; it is only needed if you need to override a later,\n"
 "more general pattern."
 msgstr ""
 "Arquivos com formato declarado como ``CRLF`` ou ``LF`` são sempre trazidos\n"
@@ -3674,6 +3955,12 @@
 msgid "cannot specify --rev and --change at the same time"
 msgstr "não é possível especificar simultaneamente --rev e --change"
 
+msgid "--patch cannot be used with --subrepos"
+msgstr "--patch não pode ser usado com --subrepos"
+
+msgid "--patch requires two revisions"
+msgstr "--patch exige duas revisões"
+
 msgid "cleaning up temp directory\n"
 msgstr "limpando o diretório temporário\n"
 
@@ -3695,6 +3982,9 @@
 msgid "change made by revision"
 msgstr "mudança feita pela revisão"
 
+msgid "compare patches for two revisions"
+msgstr "compara patches para duas revisões"
+
 msgid "hg extdiff [OPT]... [FILE]..."
 msgstr "hg extdiff [OPÇÃO]... [ARQUIVO]..."
 
@@ -4343,18 +4633,31 @@
 "Esta extensão depende da biblioteca Pygments de realce de sintaxe:\n"
 "http://pygments.org/"
 
-msgid "There is a single configuration option::"
-msgstr "Há uma única opção de configuração::"
+msgid "There are the following configuration options::"
+msgstr "As seguintes opções de configuração são suportadas::"
 
 msgid ""
 "  [web]\n"
-"  pygments_style = <style>"
+"  pygments_style = <style> (default: colorful)\n"
+"  highlightfiles = <fileset> (default: size('<5M'))\n"
+"  highlightonlymatchfilename = <bool> (default False)"
 msgstr ""
 "  [web]\n"
-"  pygments_style = <estilo>"
-
-msgid "The default is 'colorful'.\n"
-msgstr "O padrão é 'colorful'.\n"
+"  pygments_style = <estilo> (padrão: colorful)\n"
+"  highlightfiles = <fileset> (padrão: size('<5M'))\n"
+"  highlightonlymatchfilename = <booleana> (padrão False)"
+
+msgid ""
+"``highlightonlymatchfilename`` will only highlight files if their type could\n"
+"be identified by their filename. When this is not enabled (the default),\n"
+"Pygments will try very hard to identify the file type from content and any\n"
+"match (even matches with a low confidence score) will be used.\n"
+msgstr ""
+"``highlightonlymatchfilename`` só realçará arquivos se seus tipos\n"
+"puderem ser identificados pelos nomes dos arquivos. Se esta\n"
+"configuração não for habilitada (que é o padrão), Pygments tentará\n"
+"identificar o tipo de arquivo a partir do conteúdo, e qualquer\n"
+"correspondência (mesmo com um baixo índice de confiança) será usada.\n"
 
 msgid "interactive history editing"
 msgstr "edição interativa de histórico"
@@ -4418,7 +4721,7 @@
 " #  f, fold = use commit, but combine it with the one above\n"
 " #  r, roll = like fold, but discard this commit's description\n"
 " #  d, drop = remove commit from history\n"
-" #  m, mess = edit message without changing commit content\n"
+" #  m, mess = edit commit message without changing commit content\n"
 " #"
 msgstr ""
 " # Editar o histórico entre c561b4e977df e 7c2fd3b9020c\n"
@@ -4634,7 +4937,7 @@
 
 msgid ""
 "Histedit rule lines are truncated to 80 characters by default. You\n"
-"can customise this behaviour by setting a different length in your\n"
+"can customize this behavior by setting a different length in your\n"
 "configuration file::"
 msgstr ""
 "As linhas de edição de histórico são por padrão truncadas em 80\n"
@@ -4661,7 +4964,7 @@
 "#  f, fold = use commit, but combine it with the one above\n"
 "#  r, roll = like fold, but discard this commit's description\n"
 "#  d, drop = remove commit from history\n"
-"#  m, mess = edit message without changing commit content\n"
+"#  m, mess = edit commit message without changing commit content\n"
 "#\n"
 msgstr ""
 "# Editar o histórico entre %s e %s\n"
@@ -4769,9 +5072,9 @@
 "    'default-push' (ou 'default') será usado."
 
 msgid ""
-"    For safety, this command is aborted, also if there are ambiguous\n"
-"    outgoing revisions which may confuse users: for example, there are\n"
-"    multiple branches containing outgoing revisions."
+"    For safety, this command is also aborted if there are ambiguous\n"
+"    outgoing revisions which may confuse users: for example, if there\n"
+"    are multiple branches containing outgoing revisions."
 msgstr ""
 "    Por segurança, este comando também é abortado se o conjunto de\n"
 "    revisões a serem enviadas for ambíguo, pois isso pode confundir\n"
@@ -4828,6 +5131,13 @@
 msgid "histedit requires exactly one ancestor revision"
 msgstr "histedit requer exatamente uma revisão ancestral"
 
+msgid ""
+"warning: encountered an exception during histedit --abort; the repository "
+"may not have been completely cleaned up\n"
+msgstr ""
+"aviso: foi encontrada uma exceção durante histedit --abort; o repositório "
+"pode não ter sido completamente limpo\n"
+
 msgid "The specified revisions must have exactly one common root"
 msgstr "As revisões especificadas devem ter exatamente uma raiz comum"
 
@@ -5672,6 +5982,10 @@
 msgid "found %s in system cache\n"
 msgstr "encontrado %s no cache do sistema\n"
 
+#, python-format
+msgid "%s: data corruption in %s with hash %s\n"
+msgstr "%s: corrupção de dados em %s com hash %s\n"
+
 msgid "finding outgoing largefiles"
 msgstr "encontrando largefiles a serem enviados"
 
@@ -5943,7 +6257,7 @@
 msgid ""
 "By default, mq will automatically use git patches when required to\n"
 "avoid losing file mode changes, copy records, binary files or empty\n"
-"files creations or deletions. This behaviour can be configured with::"
+"files creations or deletions. This behavior can be configured with::"
 msgstr ""
 "Por padrão, a mq irá automaticamente usar patches git se necessário para\n"
 "evitar perder mudanças de modo de arquivo, registros de cópia, arquivos\n"
@@ -6183,10 +6497,10 @@
 msgid "working directory revision is not qtip"
 msgstr "a revisão do diretório de trabalho não é a qtip"
 
-msgid "local changes found, refresh first"
+msgid "local changes found, qrefresh first"
 msgstr "mudanças locais encontradas, você deve executar qrefresh primeiro"
 
-msgid "local changed subrepos found, refresh first"
+msgid "local changed subrepos found, qrefresh first"
 msgstr ""
 "encontrados sub-repositórios modificados localmente, você deve executar "
 "qrefresh primeiro"
@@ -6284,12 +6598,12 @@
 msgid "please specify the patch to move"
 msgstr "por favor especifique o patch a ser movido"
 
-msgid "cleaning up working directory..."
-msgstr "limpando diretório de trabalho..."
-
-#, python-format
-msgid "errors during apply, please fix and refresh %s\n"
-msgstr "erros ao aplicar, por favor conserte e renove %s\n"
+msgid "cleaning up working directory...\n"
+msgstr "limpando diretório de trabalho...\n"
+
+#, python-format
+msgid "errors during apply, please fix and qrefresh %s\n"
+msgstr "erros ao aplicar, por favor conserte e execute qrefresh %s\n"
 
 #, python-format
 msgid "now at: %s\n"
@@ -6330,17 +6644,17 @@
 msgid "patch queue now empty\n"
 msgstr "a fila de patches agora está vazia\n"
 
-msgid "cannot refresh a revision with children"
-msgstr "não se pode renovar uma revisão com filhos"
-
-msgid "cannot refresh public revision"
-msgstr "não se pode renovar uma revisão pública"
-
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
+msgid "cannot qrefresh a revision with children"
+msgstr "não se pode executar qrefresh em uma revisão com filhos"
+
+msgid "cannot qrefresh public revision"
+msgstr "não se pode executar qrefresh em uma revisão pública"
+
+msgid ""
+"qrefresh interrupted while patch was popped! (revert --all, qpush to "
 "recover)\n"
 msgstr ""
-"renovação interrompida enquanto o patch foi desempilhado! (revert --all, "
+"qrefresh interrompido enquanto o patch foi desempilhado! (revert --all, "
 "qpush para recuperar)\n"
 
 msgid "patch queue directory already exists"
@@ -8186,11 +8500,14 @@
 msgid ""
 "    With -b/--bundle, changesets are selected as for --outgoing, but a\n"
 "    single email containing a binary Mercurial bundle as an attachment\n"
-"    will be sent."
+"    will be sent. Use the ``patchbomb.bundletype`` config option to\n"
+"    control the bundle type as with :hg:`bundle --type`."
 msgstr ""
 "    Com -b/--bundle, as revisões são selecionados assim como em\n"
 "    --outgoing, mas um único e-mail contendo em anexo um bundle\n"
-"    binário do Mercurial será enviado."
+"    binário do Mercurial será enviado. Use a opção de configuração\n"
+"    ``patchbomb.bundletype`` para controlar o tipo do bundle,\n"
+"    assim como em :hg:`bundle --type`."
 
 msgid ""
 "    With -m/--mbox, instead of previewing each patchbomb message in a\n"
@@ -8313,6 +8630,22 @@
 msgid "use only one form to specify the revision"
 msgstr "use apenas uma forma de especificar a revisão"
 
+#, python-format
+msgid "unable to access public repo: %s\n"
+msgstr "incapaz de acessar repositório público: %s\n"
+
+#, python-format
+msgid "public \"%s\" is missing %s and %i others"
+msgstr "url pública \"%s\" não possui %s e %i outros"
+
+#, python-format
+msgid "public url %s is missing %s"
+msgstr "url pública %s não possui %s"
+
+#, python-format
+msgid "use \"hg push %s %s\""
+msgstr "use \"hg push %s %s\""
+
 msgid "no recipient addresses provided"
 msgstr "nenhum endereço de destinatário fornecido"
 
@@ -8471,10 +8804,14 @@
 
 msgid ""
 "For more information:\n"
-"http://mercurial.selenic.com/wiki/RebaseExtension\n"
+"https://mercurial-scm.org/wiki/RebaseExtension\n"
 msgstr ""
 "Para mais informações:\n"
-"http://mercurial.selenic.com/wiki/RebaseExtension\n"
+"https://mercurial-scm.org/wiki/RebaseExtension\n"
+
+#. i18n: "_rebasedefaultdest" is a keyword
+msgid "_rebasedefaultdest takes no arguments"
+msgstr "_rebasedefaultdest não tem argumentos"
 
 msgid "rebase the specified changeset and descendants"
 msgstr "rebaseia a revisão especificada e seus descendentes"
@@ -8504,6 +8841,7 @@
 msgid "keep original branch names"
 msgstr "mantém nomes de ramos originais"
 
+#. i18n: "(DEPRECATED)" is a keyword, must be translated consistently
 msgid "(DEPRECATED)"
 msgstr "(OBSOLETO)"
 
@@ -8699,12 +9037,13 @@
 msgid "    "
 msgstr "    "
 
+#, python-format
 msgid ""
 "interactive history editing is supported by the 'histedit' extension (see "
-"\"hg help histedit\")"
+"\"%s\")"
 msgstr ""
 "a edição interativa de histórico é suportada pela extensão histedit (veja "
-"\"hg help histedit\")"
+"\"%s\")"
 
 msgid "message can only be specified with collapse"
 msgstr "a mensagem só pode ser especificada ao usar --collapse"
@@ -8822,6 +9161,10 @@
 msgstr "não rebaseando revisão ignorada %s\n"
 
 #, python-format
+msgid "note: not rebasing %s, already in destination as %s\n"
+msgstr "nota: omitindo rebaseamento de %s, que já está no destino como %s\n"
+
+#, python-format
 msgid "already rebased %s as %s\n"
 msgstr "revisão %s já rebaseada como %s\n"
 
@@ -8851,12 +9194,12 @@
 msgid "updating mq patch %s to %s:%s\n"
 msgstr "atualizando patch mq %s para %s:%s\n"
 
+msgid "no rebase in progress"
+msgstr "nenhum rebaseamento em andamento"
+
 msgid ".hg/rebasestate is incomplete"
 msgstr ".hg/rebasestate está incompleto"
 
-msgid "no rebase in progress"
-msgstr "nenhum rebaseamento em andamento"
-
 #, python-format
 msgid "warning: can't clean up public changesets %s\n"
 msgstr "aviso: não é possível limpar as revisões públicas %s\n"
@@ -9075,8 +9418,8 @@
 msgstr "arquivos de origem e destino estão em dispositivos diferentes"
 
 #, python-format
-msgid "tip has %d files, estimated total number of files: %s\n"
-msgstr "a tip tem %d arquivos, estimado número total de arquivos: %s\n"
+msgid "tip has %d files, estimated total number of files: %d\n"
+msgstr "a tip tem %d arquivos, estimado número total de arquivos: %d\n"
 
 msgid "collecting"
 msgstr "coletando"
@@ -10248,10 +10591,9 @@
 "** = %sdecode:\n"
 
 msgid ""
-"win32text is deprecated: "
-"http://mercurial.selenic.com/wiki/Win32TextExtension\n"
-msgstr ""
-"win32text é obsoleta: http://mercurial.selenic.com/wiki/Win32TextExtension\n"
+"win32text is deprecated: https://mercurial-scm.org/wiki/Win32TextExtension\n"
+msgstr ""
+"win32text é obsoleta: https://mercurial-scm.org/wiki/Win32TextExtension\n"
 
 msgid "discover and advertise repositories on the local network"
 msgstr "descobre e anuncia repositórios na rede local"
@@ -10407,6 +10749,10 @@
 msgid "unknown delta base"
 msgstr "base de delta desconhecida"
 
+#, python-format
+msgid "Unsupported changegroup version: %s"
+msgstr "Versão de changegroup não suportada: %s"
+
 msgid "cannot create new bundle repository"
 msgstr "não é possível criar novo repositório de bundle"
 
@@ -10422,9 +10768,43 @@
 msgid "old bundle types only supports v1 changegroups"
 msgstr "tipos de bundle antigos suportam apenas changegroups v1"
 
+#, python-format
+msgid "unknown stream compression type: %s"
+msgstr "tipo de compressão de stream desconhecido: %s"
+
+msgid "manifests"
+msgstr "manifestos"
+
+msgid "adding changesets\n"
+msgstr "adicionando revisões\n"
+
+msgid "chunks"
+msgstr "trechos"
+
+msgid "received changelog group is empty"
+msgstr "grupo de changelogs recebido é vazio"
+
+msgid "adding manifests\n"
+msgstr "adicionando manifestos\n"
+
+msgid "adding file changes\n"
+msgstr "adicionando mudanças em arquivos\n"
+
+#, python-format
+msgid " (%+d heads)"
+msgstr " (%+d cabeças)"
+
+#, python-format
+msgid "added %d changesets with %d changes to %d files%s\n"
+msgstr "adicionadas %d revisões com %d mudanças em %d arquivos%s\n"
+
 msgid "bundling"
 msgstr "criando bundle"
 
+#, python-format
+msgid "%8.i (manifests)\n"
+msgstr "%8.i (manifestos)\n"
+
 msgid "uncompressed size of bundle content:\n"
 msgstr "tamanho não comprimido do conteúdo do bundle:\n"
 
@@ -10432,13 +10812,6 @@
 msgid "%8.i (changelog)\n"
 msgstr "%8.i (changelog)\n"
 
-msgid "manifests"
-msgstr "manifestos"
-
-#, 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"
@@ -10465,29 +10838,6 @@
 msgid "missing file data for %s:%s - run hg verify"
 msgstr "faltando dados de arquivo para %s:%s - execute hg verify"
 
-msgid "adding changesets\n"
-msgstr "adicionando revisões\n"
-
-msgid "chunks"
-msgstr "trechos"
-
-msgid "received changelog group is empty"
-msgstr "grupo de changelogs recebido é vazio"
-
-msgid "adding manifests\n"
-msgstr "adicionando manifestos\n"
-
-msgid "adding file changes\n"
-msgstr "adicionando mudanças em arquivos\n"
-
-#, python-format
-msgid " (%+d heads)"
-msgstr " (%+d cabeças)"
-
-#, python-format
-msgid "added %d changesets with %d changes to %d files%s\n"
-msgstr "adicionadas %d revisões com %d mudanças em %d arquivos%s\n"
-
 msgid "filtered node"
 msgstr "nó filtrado"
 
@@ -10788,44 +11138,47 @@
 msgid "empty commit message"
 msgstr "mensagem de consolidação vazia"
 
-msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
-msgstr ""
-"HG: Edite a mensagem de consolidação.\n"
-"HG: Linhas começadas por 'HG:' serão removidas."
-
-#, python-format
-msgid "HG: user: %s"
-msgstr "HG: usuário: %s"
-
-msgid "HG: branch merge"
-msgstr "HG: mesclagem de ramos"
-
-#, python-format
-msgid "HG: branch '%s'"
-msgstr "HG: ramo '%s'"
-
-#, python-format
-msgid "HG: bookmark '%s'"
-msgstr "HG: marcador '%s'"
-
-#, python-format
-msgid "HG: subrepo %s"
-msgstr "HG: subrepo %s"
-
-#, python-format
-msgid "HG: added %s"
-msgstr "HG: adicionou %s"
-
-#, python-format
-msgid "HG: changed %s"
-msgstr "HG: modificou %s"
-
-#, python-format
-msgid "HG: removed %s"
-msgstr "HG: removeu %s"
-
-msgid "HG: no files changed"
-msgstr "HG: nenhum arquivo mudou"
+msgid "commit message unchanged"
+msgstr "a mensagem de consolidação não foi modificada"
+
+msgid "Enter commit message.  Lines beginning with 'HG:' are removed."
+msgstr ""
+"Entre com a mensagem de consolidação.  Linhas começadas por 'HG:' serão "
+"removidas."
+
+#, python-format
+msgid "user: %s"
+msgstr "usuário: %s"
+
+msgid "branch merge"
+msgstr "mesclagem de ramos"
+
+#, python-format
+msgid "branch '%s'"
+msgstr "ramo '%s'"
+
+#, python-format
+msgid "bookmark '%s'"
+msgstr "marcador '%s'"
+
+#, python-format
+msgid "subrepo %s"
+msgstr "subrepo %s"
+
+#, python-format
+msgid "added %s"
+msgstr "adicionou %s"
+
+#, python-format
+msgid "changed %s"
+msgstr "modificou %s"
+
+#, python-format
+msgid "removed %s"
+msgstr "removeu %s"
+
+msgid "no files changed"
+msgstr "nenhum arquivo mudou"
 
 msgid "created new head\n"
 msgstr "nova cabeça criada\n"
@@ -10871,12 +11224,12 @@
 msgstr "use 'hg update' para obter uma cópia de trabalho consistente"
 
 #, python-format
-msgid "can't close already inactivated backup: %s"
-msgstr "não é possível fechar um backup já desativado: %s"
-
-#, python-format
-msgid "can't release already inactivated backup: %s"
-msgstr "não é possível liberar um backup já desativado: %s"
+msgid "can't close already inactivated backup: dirstate%s"
+msgstr "não é possível fechar um backup já desativado: dirstate%s"
+
+#, python-format
+msgid "can't release already inactivated backup: dirstate%s"
+msgstr "não é possível liberar um backup já desativado: dirstate%s"
 
 msgid "repository root directory or name of overlay bundle file"
 msgstr ""
@@ -11362,6 +11715,13 @@
 "      de REV como uma cabeça a ser mesclada explicitamente."
 
 msgid ""
+"    See :hg:`help revert` for a way to restore files to the state\n"
+"    of another revision."
+msgstr ""
+"    Veja :hg:`help revert` para uma maneira de restaurar arquivos\n"
+"    para seus estados em uma outra revisão."
+
+msgid ""
 "    Returns 0 on success, 1 if nothing to backout or there are unresolved\n"
 "    files.\n"
 "    "
@@ -11662,6 +12022,9 @@
 msgid "delete a given bookmark"
 msgstr "apaga o marcador pedido"
 
+msgid "OLD"
+msgstr "ANTIGO"
+
 msgid "rename a given bookmark"
 msgstr "renomeia um marcador"
 
@@ -11739,6 +12102,12 @@
 msgid "          hg book -r .^ tested"
 msgstr "          hg book -r .^ tested"
 
+msgid "      - rename bookmark turkey to dinner::"
+msgstr "      - renomeia o marcador 'turkey' para 'dinner'::"
+
+msgid "          hg book -m turkey dinner"
+msgstr "          hg book -m turkey dinner"
+
 msgid "      - move the '@' bookmark from another branch::"
 msgstr "      - move o marcador '@' de outro ramo::"
 
@@ -11952,14 +12321,18 @@
 "    -a/--all (ou --base null)."
 
 msgid ""
-"    You can change compression method with the -t/--type option.\n"
-"    The available compression methods are: none, bzip2, and\n"
-"    gzip (by default, bundles are compressed using bzip2)."
-msgstr ""
-"    Você pode mudar o método de compressão aplicado com a opção\n"
-"    -t/--type. Os métodos de compressão disponíveis são: none\n"
-"    (nenhum), bzip2 e gzip (por padrão, bundles são comprimidos\n"
-"    usando bzip2)."
+"    You can change bundle format with the -t/--type option. You can\n"
+"    specify a compression, a bundle version or both using a dash\n"
+"    (comp-version). The available compression methods are: none, bzip2,\n"
+"    and gzip (by default, bundles are compressed using bzip2). The\n"
+"    available format are: v1, v2 (default to most suitable)."
+msgstr ""
+"    Você pode mudar o formato do bundle com a opção -t/--type. Você\n"
+"    pode especificar compressão, versão de bundle ou ambos usando\n"
+"    um traço (comp-versão) Os métodos de compressão disponíveis são:\n"
+"    none (nenhum), bzip2 e gzip (por padrão, bundles são comprimidos\n"
+"    usando bzip2). Os formatos disponíveis são: v1, v2 (o padrão é\n"
+"    o mais adequado)."
 
 msgid ""
 "    The bundle file can then be transferred using conventional means\n"
@@ -11988,8 +12361,14 @@
 "    Devolve 0 indicando sucesso, 1 se não foram encontradas mudanças.\n"
 "    "
 
-msgid "unknown bundle type specified with --type"
-msgstr "tipo de bundle especificado por --type desconhecido"
+msgid "see \"hg help bundle\" for supported values for --type"
+msgstr "veja \"hg help bundle\" para valores suportados em --type"
+
+msgid "packed bundles cannot be produced by \"hg bundle\""
+msgstr "packed bundles não podem ser produzidos por \"hg bundle\""
+
+msgid "use \"hg debugcreatestreamclonebundle\""
+msgstr "use \"hg debugcreatestreamclonebundle\""
 
 msgid "--base is incompatible with specifying a destination"
 msgstr "--base é incompatível com uma especificação de destino"
@@ -12598,6 +12977,25 @@
 msgid "not a bundle2 file"
 msgstr "não é um arquivo bundle2"
 
+msgid "create a stream clone bundle file"
+msgstr "cria um arquivo de bundle para clone por stream"
+
+msgid ""
+"    Stream bundles are special bundles that are essentially archives of\n"
+"    revlog files. They are commonly used for cloning very quickly.\n"
+"    "
+msgstr ""
+"    Stream bundles são bundles especiais, formados essencialmente\n"
+"    pelos arquivos revlog empacotados. Eles são comumente usados\n"
+"    para acelerar a clonagem.    "
+
+#, python-format
+msgid "bundle requirements: %s\n"
+msgstr "requirementos do bundle: %s\n"
+
+msgid "apply a stream clone bundle file"
+msgstr "aplica um arquivo bundle de clone por stream"
+
 msgid "validate the correctness of the current dirstate"
 msgstr "valida a exatidão do dirstate atual"
 
@@ -12708,6 +13106,24 @@
 msgid "runs the changeset discovery protocol in isolation"
 msgstr "executa o protocolo discovery isoladamente"
 
+msgid "show information about active extensions"
+msgstr "mostra informações sobre extensões ativas"
+
+msgid " (untested!)\n"
+msgstr " (não testada!)\n"
+
+#, python-format
+msgid "  location: %s\n"
+msgstr "  localização: %s\n"
+
+#, python-format
+msgid "  tested with: %s\n"
+msgstr "  testada com: %s\n"
+
+#, python-format
+msgid "  bug reporting: %s\n"
+msgstr "  informar sobre bugs em: %s\n"
+
 msgid "apply the filespec on this revision"
 msgstr "aplica o filespec nesta revisão"
 
@@ -12744,6 +13160,9 @@
 "    Grava o bundle no arquivo pedido.\n"
 "    "
 
+msgid "unknown bundle type specified with --type"
+msgstr "tipo de bundle especificado por --type desconhecido"
+
 msgid "display the combined ignore pattern"
 msgstr "exibe o padrão combinado de arquivos ignorados"
 
@@ -12864,6 +13283,16 @@
 "compatibilidade retroativa com antigos scripts bash de completação "
 "(OBSOLETO)"
 
+msgid "print merge state"
+msgstr "imprime o estado da mesclagem"
+
+msgid ""
+"    Use --verbose to print out information about whether v1 or v2 merge state\n"
+"    was chosen."
+msgstr ""
+"    Use --verbose para imprimir informações a respeito de como foi\n"
+"    feita a escolha entre os estados de mesclagem v1 e v2.    "
+
 msgid "NAME..."
 msgstr "NOME..."
 
@@ -12928,8 +13357,8 @@
 msgid "display markers relevant to REV"
 msgstr "mostra marcações relevantes para REV"
 
-msgid "[OBSOLETED [REPLACEMENT] [REPL... ]"
-msgstr "[OBSOLETA [SUBSTITUTA] [SUBSTITUTA... ]"
+msgid "[OBSOLETED [REPLACEMENT ...]]"
+msgstr "[[OBSOLETA [SUBSTITUTA ...]]"
 
 msgid "create arbitrary obsolete marker"
 msgstr "cria uma marcação de obsolescência arbitrária"
@@ -13016,6 +13445,10 @@
 msgid "revision to rebuild to"
 msgstr "revisão para a qual reconstruir"
 
+msgid "only rebuild files that are inconsistent with the working copy parent"
+msgstr ""
+"apenas reconstrói arquivos inconsistentes com o pai da cópia de trabalho"
+
 msgid "[-r REV]"
 msgstr "[-r REV]"
 
@@ -13037,6 +13470,18 @@
 "    no dirstate (como adições e remoções) não são considerados."
 
 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 ""
+"    ``minimal`` só reconstruirá o status do dirstate para arquivos\n"
+"    rastreados que não estejam no manifesto do pai, ou que estejam\n"
+"    no manifesto do pai mas não no dirstate. Arquivos adicionados,\n"
+"    removidos ou modificados presentes no pai da cópia de trabalho\n"
+"    não serão modificados."
+
+msgid ""
 "    One use of this command is to make the next :hg:`status` invocation\n"
 "    check the actual file content.\n"
 "    "
@@ -13865,8 +14310,8 @@
 msgid "show topics matching keyword"
 msgstr "mostra os tópicos que correspondem à palavra chave"
 
-msgid "[-ec] [TOPIC]"
-msgstr "[-ec] [TÓPICO]"
+msgid "[-eck] [TOPIC]"
+msgstr "[-eck] [TÓPICO]"
 
 msgid "show help for a given topic or a help overview"
 msgstr "exibe o texto de ajuda geral ou de um tópico pedido"
@@ -14666,54 +15111,6 @@
 "    Devolve 0 para indicar sucesso, 1 se houver arquivos não resolvidos.\n"
 "    "
 
-msgid ""
-"multiple matching bookmarks to merge - please merge with an explicit rev or "
-"bookmark"
-msgstr ""
-"múltiplos marcadores para mesclar - por favor mescle com uma revisão ou "
-"marcador explícitos"
-
-msgid "run 'hg heads' to see all heads"
-msgstr "execute 'hg heads' para ver todas as cabeças"
-
-msgid ""
-"no matching bookmark to merge - please merge with an explicit rev or "
-"bookmark"
-msgstr ""
-"nenhum marcador correspondente para mesclar - por favor mescle com uma "
-"revisão ou marcador explícitos"
-
-#, python-format
-msgid "branch '%s' has %d heads - please merge with an explicit rev"
-msgstr ""
-"o ramo '%s' tem %d cabeças - por favor mescle com uma revisão explícita"
-
-msgid "run 'hg heads .' to see heads"
-msgstr "execute 'hg heads .' para ver as cabeças"
-
-msgid "heads are bookmarked - please merge with an explicit rev"
-msgstr ""
-"as cabeças estão marcadas com bookmarks - por favor mescle com uma revisão "
-"explícita"
-
-#, python-format
-msgid "branch '%s' has one head - please merge with an explicit rev"
-msgstr ""
-"o ramo '%s' tem apenas uma cabeça - por favor mescle com uma revisão "
-"explícita"
-
-msgid "nothing to merge"
-msgstr "nada para mesclar"
-
-msgid "use 'hg update' instead"
-msgstr "use 'hg update'"
-
-msgid "working directory not at a head revision"
-msgstr "o diretório de trabalho não está em uma cabeça"
-
-msgid "use 'hg update' or merge with an explicit revision"
-msgstr "use 'hg update' ou mescle com uma revisão explícita"
-
 msgid "a changeset intended to be included in the destination"
 msgstr "uma revisão que se deva incluir no destino"
 
@@ -14918,12 +15315,10 @@
 msgid "        public < draft < secret"
 msgstr "        pública < rascunho < secreta"
 
-msgid ""
-"    Returns 0 on success, 1 if no phases were changed or some could not\n"
-"    be changed."
-msgstr ""
-"    Devolve 0 para indicar sucesso, 1 se não houver mudanças de fase\n"
-"    ou se algumas não puderam ser mudadas."
+msgid "    Returns 0 on success, 1 if some phases could not be changed."
+msgstr ""
+"    Devolve 0 para indicar sucesso, 1 se algumas fases não puderam\n"
+"    ser mudadas."
 
 msgid ""
 "    (For more information about the phases concept, see :hg:`help phases`.)\n"
@@ -15110,16 +15505,16 @@
 "    para enviar.\n"
 "    "
 
-#, python-format
-msgid "pushing to %s\n"
-msgstr "enviando revisões para %s\n"
-
 msgid "default repository not configured!"
 msgstr "o caminho default do repositório não foi configurado!"
 
 msgid "see the \"path\" section in \"hg help config\""
 msgstr "veja a seção \"path\" em \"hg help config\""
 
+#, python-format
+msgid "pushing to %s\n"
+msgstr "enviando revisões para %s\n"
+
 msgid "specified revisions evaluate to an empty set"
 msgstr "as revisões especificadas resultam em um conjunto vazio"
 
@@ -15370,12 +15765,25 @@
 msgid "resolve command not applicable when not merging"
 msgstr "o comando resolve não pode ser usado fora de uma mesclagem"
 
+#, python-format
+msgid "not marking %s as it is driver-resolved\n"
+msgstr ""
+
+#, python-format
+msgid "not unmarking %s as it is driver-resolved\n"
+msgstr ""
+
 msgid "arguments do not match paths that need resolving\n"
 msgstr "os argumentos não correspondem a caminhos que necessitem de resolução\n"
 
 msgid "(no more unresolved files)\n"
 msgstr "(não há mais arquivos não resolvidos)\n"
 
+msgid "(no more unresolved files -- run \"hg resolve --all\" to conclude)\n"
+msgstr ""
+"(não há mais arquivos não resolvidos -- execute \"hg resolve --all\" para "
+"concluir)\n"
+
 msgid "revert all changes when no arguments given"
 msgstr "se parâmetros não forem fornecidos, reverte todas as mudanças"
 
@@ -15441,6 +15849,13 @@
 "    Arquivos modificados são gravados com um sufixo .orig antes da\n"
 "    reversão. Para desabilitar essas cópias, use --no-backup."
 
+msgid ""
+"    See :hg:`help backout` for a way to reverse the effect of an\n"
+"    earlier changeset."
+msgstr ""
+"    Veja :hg:`help backout` para uma forma de reverter o efeito\n"
+"    de uma revisão anterior."
+
 msgid "you can't specify a revision and a date"
 msgstr "você não pode especificar uma revisão e uma data"
 
@@ -16144,10 +16559,15 @@
 msgid "%s: unknown bundle feature, %s"
 msgstr "%s: característica de bundle %s desconhecida"
 
-msgid ""
-"see https://mercurial.selenic.com/wiki/BundleFeature for more information"
-msgstr ""
-"veja http://mercurial.selenic.com/wiki/BundleFeature para mais informações"
+msgid "see https://mercurial-scm.org/wiki/BundleFeature for more information"
+msgstr ""
+"veja https://mercurial-scm.org/wiki/BundleFeature para mais informações"
+
+msgid "packed bundles cannot be applied with \"hg unbundle\""
+msgstr "packed bundles não podem ser aplicados com \"hg unbundle\""
+
+msgid "use \"hg debugapplystreamclonebundle\""
+msgstr "use \"hg debugapplystreamclonebundle\""
 
 msgid "discard uncommitted changes (no backup)"
 msgstr "descarta mudanças não consolidadas (sem backup)"
@@ -16283,11 +16703,11 @@
 "    integridade de seus índices e ligações cruzadas."
 
 msgid ""
-"    Please see http://mercurial.selenic.com/wiki/RepositoryCorruption\n"
+"    Please see https://mercurial-scm.org/wiki/RepositoryCorruption\n"
 "    for more information about recovery from corruption of the\n"
 "    repository."
 msgstr ""
-"    Por favor veja http://mercurial.selenic.com/wiki/RepositoryCorruption\n"
+"    Por favor veja https://mercurial-scm.org/wiki/RepositoryCorruption\n"
 "    para mais informações sobre recuperação de repositórios corrompidos."
 
 msgid "output version and copyright information"
@@ -16297,8 +16717,8 @@
 msgid "Mercurial Distributed SCM (version %s)\n"
 msgstr "Sistema de controle de versão distribuído Mercurial (versão %s)\n"
 
-msgid "(see http://mercurial.selenic.com for more information)"
-msgstr "(veja http://mercurial.selenic.com para mais informações)"
+msgid "(see https://mercurial-scm.org for more information)"
+msgstr "(veja https://mercurial-scm.org para mais informações)"
 
 msgid ""
 "Copyright (C) 2005-2015 Matt Mackall and others\n"
@@ -16425,7 +16845,7 @@
 msgstr "o módulo curses/wcurses do Python não está disponível"
 
 msgid "confirm"
-msgstr ""
+msgstr "confirmar"
 
 msgid "starting interactive selection\n"
 msgstr "iniciando seleção interativa\n"
@@ -16487,9 +16907,73 @@
 msgid "nullid"
 msgstr "nullid"
 
+msgid "commit and merge, or update --clean to discard changes"
+msgstr "execute commit e merge, ou update --clean para descartar mudanças"
+
+msgid "not a linear update"
+msgstr "não é uma atualização linear"
+
+msgid "merge or update --check to force update"
+msgstr "execute merge, ou update --check para forçar a atualização"
+
+#, python-format
+msgid "branch %s not found"
+msgstr "ramo %s não encontrado"
+
+msgid ""
+"multiple matching bookmarks to merge - please merge with an explicit rev or "
+"bookmark"
+msgstr ""
+"múltiplos marcadores para mesclar - por favor mescle com uma revisão ou "
+"marcador explícitos"
+
+msgid "run 'hg heads' to see all heads"
+msgstr "execute 'hg heads' para ver todas as cabeças"
+
+msgid ""
+"no matching bookmark to merge - please merge with an explicit rev or "
+"bookmark"
+msgstr ""
+"nenhum marcador correspondente para mesclar - por favor mescle com uma "
+"revisão ou marcador explícitos"
+
+#, python-format
+msgid "branch '%s' has %d heads - please merge with an explicit rev"
+msgstr ""
+"o ramo '%s' tem %d cabeças - por favor mescle com uma revisão explícita"
+
+msgid "run 'hg heads .' to see heads"
+msgstr "execute 'hg heads .' para ver as cabeças"
+
+msgid "heads are bookmarked - please merge with an explicit rev"
+msgstr ""
+"as cabeças estão marcadas com bookmarks - por favor mescle com uma revisão "
+"explícita"
+
+#, python-format
+msgid "branch '%s' has one head - please merge with an explicit rev"
+msgstr ""
+"o ramo '%s' tem apenas uma cabeça - por favor mescle com uma revisão "
+"explícita"
+
+msgid "nothing to merge"
+msgstr "nada para mesclar"
+
+msgid "use 'hg update' instead"
+msgstr "use 'hg update'"
+
+msgid "working directory not at a head revision"
+msgstr "o diretório de trabalho não está em uma cabeça"
+
+msgid "use 'hg update' or merge with an explicit revision"
+msgstr "use 'hg update' ou mescle com uma revisão explícita"
+
 msgid "working directory state appears damaged!"
 msgstr "estado do diretório de trabalho parece danificado!"
 
+msgid "working directory state may be changed parallelly"
+msgstr "estado do diretório de trabalho pode ser mudado em paralelo"
+
 #, python-format
 msgid "directory %r already in dirstate"
 msgstr "diretório %r já está em dirstate"
@@ -16680,9 +17164,6 @@
 msgid "abort: error: %s\n"
 msgstr "abortado: erro: %s\n"
 
-msgid "broken pipe\n"
-msgstr "pipe quebrado\n"
-
 #, python-format
 msgid "abort: %s: '%s'\n"
 msgstr "abortado: %s: '%s'\n"
@@ -16690,13 +17171,6 @@
 msgid "interrupted!\n"
 msgstr "interrompido!\n"
 
-msgid ""
-"\n"
-"broken pipe\n"
-msgstr ""
-"\n"
-"pipe quebrado\n"
-
 msgid "abort: out of memory\n"
 msgstr "abortado: sem memória\n"
 
@@ -16715,13 +17189,15 @@
 "** Por favor desabilite %s e tente sua ação novamente.\n"
 "** Se isso corrigir o erro, por favor informe-o para %s\n"
 
-msgid "** unknown exception encountered, please report by visiting\n"
-msgstr ""
-"** exceção desconhecida encontrada, por favor informe sobre esse erro "
-"visitando\n"
-
-msgid "** http://mercurial.selenic.com/wiki/BugTracker\n"
-msgstr "** http://mercurial.selenic.com/wiki/BugTracker\n"
+msgid "https://mercurial-scm.org/wiki/BugTracker"
+msgstr "https://mercurial-scm.org/wiki/BugTracker"
+
+msgid ""
+"** unknown exception encountered, please report by visiting\n"
+"** "
+msgstr ""
+"** exceção desconhecida encontrada, por favor informe sobre esse erro visitando\n"
+"** "
 
 #, python-format
 msgid "** Python %s\n"
@@ -16839,6 +17315,32 @@
 msgstr "identificador desconhecido: %s"
 
 #, python-format
+msgid "invalid bundle specification: missing \"=\" in parameter: %s"
+msgstr "especificação de bundle inválida: faltando \"=\" no parâmetro: %s"
+
+#, python-format
+msgid "invalid bundle specification; must be prefixed with compression: %s"
+msgstr ""
+"especificação de bundle inválida; deve ser precedida pelo modo de "
+"compressão: %s"
+
+#, python-format
+msgid "%s compression is not supported"
+msgstr "a compressão %s não é suportada"
+
+#, python-format
+msgid "%s is not a recognized bundle version"
+msgstr "%s não é uma versão de bundle reconhecida"
+
+#, python-format
+msgid "%s is not a recognized bundle specification"
+msgstr "%s não é uma especificação de bundle reconhecida"
+
+#, python-format
+msgid "missing support for repository features: %s"
+msgstr "características do repositório não são suportadas: %s"
+
+#, python-format
 msgid "%s: not a Mercurial bundle"
 msgstr "%s: não é um arquivo de bundle do Mercurial"
 
@@ -16908,6 +17410,9 @@
 msgid "server ignored bookmark %s update\n"
 msgstr "o servidor ignorou a atualização do marcador %s\n"
 
+msgid "push failed on remote"
+msgstr "o push falhou no remoto"
+
 #, python-format
 msgid "cannot lock source repo, skipping local %s phase update\n"
 msgstr ""
@@ -16917,6 +17422,9 @@
 msgid "failed to push some obsolete markers!\n"
 msgstr "erro ao enviar algumas marcações de obsolescência!\n"
 
+msgid "streaming all changes\n"
+msgstr "encadeando todas as mudanças\n"
+
 msgid "requesting all changes\n"
 msgstr "pedindo todas as mudanças\n"
 
@@ -16934,22 +17442,42 @@
 msgid "unsupported getbundle arguments: %s"
 msgstr "argumentos de getbundle não suportados: %s"
 
-msgid "streaming all changes\n"
-msgstr "encadeando todas as mudanças\n"
-
-msgid "unexpected response from remote server:"
-msgstr "resposta inesperada do servidor remoto:"
-
-#, python-format
-msgid "%d files to transfer, %s of data\n"
-msgstr "%d arquivos para transferir, %s de dados\n"
-
-msgid "clone"
-msgstr "clone"
-
-#, python-format
-msgid "transferred %s in %.1f seconds (%s/sec)\n"
-msgstr "transferidos %s em %.1f segundos (%s/s)\n"
+msgid "no clone bundles available on remote; falling back to regular clone\n"
+msgstr ""
+
+msgid ""
+"no compatible clone bundles available on server; falling back to regular "
+"clone\n"
+msgstr ""
+
+msgid "(you may want to report this to the server operator)\n"
+msgstr ""
+
+#, python-format
+msgid "applying clone bundle from %s\n"
+msgstr "aplicando clone bundle de %s\n"
+
+msgid "finished applying clone bundle\n"
+msgstr ""
+
+msgid "falling back to normal clone\n"
+msgstr "tentando uma clonagem normal\n"
+
+msgid "error applying bundle"
+msgstr ""
+
+msgid ""
+"if this error persists, consider contacting the server operator or disable "
+"clone bundles via \"--config experimental.clonebundles=false\""
+msgstr ""
+
+#, python-format
+msgid "HTTP error fetching bundle: %s\n"
+msgstr "erro HTTP ao obter bundle: %s\n"
+
+#, python-format
+msgid "error fetching bundle: %s\n"
+msgstr "erro ao obter bundle: %s\n"
 
 #, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
@@ -17032,6 +17560,31 @@
 msgid "%s.premerge not valid ('%s' is neither boolean nor %s)"
 msgstr "%s.premerge não é válido ('%s' não é nem booleano nem %s)"
 
+#, python-format
+msgid "warning: internal %s cannot merge symlinks for %s\n"
+msgstr ""
+"aviso: a ferramenta interna %s não é capaz de mesclar links simbólicos para "
+"%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"
+"Usa o algoritmo não interativo interno simples para mesclar arquivos.\n"
+"    Este algoritmo usará tanto o lado esquerdo como o direito para\n"
+"    regiões de conflito.\n"
+"    Ele não insere marcações."
+
+#, python-format
+msgid ""
+"warning: conflicts while merging %s! (edit, then use 'hg resolve --mark')\n"
+msgstr ""
+"aviso: conflitos ao mesclar %s! (edite os conflitos, e em seguida use 'hg "
+"resolve --mark')\n"
+
 msgid ""
 "``:merge``\n"
 "Uses the internal non-interactive simple merge algorithm for merging\n"
@@ -17045,16 +17598,6 @@
 "    marcações no arquivo parcialmente mesclado.\n"
 "    As marcações terão duas seções, uma para cada lado da mesclagem."
 
-#, python-format
-msgid "merging %s incomplete! (edit conflicts, then use 'hg resolve --mark')\n"
-msgstr ""
-"a mesclagem de %s está incompleta! (edite os conflitos, e em seguida use 'hg"
-" resolve --mark')\n"
-
-#, python-format
-msgid "warning: internal :merge cannot merge symlinks for %s\n"
-msgstr "aviso: :merge interno não é capaz de mesclar links simbólicos para %s\n"
-
 msgid ""
 "``:merge3``\n"
 "Uses the internal non-interactive simple merge algorithm for merging\n"
@@ -17069,6 +17612,28 @@
 "    As marcações terão três seções, uma para cada lado da mesclagem\n"
 "    e uma para o conteúdo da base."
 
+#, python-format
+msgid "warning: :merge-%s cannot merge symlinks for %s\n"
+msgstr "aviso: :merge-%s não é capaz de mesclar links simbólicos para %s\n"
+
+msgid ""
+"``:merge-local``\n"
+"Like :merge, but resolve all conflicts non-interactively in favor\n"
+"    of the local changes."
+msgstr ""
+"``:merge-local``\n"
+"Como :merge, mas resolve de forma não interativa todos os conflitos,\n"
+"    favorecendo mudanças locais."
+
+msgid ""
+"``:merge-other``\n"
+"Like :merge, but resolve all conflicts non-interactively in favor\n"
+"    of the other changes."
+msgstr ""
+"``:merge-other``\n"
+"Como :merge, mas resolve de forma não interativa todos os conflitos,\n"
+"    favorecendo as outras mudanças."
+
 msgid ""
 "``:tagmerge``\n"
 "Uses the internal tag merge algorithm (experimental)."
@@ -17142,10 +17707,10 @@
 
 msgid ""
 "``modified()``\n"
-"    File that is modified according to status."
+"    File that is modified according to :hg:`status`."
 msgstr ""
 "``modified()``\n"
-"    Arquivo com status modificado (M)."
+"    Arquivo modificado de acordo com :hg:`status`."
 
 #. i18n: "modified" is a keyword
 msgid "modified takes no arguments"
@@ -17153,10 +17718,10 @@
 
 msgid ""
 "``added()``\n"
-"    File that is added according to status."
+"    File that is added according to :hg:`status`."
 msgstr ""
 "``added()``\n"
-"    Arquivo com status adicionado (A)."
+"    Arquivo adicionado de acordo com :hg:`status`."
 
 #. i18n: "added" is a keyword
 msgid "added takes no arguments"
@@ -17164,10 +17729,10 @@
 
 msgid ""
 "``removed()``\n"
-"    File that is removed according to status."
+"    File that is removed according to :hg:`status`."
 msgstr ""
 "``removed()``\n"
-"    Arquivo com status removido (R)."
+"    Arquivo removido de acordo com :hg:`status`."
 
 #. i18n: "removed" is a keyword
 msgid "removed takes no arguments"
@@ -17175,10 +17740,10 @@
 
 msgid ""
 "``deleted()``\n"
-"    File that is deleted according to status."
+"    File that is deleted according to :hg:`status`."
 msgstr ""
 "``deleted()``\n"
-"    Arquivo com status apagado (!)."
+"    Arquivo apagado de acordo com :hg:`status`."
 
 #. i18n: "deleted" is a keyword
 msgid "deleted takes no arguments"
@@ -17186,11 +17751,11 @@
 
 msgid ""
 "``unknown()``\n"
-"    File that is unknown according to status. These files will only be\n"
+"    File that is unknown according to :hg:`status`. These files will only be\n"
 "    considered if this predicate is used."
 msgstr ""
 "``unknown()``\n"
-"    Arquivo com status desconhecido (?). Tais arquivos só serão\n"
+"    Arquivo desconhecido de acordo com :hg:`status`. Tais arquivos só serão\n"
 "    considerados se este predicado for usado."
 
 #. i18n: "unknown" is a keyword
@@ -17199,11 +17764,11 @@
 
 msgid ""
 "``ignored()``\n"
-"    File that is ignored according to status. These files will only be\n"
+"    File that is ignored according to :hg:`status`. These files will only be\n"
 "    considered if this predicate is used."
 msgstr ""
 "``ignored()``\n"
-"    Arquivo com status ignorado (I). Tais arquivos só serão\n"
+"    Arquivo ignorado de acordo com :hg:`status`. Estes arquivos só serão\n"
 "    considerados se este predicado for usado."
 
 #. i18n: "ignored" is a keyword
@@ -17212,10 +17777,10 @@
 
 msgid ""
 "``clean()``\n"
-"    File that is clean according to status."
+"    File that is clean according to :hg:`status`."
 msgstr ""
 "``clean()``\n"
-"    Arquivo com status limpo (C)."
+"    Arquivo limpo de acordo com :hg:`status`."
 
 #. i18n: "clean" is a keyword
 msgid "clean takes no arguments"
@@ -17256,11 +17821,11 @@
 
 msgid ""
 "``resolved()``\n"
-"    File that is marked resolved according to the resolve state."
+"    File that is marked resolved according to :hg:`resolve -l`."
 msgstr ""
 "``resolved()``\n"
-"    O arquivo foi marcado como resolvido de acordo com o estado de\n"
-"    resolução (comando resolve)."
+"    O arquivo foi marcado como resolvido de acordo com\n"
+"    :hg:`resolve -l`."
 
 #. i18n: "resolved" is a keyword
 msgid "resolved takes no arguments"
@@ -17268,11 +17833,11 @@
 
 msgid ""
 "``unresolved()``\n"
-"    File that is marked unresolved according to the resolve state."
+"    File that is marked unresolved according to :hg:`resolve -l`."
 msgstr ""
 "``unresolved()``\n"
-"    O arquivo foi marcado como não resolvido de acordo com o estado de\n"
-"    resolução (comando resolve)."
+"    O arquivo foi marcado como não resolvido de acordo com\n"
+"    :hg:`resolve -l`."
 
 #. i18n: "unresolved" is a keyword
 msgid "unresolved takes no arguments"
@@ -17449,18 +18014,16 @@
 msgid "bad (implicit)"
 msgstr "ruim (implicitamente)"
 
+#. i18n: "(EXPERIMENTAL)" is a keyword, must be translated consistently
+msgid "(EXPERIMENTAL)"
+msgstr "(EXPERIMENTAL)"
+
 msgid "enabled extensions:"
 msgstr "extensões habilitadas:"
 
 msgid "disabled extensions:"
 msgstr "extensões desabilitadas:"
 
-msgid "DEPRECATED"
-msgstr "OBSOLETO"
-
-msgid "EXPERIMENTAL"
-msgstr "EXPERIMENTAL"
-
 msgid " ([+] can be repeated)"
 msgstr " ([+] pode ser repetido)"
 
@@ -17705,6 +18268,36 @@
 "aspectos de seu comportamento."
 
 msgid ""
+"Troubleshooting\n"
+"==============="
+msgstr ""
+"Resolução de Problemas\n"
+"======================"
+
+msgid ""
+"If you're having problems with your configuration,\n"
+":hg:`config --debug` can help you understand what is introducing\n"
+"a setting into your environment."
+msgstr ""
+"Se você tiver problemas com sua configuração,\n"
+":hg:`config --debug` pode ajudar a entender o que está introduzindo\n"
+"uma configuração em seu ambiente."
+
+msgid ""
+"See :hg:`help config.syntax` and :hg:`help config.files`\n"
+"for information about how and where to override things."
+msgstr ""
+"Veja :hg:`help config.syntax` e :hg:`help config.files` para mais\n"
+"informações sobre como e onde modificar configurações."
+
+msgid ""
+"Format\n"
+"======"
+msgstr ""
+"Formato\n"
+"======="
+
+msgid ""
 "The configuration files use a simple ini-file format. A configuration\n"
 "file consists of sections, led by a ``[section]`` header and followed\n"
 "by ``name = value`` entries::"
@@ -17724,10 +18317,10 @@
 
 msgid ""
 "The above entries will be referred to as ``ui.username`` and\n"
-"``ui.verbose``, respectively. See the Syntax section below."
+"``ui.verbose``, respectively. See :hg:`help config.syntax`."
 msgstr ""
 "As entradas acima são referidas como ``ui.username`` e\n"
-"``ui.verbose``, respectivamente. Veja a seção Sintaxe abaixo."
+"``ui.verbose``, respectivamente. Veja :hg:`help config.syntax`."
 
 msgid ""
 "Files\n"
@@ -17795,9 +18388,9 @@
 "  - ``%USERPROFILE%\\Mercurial.ini`` (per-user)\n"
 "  - ``%HOME%\\.hgrc`` (per-user)\n"
 "  - ``%HOME%\\Mercurial.ini`` (per-user)\n"
-"  - ``<install-dir>\\Mercurial.ini`` (per-installation)\n"
+"  - ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (per-installation)\n"
 "  - ``<install-dir>\\hgrc.d\\*.rc`` (per-installation)\n"
-"  - ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (per-installation)\n"
+"  - ``<install-dir>\\Mercurial.ini`` (per-installation)\n"
 "  - ``<internal>/default.d/*.rc`` (defaults)"
 msgstr ""
 "  - ``<repo>/.hg/hgrc`` (por repositório)\n"
@@ -17805,9 +18398,9 @@
 "  - ``%USERPROFILE%\\Mercurial.ini`` (por usuário)\n"
 "  - ``%HOME%\\.hgrc`` (por usuário)\n"
 "  - ``%HOME%\\Mercurial.ini`` (por usuário)\n"
+"  - ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (por instalação)\n"
 "  - ``<install-dir>\\Mercurial.ini`` (por instalação)\n"
 "  - ``<install-dir>\\hgrc.d\\*.rc`` (por instalação)\n"
-"  - ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (por instalação)\n"
 "  - ``<interno>/default.d/*.rc`` (padrões)"
 
 msgid ""
@@ -17843,8 +18436,8 @@
 "will not get transferred during a \"clone\" operation. Options in\n"
 "this file override options in all other configuration files. On\n"
 "Plan 9 and Unix, most of this file will be ignored if it doesn't\n"
-"belong to a trusted user or to a trusted group. See the documentation\n"
-"for the ``[trusted]`` section below for more details."
+"belong to a trusted user or to a trusted group. See\n"
+":hg:`help config.trusted` for more details."
 msgstr ""
 "Configurações específicas por repositório só se aplicam a um\n"
 "repositório em particular. Este arquivo\n"
@@ -17852,7 +18445,7 @@
 "\"clone\". Opções neste arquivo sobrepõem opções em qualquer outro\n"
 "arquivo de configuração. No Plan 9 e Unix, a maior parte deste arquivo\n"
 "será ignorada se ele não pertencer a um usuário ou grupo\n"
-"confiável; veja abaixo a documentação sobre a seção [trusted]\n"
+"confiável; veja :hg:`help config.trusted`\n"
 "para maiores detalhes."
 
 msgid ""
@@ -18144,16 +18737,17 @@
 "``alias``\n"
 "---------"
 
-msgid ""
-"Defines command aliases.\n"
+msgid "Defines command aliases."
+msgstr "Define apelidos para comandos."
+
+msgid ""
 "Aliases allow you to define your own commands in terms of other\n"
 "commands (or aliases), optionally including arguments. Positional\n"
-"arguments in the form of ``$1``, ``$2``, etc in the alias definition\n"
+"arguments in the form of ``$1``, ``$2``, etc. in the alias definition\n"
 "are expanded by Mercurial before execution. Positional arguments not\n"
 "already used by ``$N`` in the definition are put at the end of the\n"
 "command to be executed."
 msgstr ""
-"Define apelidos para comandos.\n"
 "Apelidos são novos comandos definidos em termos de outros comandos\n"
 "(ou outros apelidos), opcionalmente incluindo argumentos. Argumentos\n"
 "posicionais na forma de ``$1``, ``$2``, etc na definição do apelido\n"
@@ -18275,11 +18869,11 @@
 
 msgid ""
 "Settings used when displaying file annotations. All values are\n"
-"Booleans and default to False. See ``diff`` section for related\n"
-"options for the diff command."
+"Booleans and default to False. See :hg:`help config.diff` for\n"
+"related options for the diff command."
 msgstr ""
 "Definições usadas ao exibir anotações de arquivo. Todos os valores\n"
-"são booleanos com padrão False. Veja a seção ``diff`` para opções\n"
+"são booleanos com padrão False. Veja :hg:`help config.diff` para opções\n"
 "relacionadas do comando diff."
 
 msgid ""
@@ -18315,12 +18909,12 @@
 msgid ""
 "Authentication credentials for HTTP authentication. This section\n"
 "allows you to store usernames and passwords for use when logging\n"
-"*into* HTTP servers. See the ``[web]`` configuration section if\n"
+"*into* HTTP servers. See :hg:`help config.web` if\n"
 "you want to configure *who* can login to your HTTP server."
 msgstr ""
 "Credenciais de autenticação HTTP. Esta seção pode ser usada para\n"
 "armazenar nomes de usuário e senhas usados para acessar servidores\n"
-"HTTP remotos. Veja a seção de configuração ``[web]`` para configurar\n"
+"HTTP remotos. Veja :hg:`help config.web` para configurar\n"
 "*quem* pode acessar o seu servidor HTTP local."
 
 msgid "Each line has the following format::"
@@ -18432,14 +19026,14 @@
 "    authentication entry with. Only used if the prefix doesn't include\n"
 "    a scheme. Supported schemes are http and https. They will match\n"
 "    static-http and static-https respectively, as well.\n"
-"    Default: https."
+"    (default: https)"
 msgstr ""
 "``schemes``\n"
 "    Opcional. Lista separada por espaços de esquemas URI com os quais\n"
 "    usar esta entrada de autenticação. Só será usado se o prefixo não\n"
 "    incluir um esquema. Os esquemas suportados são http e https. Eles\n"
 "    também combinarão com static-http e static-https, respectivamente.\n"
-"    O padrão é: https."
+"    (padrão: https)"
 
 msgid ""
 "If no suitable authentication entry is found, the user is prompted\n"
@@ -18459,11 +19053,13 @@
 "------------------"
 
 msgid ""
-"``changeset`` configuration in this section is used as the template to\n"
-"customize the text shown in the editor when committing."
-msgstr ""
-"A configuração ``changeset`` nesta seção é usada como modelo para\n"
-"customizar o texto exibido no editor em uma consolidação."
+"``changeset``\n"
+"    String: configuration in this section is used as the template to\n"
+"    customize the text shown in the editor when committing."
+msgstr ""
+"``changeset``\n"
+"    Texto: a configuração nesta seção é usada como modelo para\n"
+"    customizar o texto exibido no editor em uma consolidação."
 
 msgid ""
 "In addition to pre-defined template keywords, commit log specific one\n"
@@ -18531,13 +19127,13 @@
 "   para evitar a exibição de caracteres inválidos."
 
 msgid ""
-"   For example, if multibyte character ending with backslash (0x5c) is\n"
-"   followed by ASCII character 'n' in the customized template,\n"
-"   sequence of backslash and 'n' is treated as line-feed unexpectedly\n"
-"   (and multibyte character is broken, too)."
+"   For example, if a multibyte character ending with backslash (0x5c) is\n"
+"   followed by the ASCII character 'n' in the customized template,\n"
+"   the sequence of backslash and 'n' is treated as line-feed unexpectedly\n"
+"   (and the multibyte character is broken, too)."
 msgstr ""
 "   Por exemplo, se um caractere multibyte terminado por uma barra\n"
-"   invertida (0x5c) for seguido de um caractere ASCII 'n' mo modelo\n"
+"   invertida (0x5c) for seguido pelo caractere ASCII 'n' mo modelo\n"
 "   customizado, a sequência será tratada inesperadamente como uma\n"
 "   quebra de linhas (afetando também o próprio caractere multibyte)."
 
@@ -18653,13 +19249,14 @@
 "a opção ``--remove``."
 
 msgid ""
-"At the external editor invocation for committing, corresponding\n"
-"dot-separated list of names without ``changeset.`` prefix\n"
-"(e.g. ``commit.normal.normal``) is in ``HGEDITFORM`` environment variable."
-msgstr ""
-"Na chamada do editor externo da consolidação, a lista de nomes\n"
-"separados por pontos sem o prefixo ``changeset.`` (por exemplo,\n"
-"``commit.normal.normal``) estará na variável de ambiente\n"
+"When the external editor is invoked for a commit, the corresponding\n"
+"dot-separated list of names without the ``changeset.`` prefix\n"
+"(e.g. ``commit.normal.normal``) is in the ``HGEDITFORM`` environment\n"
+"variable."
+msgstr ""
+"Quando o editor externo for chamado para uma mensagem de consolidação,\n"
+"a lista de nomes separados por pontos sem o prefixo ``changeset.`` (por\n"
+"exemplo, ``commit.normal.normal``) estará na variável de ambiente\n"
 "``HGEDITFORM``."
 
 msgid ""
@@ -18801,10 +19398,10 @@
 "``defaults``\n"
 "------------"
 
-msgid "(defaults are deprecated. Don't use them. Use aliases instead)"
+msgid "(defaults are deprecated. Don't use them. Use aliases instead.)"
 msgstr ""
 "(defaults são obsoletos, e não devem ser utilizados. Use apelidos no\n"
-"lugar deles; veja a seção ``[alias]``)"
+"lugar deles.)"
 
 msgid ""
 "Use the ``[defaults]`` section to define command defaults, i.e. the\n"
@@ -18850,11 +19447,11 @@
 
 msgid ""
 "Settings used when displaying diffs. Everything except for ``unified``\n"
-"is a Boolean and defaults to False. See ``annotate`` section for\n"
-"related options for the annotate command."
+"is a Boolean and defaults to False. See :hg:`help config.annotate`\n"
+"for related options for the annotate command."
 msgstr ""
 "Definições usadas ao exibir diffs. Exceto por ``unified``, todas são\n"
-"booleanas, por padrão False. Veja a seção ``annotate`` para opções\n"
+"booleanas, por padrão False. Veja :hg:`help config.annotate` para opções\n"
 "relacionadas do comando annotate."
 
 msgid ""
@@ -18970,8 +19567,8 @@
 "    containing patches of outgoing messages will be encoded in the\n"
 "    first character set to which conversion from local encoding\n"
 "    (``$HGENCODING``, ``ui.fallbackencoding``) succeeds. If correct\n"
-"    conversion fails, the text in question is sent as is. Defaults to\n"
-"    empty (explicit) list."
+"    conversion fails, the text in question is sent as is.\n"
+"    (default: '')"
 msgstr ""
 "``charsets``\n"
 "    Opcional. Lista separada por vírgulas de conjuntos de caracteres\n"
@@ -18980,8 +19577,7 @@
 "    no primeiro conjunto de caracteres para o qual a conversão da\n"
 "    codificação local (``$HGENCODING``, ``ui.fallbackencoding``) seja\n"
 "    realizada com sucesso. Se a conversão correta falhar, o texto em\n"
-"    questão será enviado sem modificações. O valor padrão é uma lista\n"
-"    (explicitamente) vazia."
+"    questão será enviado sem modificações. (padrão: '')"
 
 msgid "    Order of outgoing email character sets:"
 msgstr "    Ordem de conjuntos de caracteres para emails:"
@@ -19208,8 +19804,7 @@
 "action. Overriding a site-wide hook can be done by changing its\n"
 "value or setting it to an empty string.  Hooks can be prioritized\n"
 "by adding a prefix of ``priority`` to the hook name on a new line\n"
-"and setting the priority.  The default priority is 0 if\n"
-"not specified."
+"and setting the priority. The default priority is 0."
 msgstr ""
 "Hooks, ou ganchos, são comandos ou funções Python automaticamente\n"
 "executados por várias ações, como iniciar ou finalizar um commit.\n"
@@ -19219,7 +19814,7 @@
 "seu valor ou definindo-o para uma string vazia.\n"
 "Ganchos podem ser priorizados adicionando-se um prefixo ``priority``\n"
 "ao nome do gancho em uma nova linha e atribuindo a prioridade.\n"
-"Se não especificada, a prioridade padrão é 0."
+"A prioridade padrão é 0."
 
 msgid "Example ``.hg/hgrc``::"
 msgstr "Um exemplo de ``.hg/.hgrc``::"
@@ -19293,13 +19888,13 @@
 "``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``; see \"preoutgoing\" hook for description."
+"  ``$HG_SOURCE``; Also see :hg:`help config.preoutgoing` hook."
 msgstr ""
 "``outgoing``\n"
 "  Executado após o envio de mudanças do repositório local para algum outro.\n"
 "  O ID da primeira revisão enviada é passado em ``$HG_NODE``.\n"
-"  A origem da operação é passada em ``$HG_SOURCE``; veja o gancho\n"
-"  \"preoutgoing\" para uma descrição desse valor."
+"  A origem da operação é passada em ``$HG_SOURCE``; veja também\n"
+"  hg:`help config.preoutgoing`."
 
 msgid ""
 "``post-<command>``\n"
@@ -19482,24 +20077,24 @@
 "``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 ``pretxnclose`` docs for details about\n"
-"  available variables."
+"  after the lock is released. See :hg:`help config.pretxnclose` docs for\n"
+"  details about available variables."
 msgstr ""
 "``txnclose``\n"
 "  Executado após qualquer transação do repositório ter sido\n"
 "  consolidada. Neste ponto, a transação não pode mais ser desfeita.\n"
 "  O gancho será executado após o lock ser liberado.\n"
-"  Veja a documentação de ``pretxnclose`` para detalhes sobre variáveis\n"
+"  Veja :hg:`help config.pretxnclose` para detalhes sobre variáveis\n"
 "  disponíveis."
 
 msgid ""
 "``txnabort``\n"
-"  Run when a transaction is aborted. See ``pretxnclose`` docs for details about\n"
-"  available variables."
+"  Run when a transaction is aborted. See :hg:`help config.pretxnclose`\n"
+"  docs for details about available variables."
 msgstr ""
 "``txnabort``\n"
 "  Executado quando uma transação for abortada.\n"
-"  Veja a documentação de ``pretxnclose`` para detalhes sobre variáveis\n"
+"  Veja :hg:`help config.pretxnclose` para detalhes sobre variáveis\n"
 "  disponíveis."
 
 msgid ""
@@ -19760,11 +20355,11 @@
 msgid ""
 "``always``\n"
 "    Optional. Always use the proxy, even for localhost and any entries\n"
-"    in ``http_proxy.no``. True or False. Default: False."
+"    in ``http_proxy.no``. (default: False)"
 msgstr ""
 "``always``\n"
 "    Opcional. Sempre usar o proxy, mesmo para localhost e quaisquer\n"
-"    entradas em ``http_proxy.no``. Booleana; o padrão é False."
+"    entradas em ``http_proxy.no``. (padrão: False)"
 
 msgid ""
 "``merge-patterns``\n"
@@ -19834,10 +20429,17 @@
 
 msgid ""
 "  # Changing the priority of preconfigured tool\n"
-"  vimdiff.priority = 0"
+"  meld.priority = 0"
 msgstr ""
 "  # Modificando a prioridade da ferramenta pré-configurada\n"
-"  vimdiff.priority = 0"
+"  meld.priority = 0"
+
+msgid ""
+"  # Disable a preconfigured tool\n"
+"  vimdiff.disabled = yes"
+msgstr ""
+"  # Desabilitando uma ferramenta pré configurada\n"
+"  vimdiff.disabled = yes"
 
 msgid ""
 "  # Define new tool\n"
@@ -19853,23 +20455,23 @@
 msgid ""
 "``priority``\n"
 "  The priority in which to evaluate this tool.\n"
-"  Default: 0."
+"  (default: 0)"
 msgstr ""
 "``priority``\n"
 "  A prioridade com a qual avaliar esta ferramenta.\n"
-"  Padrão: 0."
+"  (padrão: 0)"
 
 msgid ""
 "``executable``\n"
 "  Either just the name of the executable or its pathname.  On Windows,\n"
 "  the path can use environment variables with ${ProgramFiles} syntax.\n"
-"  Default: the tool name."
+"  (default: the tool name)"
 msgstr ""
 "``executable``\n"
 "  Pode ser apenas o nome do executável ou seu caminho completo. No\n"
 "  Windows, o caminho pode usar variáveis de ambiente com a sintaxe\n"
 "  ${ProgramFiles}.\n"
-"  Padrão: o próprio nome da ferramenta."
+"  (padrão: o próprio nome da ferramenta)"
 
 msgid ""
 "``args``\n"
@@ -19882,7 +20484,7 @@
 "  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``"
+"  (default: ``$local $base $other``)"
 msgstr ""
 "``args``\n"
 "  Os parâmetros passados para o executável da ferramenta. Você pode se\n"
@@ -19897,7 +20499,7 @@
 "  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"
-"  Padrão: ``$local $base $other``"
+"  (padrão: ``$local $base $other``)"
 
 msgid ""
 "``premerge``\n"
@@ -19907,7 +20509,7 @@
 "  premerge fails. The ``keep-merge3`` will do the same but include information\n"
 "  about the base of the merge in the marker (see internal :merge3 in\n"
 "  :hg:`help merge-tools`).\n"
-"  Default: True"
+"  (default: True)"
 msgstr ""
 "``premerge``\n"
 "  Tenta executar a ferramenta interna não interativa de mesclagem de\n"
@@ -19916,27 +20518,24 @@
 "  do arquivo se o premerge falhar, ou ``keep-merge3`` para incluir\n"
 "  nas tais marcações informações sobre a base da mesclagem\n"
 "  (veja a ferramenta interna :merge3 em :hg:`help merge-tools`).\n"
-"  Padrão: True"
+"  (padrão: True)"
 
 msgid ""
 "``binary``\n"
-"  This tool can merge binary files. Defaults to False, unless tool\n"
-"  was selected by file pattern match."
+"  This tool can merge binary files. (default: False, unless tool\n"
+"  was selected by file pattern match)"
 msgstr ""
 "``binary``\n"
-"  Esta ferramenta é capaz de mesclar arquivos binários. O padrão é\n"
+"  Esta ferramenta é capaz de mesclar arquivos binários. (padrão:\n"
 "  False, a não ser que a ferramenta tenha sido selecionada por\n"
-"  correspondência de padrão de arquivo (seção ``[merge-patterns]``)."
+"  correspondência de padrão de arquivo)"
 
 msgid ""
 "``symlink``\n"
-"  This tool can merge symlinks. Defaults to False, even if tool was\n"
-"  selected by file pattern match."
+"  This tool can merge symlinks. (default: False)"
 msgstr ""
 "``symlink``\n"
-"  Esta ferramenta pode mesclar links simbólicos. O padrão é False,\n"
-"  mesmo que a ferramenta tenha sido selecionada por\n"
-"  correspondência de padrão de arquivo."
+"  Esta ferramenta pode mesclar links simbólicos. (padrão: False)"
 
 msgid ""
 "``check``\n"
@@ -19963,31 +20562,32 @@
 msgid ""
 "``fixeol``\n"
 "  Attempt to fix up EOL changes caused by the merge tool.\n"
-"  Default: False"
+"  (default: False)"
 msgstr ""
 "``fixeol``\n"
 "  Tenta corrigir mudanças de quebras de linha causadas pela ferramenta de mesclagem.\n"
-"  Padrão: False"
+"  (padrão: False)"
 
 msgid ""
 "``gui``\n"
-"  This tool requires a graphical interface to run. Default: False"
+"  This tool requires a graphical interface to run. (default: False)"
 msgstr ""
 "``gui``\n"
-"  Esta ferramenta exige uma interface gráfica para ser executada. Padrão: False"
+"  Esta ferramenta exige uma interface gráfica para ser executada.\n"
+"  (padrão: False)"
 
 msgid ""
 "``regkey``\n"
 "  Windows registry key which describes install location of this\n"
 "  tool. Mercurial will search for this key first under\n"
 "  ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.\n"
-"  Default: None"
+"  (default: None)"
 msgstr ""
 "``regkey``\n"
 "  Chave do registro do Windows que descreve a localização de instalação\n"
 "  desta ferramenta. O Mercurial procurará por esta chave primeiro sob\n"
 "  ``HKEY_CURRENT_USER`` e em seguida sob ``HKEY_LOCAL_MACHINE``.\n"
-"  Padrão: Nenhum"
+"  (padrão: None)"
 
 msgid ""
 "``regkeyalt``\n"
@@ -19995,7 +20595,7 @@
 "  found.  The alternate key uses the same ``regname`` and ``regappend``\n"
 "  semantics of the primary key.  The most common use for this key\n"
 "  is to search for 32bit applications on 64bit operating systems.\n"
-"  Default: None"
+"  (default: None)"
 msgstr ""
 "``regkeyalt``\n"
 "  Uma chave alternativa de registro do Windows a ser tentada caso a primeira\n"
@@ -20003,27 +20603,27 @@
 "  ``regname`` e ``regappend`` da chave primária.\n"
 "  O uso mais comum desta chave é a procura de aplicações 32 bits em\n"
 "  sistemas operacionais 64 bits.\n"
-"  Padrão: None"
+"  (padrão: None)"
 
 msgid ""
 "``regname``\n"
-"  Name of value to read from specified registry key. Defaults to the\n"
-"  unnamed (default) value."
+"  Name of value to read from specified registry key.\n"
+"  (default: the unnamed (default) value)"
 msgstr ""
 "``regname``\n"
-"  Nome do valor a ser lido da chave de registro especificada. O padrão é\n"
-"  o valor sem nome (padrão)."
+"  Nome do valor a ser lido da chave de registro especificada.\n"
+"  (padrão: o valor sem nome (padrão))."
 
 msgid ""
 "``regappend``\n"
 "  String to append to the value read from the registry, typically\n"
 "  the executable name of the tool.\n"
-"  Default: None"
+"  (default: None)"
 msgstr ""
 "``regappend``\n"
 "  String a ser anexada ao valor lido do registro, tipicamente o nome\n"
 "  do executável da ferramenta.\n"
-"  Padrão: None"
+"  (padrão: None)"
 
 msgid ""
 "\n"
@@ -20051,7 +20651,7 @@
 "    endings in patched files are normalized to their original setting\n"
 "    on a per-file basis. If target file does not exist or has no end\n"
 "    of line, patch line endings are preserved.\n"
-"    Default: strict."
+"    (default: strict)"
 msgstr ""
 "``eol``\n"
 "    Se definida como 'strict', quebras de linha do conteúdo do patch\n"
@@ -20064,20 +20664,20 @@
 "    configurações originais, arquivo por arquivo. Se o arquivo de\n"
 "    destino não existir ou não tiver quebras de linha, as quebras de\n"
 "    linha do patch serão preservadas.\n"
-"    Padrão: strict."
+"    (padrão: strict)"
 
 msgid ""
 "``fuzz``\n"
 "    The number of lines of 'fuzz' to allow when applying patches. This\n"
 "    controls how much context the patcher is allowed to ignore when\n"
 "    trying to apply a patch.\n"
-"    Default: 2"
+"    (default: 2)"
 msgstr ""
 "``fuzz``\n"
 "    O número de linhas de 'fuzz' permitidas ao aplicar patches. Isto\n"
 "    controla quanto contexto a aplicação do patch pode ignorar na\n"
 "    tentativa de aplicar um patch.\n"
-"    Padrão: 2"
+"    (padrão: 2)"
 
 msgid ""
 "``paths``\n"
@@ -20100,13 +20700,12 @@
 msgid ""
 "``default``\n"
 "    Directory or URL to use when pulling if no source is specified.\n"
-"    Default is set to repository from which the current repository was\n"
-"    cloned."
+"    (default: repository from which the current repository was cloned)"
 msgstr ""
 "``default``\n"
 "    Diretório ou URL a ser usado para um pull se a origem não\n"
-"    for especificada. Por padrão, é definido como o repositório\n"
-"    do qual o repositório local foi clonado."
+"    for especificada.\n"
+"    (padrão: o repositório do qual o repositório local foi clonado)"
 
 msgid ""
 "``default-push``\n"
@@ -20160,22 +20759,23 @@
 "    Controls draft phase behavior when working as a server. When true,\n"
 "    pushed changesets are set to public in both client and server and\n"
 "    pulled or cloned changesets are set to public in the client.\n"
-"    Default: True"
+"    (default: True)"
 msgstr ""
 "``publish``\n"
 "    Controla o comportamento da fase rascunho em um servidor. Se for\n"
 "    True, revisões enviadas usando push se tornam públicas tanto no\n"
 "    cliente como no servidor, e revisões recebidas usando pull ou\n"
-"    clone se tornam públicas no cliente. O padrão é True."
+"    clone se tornam públicas no cliente.\n"
+"    (padrão: True)"
 
 msgid ""
 "``new-commit``\n"
 "    Phase of newly-created commits.\n"
-"    Default: draft"
+"    (default: draft)"
 msgstr ""
 "``new-commit``\n"
 "    Fase de revisões criadas usando commit.\n"
-"    Padrão: draft (rascunho)"
+"    (padrão: draft (rascunho))"
 
 msgid ""
 "``checksubrepos``\n"
@@ -20187,7 +20787,7 @@
 "    \"secret\" phase while the parent repo is in \"draft\" phase), the commit is\n"
 "    either aborted (if checksubrepos is set to \"abort\") or the higher phase is\n"
 "    used for the parent repository commit (if set to \"follow\").\n"
-"    Default: \"follow\""
+"    (default: follow)"
 msgstr ""
 "``checksubrepos``\n"
 "    Verifica a fase da revisão atual de cada sub-repositório. Os valores\n"
@@ -20199,7 +20799,7 @@
 "    na fase \"draft\"), o valor \"abort\" faz com que a consolidação\n"
 "    seja abortada, e \"follow\" faz com que a fase mais alta seja usada\n"
 "    na consolidação do repositório pai.\n"
-"    O valor padrão é: \"follow\"."
+"    (padrão: \"follow\")"
 
 msgid ""
 "\n"
@@ -20234,11 +20834,11 @@
 msgid ""
 "``type``\n"
 "    The type of profiler to use.\n"
-"    Default: ls."
+"    (default: ls)"
 msgstr ""
 "``type``\n"
 "    O tipo de profiler a ser usado.\n"
-"    Padrão: ls."
+"    (padrão: ls)"
 
 msgid ""
 "    ``ls``\n"
@@ -20265,12 +20865,12 @@
 msgid ""
 "``format``\n"
 "    Profiling format.  Specific to the ``ls`` instrumenting profiler.\n"
-"    Default: text."
+"    (default: text)"
 msgstr ""
 "``format``\n"
 "    Formato de profiling. Específico para o profiler de\n"
 "    instrumentação ``ls``.\n"
-"    Padrão: text."
+"    (padrão: text)"
 
 msgid ""
 "    ``text``\n"
@@ -20294,59 +20894,59 @@
 msgid ""
 "``frequency``\n"
 "    Sampling frequency.  Specific to the ``stat`` sampling profiler.\n"
-"    Default: 1000."
+"    (default: 1000)"
 msgstr ""
 "``frequency``\n"
 "    Frequência de amostragem. Específico para o profiler de amostragem\n"
 "    ``stat``.\n"
-"    Padrão: 1000."
+"    (padrão: 1000)"
 
 msgid ""
 "``output``\n"
 "    File path where profiling data or report should be saved. If the\n"
-"    file exists, it is replaced. Default: None, data is printed on\n"
-"    stderr"
+"    file exists, it is replaced. (default: None, data is printed on\n"
+"    stderr)"
 msgstr ""
 "``output``\n"
 "    Caminho do arquivo onde dados de profiling devem ser gravados.\n"
-"    Se o arquivo existir, será sobrescrito. Padrão: nenhum; os dados\n"
-"    são impressos na saída de erros."
+"    Se o arquivo existir, será sobrescrito.\n"
+"    (padrão: nenhum; os dados são impressos na saída de erros)"
 
 msgid ""
 "``sort``\n"
 "    Sort field.  Specific to the ``ls`` instrumenting profiler.\n"
 "    One of ``callcount``, ``reccallcount``, ``totaltime`` and\n"
 "    ``inlinetime``.\n"
-"    Default: inlinetime."
+"    (default: inlinetime)"
 msgstr ""
 "``sort``\n"
 "    Campo de ordenação.  Específico para o profiler de instrumentação.\n"
 "    Pode ter os valores ``callcount``, ``reccallcount``, ``totaltime``\n"
 "    e ``inlinetime``.\n"
-"    Padrão: inlinetime."
+"    (padrão: inlinetime)"
 
 msgid ""
 "``limit``\n"
 "    Number of lines to show. Specific to the ``ls`` instrumenting profiler.\n"
-"    Default: 30."
+"    (default: 30)"
 msgstr ""
 "``limit``\n"
 "    Número de linhas mostradas. Específico do profiler de instrumentação ``ls``.\n"
-"    Padrão: 30."
+"    (padrão: 30)"
 
 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: 5)"
 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: 5)"
 
 msgid ""
 "``progress``\n"
@@ -20419,33 +21019,33 @@
 msgid ""
 "``width``\n"
 "    If set, the maximum width of the progress information (that is, min(width,\n"
-"    term width) will be used)"
+"    term width) will be used)."
 msgstr ""
 "``width``\n"
 "    Se definido, será a largura máxima da informação de progresso\n"
-"    (isto é, min(largura, largura do terminal) será usada)"
+"    (isto é, min(largura, largura do terminal) será usada)."
 
 msgid ""
 "``clear-complete``\n"
-"    clear the progress bar after it's done (default to True)"
+"    Clear the progress bar after it's done. (default: True)"
 msgstr ""
 "``clear-complete``\n"
-"    limpa a barra de progresso após terminar (o padrão é True)"
+"    limpa a barra de progresso após terminar. (padrão: True)"
 
 msgid ""
 "``disable``\n"
-"    If true, don't show a progress bar"
+"    If true, don't show a progress bar."
 msgstr ""
 "``disable``\n"
-"    Se 'true', não exibe uma barra de progresso"
+"    Se 'true', não exibe uma barra de progresso."
 
 msgid ""
 "``assume-tty``\n"
-"    If true, ALWAYS show a progress bar, unless disable is given"
+"    If true, ALWAYS show a progress bar, unless disable is given."
 msgstr ""
 "``assume-tty``\n"
 "    Se 'true', SEMPRE exibe uma barra de progressos, a não ser\n"
-"    que 'disable' seja 'true'"
+"    que 'disable' seja 'true'."
 
 msgid ""
 "``revsetalias``\n"
@@ -20480,7 +21080,7 @@
 "    about 6 Mbps), uncompressed streaming is slower, because of the\n"
 "    extra data transfer overhead. This mode will also temporarily hold\n"
 "    the write lock while determining what data to transfer.\n"
-"    Default is True."
+"    (default: True)"
 msgstr ""
 "``uncompressed``\n"
 "    Permite que clientes clonem um repositório usando o protocolo\n"
@@ -20494,37 +21094,39 @@
 "    transferidos. Este modo também usará\n"
 "    temporariamente o bloqueio de escrita no repositório enquanto\n"
 "    forem determinados os dados a serem transmitidos.\n"
-"    O padrão é True."
+"    (padrão: True)"
 
 msgid ""
 "``preferuncompressed``\n"
 "    When set, clients will try to use the uncompressed streaming\n"
-"    protocol. Default is False."
+"    protocol. (default: False)"
 msgstr ""
 "``preferuncompressed``\n"
 "    Se definido, clientes preferirão o protocolo de streaming\n"
 "    não comprimido.\n"
-"    O padrão é False."
+"    (padrão: False)"
 
 msgid ""
 "``validate``\n"
 "    Whether to validate the completeness of pushed changesets by\n"
 "    checking that all new file revisions specified in manifests are\n"
-"    present. Default is False."
+"    present. (default: False)"
 msgstr ""
 "``validate``\n"
 "    Verifica se revisões recebidas em um push estão completas, checando\n"
 "    se todas as novas revisões de arquivo especificadas em manifestos\n"
-"    estão presentes. O padrão é False."
+"    estão presentes.\n"
+"    (padrão: False)"
 
 msgid ""
 "``maxhttpheaderlen``\n"
 "    Instruct HTTP clients not to send request headers longer than this\n"
-"    many bytes. Default is 1024."
+"    many bytes. (default: 1024)"
 msgstr ""
 "``maxhttpheaderlen``\n"
 "    Instrui clientes HTTP a não enviares cabeçalhos de pedido\n"
-"    contendo mais bytes do que este valor. O padrão é 1024."
+"    contendo mais bytes do que este valor.\n"
+"    (padrão: 1024)"
 
 msgid ""
 "``smtp``\n"
@@ -20545,21 +21147,22 @@
 
 msgid ""
 "``port``\n"
-"    Optional. Port to connect to on mail server. Default: 465 (if\n"
-"    ``tls`` is smtps) or 25 (otherwise)."
+"    Optional. Port to connect to on mail server. (default: 465 if\n"
+"    ``tls`` is smtps; 25 otherwise)"
 msgstr ""
 "``port``\n"
-"    Opcional. Porta usada pelo servidor de emails. O valor padrão é\n"
-"    465 se ``tls`` = smtps, ou 25 caso contrário."
+"    Opcional. Porta usada pelo servidor de emails.\n"
+"    (padrão: 465 se ``tls`` = smtps, ou 25 caso contrário)"
 
 msgid ""
 "``tls``\n"
 "    Optional. Method to enable TLS when connecting to mail server: starttls,\n"
-"    smtps or none. Default: none."
+"    smtps or none. (default: none)"
 msgstr ""
 "``tls``\n"
 "    Opcional. Método para habilitar TLS ao conectar com o servidor de\n"
-"    emails: starttls, smtps ou none. Padrão: none."
+"    emails: starttls, smtps ou none.\n"
+"    (padrão: none)"
 
 msgid ""
 "``verifycert``\n"
@@ -20570,7 +21173,7 @@
 "    ``[web] cacerts`` also). For \"strict\", sending email is also\n"
 "    aborted, if there is no configuration for mail server in\n"
 "    ``[hostfingerprints]`` and ``[web] cacerts``.  --insecure for\n"
-"    :hg:`email` overwrites this as \"loose\". Default: \"strict\"."
+"    :hg:`email` overwrites this as \"loose\". (default: strict)"
 msgstr ""
 "``verifycert``\n"
 "    Opcional. Verificação do certificado do servidor de emails, se\n"
@@ -20582,36 +21185,38 @@
 "    houver configuração para o servidor de emails em\n"
 "    ``[hostfingerprints]`` e ``[web] cacerts``.\n"
 "    A opção --insecure de :hg:`email` força o valor \"loose\".\n"
-"    O padrão é \"strict\"."
+"    (padrão: \"strict\")"
 
 msgid ""
 "``username``\n"
 "    Optional. User name for authenticating with the SMTP server.\n"
-"    Default: none."
+"    (default: None)"
 msgstr ""
 "``username``\n"
 "    Opcional. Nome de usuário usado para autenticação no servidor\n"
-"    de emails. Padrão: none."
+"    de emails.\n"
+"    (padrão: None)"
 
 msgid ""
 "``password``\n"
 "    Optional. Password for authenticating with the SMTP server. If not\n"
 "    specified, interactive sessions will prompt the user for a\n"
-"    password; non-interactive sessions will fail. Default: none."
+"    password; non-interactive sessions will fail. (default: None)"
 msgstr ""
 "``password``\n"
 "    Opcional. Senha usada para autenticação no servidor de emails.\n"
 "    Se não for especificada, sessões interativas consultarão o\n"
 "    usuário para que ele forneça a senha; sessões não interativas\n"
-"    falharão. Padrão: none."
+"    falharão.\n"
+"    (padrão: None)"
 
 msgid ""
 "``local_hostname``\n"
-"    Optional. It's the hostname that the sender can use to identify\n"
+"    Optional. The hostname that the sender can use to identify\n"
 "    itself to the MTA."
 msgstr ""
 "``local_hostname``\n"
-"    Opcional. É o nome de servidor que o remetente pode usar para se\n"
+"    Opcional. Nome de servidor que o remetente pode usar para se\n"
 "    identificar para o MTA."
 
 msgid ""
@@ -20730,13 +21335,13 @@
 "    Whether to include the .hg_archival.txt file containing meta data\n"
 "    (hashes for the repository base and for tip) in archives created\n"
 "    by the :hg:`archive` command or downloaded via hgweb.\n"
-"    Default is True."
+"    (default: True)"
 msgstr ""
 "``archivemeta``\n"
 "    Determina se o arquivo .hg_archival.txt contendo metadados (hashes\n"
 "    do repositório base e da tip) em pacotes criados pelo comando\n"
 "    :hg:`archive` ou baixados via hgweb.\n"
-"    O padrão é True."
+"    (padrão: True)"
 
 msgid ""
 "``askusername``\n"
@@ -20744,7 +21349,7 @@
 "    neither ``$HGUSER`` nor ``$EMAIL`` has been specified, then the user will\n"
 "    be prompted to enter a username. If no username is entered, the\n"
 "    default ``USER@HOST`` is used instead.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``askusername``\n"
 "    Determina se o usuário deve ser consultado interativamente para\n"
@@ -20752,44 +21357,77 @@
 "    e nem ``$HGUSER`` nem ``$EMAIL`` estiverem definidas, o usuário\n"
 "    será consultado para fornecer um nome. Se nenhum nome for passado,\n"
 "    o padrão ``USER@HOST`` será usado.\n"
-"    O padrão é False."
+"    (padrão: False)"
+
+msgid ""
+"``clonebundlefallback``\n"
+"    Whether failure to apply an advertised \"clone bundle\" from a server\n"
+"    should result in fallback to a regular clone."
+msgstr ""
+"``clonebundlefallback``\n"
+"    Indica se, em caso de falha ao aplicar um \"clone bundle\"\n"
+"    anunciado por um servidor, deve-se tentar um clone regular."
+
+msgid ""
+"    This is disabled by default because servers advertising \"clone\n"
+"    bundles\" often do so to reduce server load. If advertised bundles\n"
+"    start mass failing and clients automatically fall back to a regular\n"
+"    clone, this would add significant and unexpected load to the server\n"
+"    since the server is expecting clone operations to be offloaded to\n"
+"    pre-generated bundles. Failing fast (the default behavior) ensures\n"
+"    clients don't overwhelm the server when \"clone bundle\" application\n"
+"    fails."
+msgstr ""
+"    Isto é desabilitado por padrão porque servidores que anunciam\n"
+"    \"clone bundles\" tipicamente o fazem para reduzir a carga no\n"
+"    servidor. Se os bundles anunciados falharem repetidamente, e\n"
+"    os clientes assim tentarem clones regulares, a carga no servidor\n"
+"    aumentará inesperadamente, já que o servidor espera que\n"
+"    operações de clonagem sejam servidas por bundles pré-gerados.\n"
+"    O comportamento padrão procura evitar esse aumento inesperado\n"
+"    em caso de falha da aplicação de \"clone bundle\"."
+
+msgid "    (default: False)"
+msgstr "    (padrão: False)"
 
 msgid ""
 "``commitsubrepos``\n"
 "    Whether to commit modified subrepositories when committing the\n"
 "    parent repository. If False and one subrepository has uncommitted\n"
 "    changes, abort the commit.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``commitsubrepos``\n"
 "    Determina se sub-repositórios modificados serão automaticamente\n"
 "    consolidados ao consolidar o repositório pai. Se for False e\n"
 "    algum sub-repositório tiver mudanças não consolidadas, aborta a\n"
 "    consolidação do repositório pai.\n"
-"    O padrão é False."
+"    (padrão: False)"
 
 msgid ""
 "``debug``\n"
-"    Print debugging information. True or False. Default is False."
+"    Print debugging information. (default: False)"
 msgstr ""
 "``debug``\n"
-"    Imprime informações de depuração. Booleana; o padrão é False."
+"    Imprime informações de depuração.\n"
+"    (padrão: False)"
 
 msgid ""
 "``editor``\n"
-"    The editor to use during a commit. Default is ``$EDITOR`` or ``vi``."
+"    The editor to use during a commit. (default: ``$EDITOR`` or ``vi``)"
 msgstr ""
 "``editor``\n"
-"    O editor usado durante um commit. O padrão é ``$EDITOR`` ou ``vi``."
+"    O editor usado durante um commit.\n"
+"    (padrão: ``$EDITOR`` ou ``vi``)"
 
 msgid ""
 "``fallbackencoding``\n"
 "    Encoding to try if it's not possible to decode the changelog using\n"
-"    UTF-8. Default is ISO-8859-1."
+"    UTF-8. (default: ISO-8859-1)"
 msgstr ""
 "``fallbackencoding``\n"
 "    Codificação a ser tentada se não for possível decodificar o\n"
-"    changelog usando UTF-8. O padrão é ISO-8859-1."
+"    changelog usando UTF-8. (padrão: ISO-8859-1)"
 
 msgid ""
 "``ignore``\n"
@@ -20813,11 +21451,11 @@
 
 msgid ""
 "``interactive``\n"
-"    Allow to prompt the user. True or False. Default is True."
+"    Allow to prompt the user. (default: True)"
 msgstr ""
 "``interactive``\n"
 "    Permite que o usuário seja consultado interativamente.\n"
-"    Booleana; o padrão é True."
+"    (padrão: True)"
 
 msgid ""
 "``logtemplate``\n"
@@ -20845,22 +21483,34 @@
 "    style uses the ``mergemarkertemplate`` setting to style the labels.\n"
 "    The ``basic`` style just uses 'local' and 'other' as the marker label.\n"
 "    One of ``basic`` or ``detailed``.\n"
-"    Default is ``basic``."
+"    (default: ``basic``)"
 msgstr ""
 "``mergemarkers``\n"
 "    Define o estilo dos rótulos de marcação de conflitos de mesclagem.\n"
 "    O estilo ``detailed`` usa a configuração ``mergemarkertemplate``.\n"
 "    O estilo ``basic`` usa simplesmente 'local' e 'other' como rótulos\n"
 "    dos marcadores.\n"
-"    O padrão é ``basic``."
+"    (padrão: ``basic``)"
 
 msgid ""
 "``mergemarkertemplate``\n"
 "    The template used to print the commit description next to each conflict\n"
 "    marker during merge conflicts. See :hg:`help templates` for the template\n"
-"    format.\n"
+"    format."
+msgstr ""
+"``mergemarkertemplate``\n"
+"    O modelo usado para imprimir a descrição da consolidação próxima\n"
+"    a cada marcador de conflitos durante conflitos de mesclagem.\n"
+"    Veja :hg:`help templates` para o formato do modelo."
+
+msgid ""
 "    Defaults to showing the hash, tags, branches, bookmarks, author, and\n"
-"    the first line of the commit description.\n"
+"    the first line of the commit description."
+msgstr ""
+"    Por padrão exibe o hash, etiquetas, ramos, marcadores, autor e\n"
+"    a primeira linha da descrição da revisão."
+
+msgid ""
 "    If you use non-ASCII characters in names for tags, branches, bookmarks,\n"
 "    authors, and/or commit descriptions, you must pay attention to encodings of\n"
 "    managed files. At template expansion, non-ASCII characters use the encoding\n"
@@ -20869,12 +21519,6 @@
 "    markers is different from the encoding of the merged files,\n"
 "    serious problems may occur."
 msgstr ""
-"``mergemarkertemplate``\n"
-"    O modelo usado para imprimir a descrição da consolidação próxima\n"
-"    a cada marcador de conflitos durante conflitos de mesclagem.\n"
-"    Veja :hg:`help templates` para o formato do modelo.\n"
-"    O padrão exibe o hash, etiquetas, ramos, marcadores, autor e\n"
-"    a primeira linha da mensagem de consolidação.\n"
 "    Se forem utilizados caracteres não-ASCII em etiquetas, ramos,\n"
 "    marcadores, autores ou mensagens de consolidação,\n"
 "    é necessário cuidado com a codificação dos arquivos gerenciados.\n"
@@ -20917,7 +21561,7 @@
 msgid ""
 "``portablefilenames``\n"
 "    Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.\n"
-"    Default is ``warn``.\n"
+"    (default: ``warn``)\n"
 "    If set to ``warn`` (or ``true``), a warning message is printed on POSIX\n"
 "    platforms, if a file with a non-portable filename is added (e.g. a file\n"
 "    with a name that can't be created on Windows because it contains reserved\n"
@@ -20930,7 +21574,7 @@
 "``portablefilenames``\n"
 "    Verifica a portabilidade de nomes de arquivos. Pode ser ``warn``\n"
 "    (avisar), ``ignore`` (ignorar) ou ``abort`` (abortar).\n"
-"    O padrão é ``warn``.\n"
+"    (padrão: ``warn``)\n"
 "    Com o valor ``warn`` (ou ``true``), uma mensagem de aviso será\n"
 "    impressa em plataformas POSIX se um arquivo com um nome não\n"
 "    portável for adicionado (por exemplo, um arquivo com um nome que\n"
@@ -20944,28 +21588,28 @@
 
 msgid ""
 "``quiet``\n"
-"    Reduce the amount of output printed. True or False. Default is False."
+"    Reduce the amount of output printed. (default: False)"
 msgstr ""
 "``quiet``\n"
-"    Reduz a quantidade de saída impressa. Booleana; o padrão é False."
+"    Reduz a quantidade de saída impressa. (padrão: False)"
 
 msgid ""
 "``remotecmd``\n"
-"    remote command to use for clone/push/pull operations. Default is ``hg``."
+"    Remote command to use for clone/push/pull operations. (default: ``hg``)"
 msgstr ""
 "``remotecmd``\n"
 "    Comando remoto a ser usado para operações clone/push/pull.\n"
-"    O padrão é ``hg``."
+"    (padrão: ``hg``)"
 
 msgid ""
 "``report_untrusted``\n"
 "    Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a\n"
-"    trusted user or group. True or False. Default is True."
+"    trusted user or group. (default: True)"
 msgstr ""
 "``report_untrusted``\n"
 "    Avisa se um arquivo ``.hg/hgrc`` for ignorado por não pertencer a um\n"
 "    usuário ou grupo confiável (veja a seção ``[trusted]``).\n"
-"    Booleana; o padrão é True."
+"    (padrão: True)"
 
 msgid ""
 "``slash``\n"
@@ -20973,14 +21617,14 @@
 "    only makes a difference on systems where the default path\n"
 "    separator is not the slash character (e.g. Windows uses the\n"
 "    backslash character (``\\``)).\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``slash``\n"
 "    Exibe caminhos usando uma barra ``/`` como separador de caminhos.\n"
 "    Isto faz diferença apenas em sistemas nos quais o separador de\n"
 "    caminhos padrão não for esse caractere (por exemplo, o Windows\n"
 "    usa a barra invertida (``\\``)).\n"
-"    O padrão é False."
+"    (padrão: False)"
 
 msgid ""
 "``statuscopies``\n"
@@ -20991,19 +21635,20 @@
 
 msgid ""
 "``ssh``\n"
-"    command to use for SSH connections. Default is ``ssh``."
+"    Command to use for SSH connections. (default: ``ssh``)"
 msgstr ""
 "``ssh``\n"
-"    comando a ser usado para conexões SSH. O padrão é ``ssh``."
+"    comando a ser usado para conexões SSH. (padrão: ``ssh``)"
 
 msgid ""
 "``strict``\n"
 "    Require exact command names, instead of allowing unambiguous\n"
-"    abbreviations. True or False. Default is False."
+"    abbreviations. (default: False)"
 msgstr ""
 "``strict``\n"
 "    Exige nomes de comando exatos, ao invés de permitir abreviações\n"
-"    não ambíguas. Booleana; o padrão é False."
+"    não ambíguas.\n"
+"    (padrão: False)"
 
 msgid ""
 "``style``\n"
@@ -21013,55 +21658,72 @@
 "    Nome do estilo usado para saída de comandos."
 
 msgid ""
+"``supportcontact``\n"
+"    A URL where users should report a Mercurial traceback. Use this if you are a\n"
+"    large organisation with its own Mercurial deployment process and crash\n"
+"    reports should be addressed to your internal support."
+msgstr ""
+"``supportcontact``\n"
+"    Uma URL na qual usuários devem informar sobre erros. Use isto em\n"
+"    organizações grandes com seu próprio processo de instalação do\n"
+"    Mercurial, para que relatos sobre erros sejam direcionados para\n"
+"    o suporte interno da organização."
+
+msgid ""
 "``timeout``\n"
 "    The timeout used when a lock is held (in seconds), a negative value\n"
-"    means no timeout. Default is 600."
+"    means no timeout. (default: 600)"
 msgstr ""
 "``timeout``\n"
 "    O tempo limite de espera (em segundos) para a obtenção de locks;\n"
-"    um valor negativo desabilita o limite. O padrão é 600."
+"    um valor negativo desabilita o limite.\n"
+"    (padrão: 600)"
 
 msgid ""
 "``traceback``\n"
 "    Mercurial always prints a traceback when an unknown exception\n"
 "    occurs. Setting this to True will make Mercurial print a traceback\n"
 "    on all exceptions, even those recognized by Mercurial (such as\n"
-"    IOError or MemoryError). Default is False."
+"    IOError or MemoryError). (default: False)"
 msgstr ""
 "``traceback``\n"
 "    O Mercurial sempre imprime um traceback quando ocorre uma exceção\n"
 "    desconhecida. Definir isto para o valor True fará com que um\n"
 "    traceback seja impresso em todas as exceções, mesmo que sejam\n"
 "    reconhecidas pelo Mercurial (como IOError ou MemoryError).\n"
-"    O padrão é False."
+"    (padrão: False)"
 
 msgid ""
 "``username``\n"
 "    The committer of a changeset created when running \"commit\".\n"
 "    Typically a person's name and email address, e.g. ``Fred Widget\n"
-"    <fred@example.com>``. Default is ``$EMAIL`` or ``username@hostname``. If\n"
-"    the username in hgrc is empty, it has to be specified manually or\n"
-"    in a different hgrc file (e.g. ``$HOME/.hgrc``, if the admin set\n"
-"    ``username =``  in the system hgrc). Environment variables in the\n"
+"    <fred@example.com>``. Environment variables in the\n"
 "    username are expanded."
 msgstr ""
 "``username``\n"
 "    O autor de uma revisão criada ao executar \"commit\".\n"
 "    Tipicamente, é o nome de uma pessoa seguido de seu endereço de\n"
 "    email, como em ``Fred Widget <fred@example.com>``.\n"
-"    O padrão é ``$EMAIL`` ou ``username@hostname``.\n"
+"    Variáveis de ambiente são expandidas no nome de usuário."
+
+msgid ""
+"    (default: ``$EMAIL`` or ``username@hostname``. If the username in\n"
+"    hgrc is empty, e.g. if the system admin set ``username =``  in the\n"
+"    system hgrc, it has to be specified manually or in a different\n"
+"    hgrc file)"
+msgstr ""
+"    (padrão: ``$EMAIL`` ou ``username@hostname``.\n"
 "    Se o nome de usuário em um arquivo de configuração estiver vazio, ele\n"
 "    deve ser especificado manualmente ou em um arquivo de configuração\n"
-"    diferente (por exemplo, ``$HOME/.hgrc``, se o administrador definir\n"
-"    ``username =``  no arquivo de configuração de sistema).\n"
-"    Variáveis de ambiente são expandidas no nome de usuário."
+"    diferente; por exemplo, ``$HOME/.hgrc``, se o administrador definir\n"
+"    ``username =``  no arquivo de configuração de sistema)"
 
 msgid ""
 "``verbose``\n"
-"    Increase the amount of output printed. True or False. Default is False."
+"    Increase the amount of output printed. (default: False)"
 msgstr ""
 "``verbose``\n"
-"    Aumenta a quantidade de saída impressa. Booleana; o padrão é False."
+"    Aumenta a quantidade de saída impressa. (padrão: False)"
 
 msgid ""
 "\n"
@@ -21122,66 +21784,66 @@
 
 msgid ""
 "``accesslog``\n"
-"    Where to output the access log. Default is stdout."
+"    Where to output the access log. (default: stdout)"
 msgstr ""
 "``accesslog``\n"
-"    Onde escrever o log de acesso. O padrão é a saída padrão (stdout)."
+"    Onde escrever o log de acesso. (padrão: saída padrão (stdout))"
 
 msgid ""
 "``address``\n"
-"    Interface address to bind to. Default is all."
+"    Interface address to bind to. (default: all)"
 msgstr ""
 "``address``\n"
-"    Endereço de interface para fazer o bind. Por padrão, usa todos\n"
-"    os endereços."
+"    Endereço de interface para fazer o bind.\n"
+"    (padrão: usa todos os endereços)"
 
 msgid ""
 "``allow_archive``\n"
 "    List of archive format (bz2, gz, zip) allowed for downloading.\n"
-"    Default is empty."
+"    (default: empty)"
 msgstr ""
 "``allow_archive``\n"
 "    Lista de formatos de pacote (bz2, gz, zip) permitidos para download.\n"
-"    O padrão é nenhum (lista vazia)."
+"    (padrão: lista vazia)"
 
 msgid ""
 "``allowbz2``\n"
 "    (DEPRECATED) Whether to allow .tar.bz2 downloading of repository\n"
 "    revisions.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``allowbz2``\n"
 "    (OBSOLETO) Determina se revisões estarão disponíveis para download\n"
 "    em formato .tar.bz2.\n"
-"    O padrão é False."
+"    (padrão: False)"
 
 msgid ""
 "``allowgz``\n"
 "    (DEPRECATED) Whether to allow .tar.gz downloading of repository\n"
 "    revisions.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``allowgz``\n"
 "    (OBSOLETO) Determina se revisões estarão disponíveis para download\n"
 "    em formato .tar.gz.\n"
-"    O padrão é False."
+"    (padrão: False)"
 
 msgid ""
 "``allowpull``\n"
-"    Whether to allow pulling from the repository. Default is True."
+"    Whether to allow pulling from the repository. (default: True)"
 msgstr ""
 "``allowpull``\n"
 "    Se este repositório pode fornecer revisões em uma operação pull.\n"
-"    O padrão é True."
+"    (padrão: True)"
 
 msgid ""
 "``allow_push``\n"
 "    Whether to allow pushing to the repository. If empty or not set,\n"
-"    push is not allowed. If the special value ``*``, any remote user can\n"
-"    push, including unauthenticated users. Otherwise, the remote user\n"
-"    must have been authenticated, and the authenticated user name must\n"
-"    be present in this list. The contents of the allow_push list are\n"
-"    examined after the deny_push list."
+"    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."
 msgstr ""
 "``allow_push``\n"
 "    Se este repositório pode receber revisões em uma operação push.\n"
@@ -21220,21 +21882,23 @@
 msgid ""
 "``allowzip``\n"
 "    (DEPRECATED) Whether to allow .zip downloading of repository\n"
-"    revisions. Default is False. This feature creates temporary files."
+"    revisions. This feature creates temporary files.\n"
+"    (default: False)"
 msgstr ""
 "``allowzip``\n"
 "    (OBSOLETO) Determina se revisões estarão disponíveis para download\n"
 "    em formato .zip.\n"
-"    O padrão é False."
+"    (padrão: False)"
 
 msgid ""
 "``archivesubrepos``\n"
-"    Whether to recurse into subrepositories when archiving. Default is\n"
-"    False."
+"    Whether to recurse into subrepositories when archiving.\n"
+"    (default: False)"
 msgstr ""
 "``archivesubrepos``\n"
 "    Determina se sub-repositórios devem ser percorridos recursivamente\n"
-"    em uma operação archive. O padrão é False."
+"    em uma operação archive.\n"
+"    (padrão: False)"
 
 msgid ""
 "``baseurl``\n"
@@ -21309,10 +21973,11 @@
 
 msgid ""
 "``cache``\n"
-"    Whether to support caching in hgweb. Defaults to True."
+"    Whether to support caching in hgweb. (default: True)"
 msgstr ""
 "``cache``\n"
-"    Habilita suporte a cache na interface hgweb. O padrão é True."
+"    Habilita suporte a cache na interface hgweb.\n"
+"    (padrão: True)"
 
 msgid ""
 "``certificate``\n"
@@ -21329,7 +21994,7 @@
 "    the current path are grouped behind navigable directory entries that\n"
 "    lead to the locations of these repositories. In effect, this setting\n"
 "    collapses each collection of repositories found within a subdirectory\n"
-"    into a single entry for that subdirectory. Default is False."
+"    into a single entry for that subdirectory. (default: False)"
 msgstr ""
 "``collapse``\n"
 "    Com ``descend`` habilitado, repositórios em subdiretórios são\n"
@@ -21340,31 +22005,36 @@
 "    às localizações desses repositórios. Ou seja, esta\n"
 "    configuração colapsa cada coleção de repositórios encontrada\n"
 "    em um subdiretório em uma única entrada para esse\n"
-"    subdiretório. O padrão é False."
+"    subdiretório.\n"
+"    (padrão: False)"
 
 msgid ""
 "``comparisoncontext``\n"
 "    Number of lines of context to show in side-by-side file comparison. If\n"
-"    negative or the value ``full``, whole files are shown. Default is 5.\n"
-"    This setting can be overridden by a ``context`` request parameter to the\n"
-"    ``comparison`` command, taking the same values."
+"    negative or the value ``full``, whole files are shown. (default: 5)"
 msgstr ""
 "``comparisoncontext``\n"
 "    Número de linhas de contexto a serem exibidas em comparações lado a\n"
 "    lado. Se negativo, ou com o valor ``full``, serão exibidos arquivos\n"
-"    completos. O padrão é 5.\n"
+"    completos.\n"
+"    (padrão: 5)"
+
+msgid ""
+"    This setting can be overridden by a ``context`` request parameter to the\n"
+"    ``comparison`` command, taking the same values."
+msgstr ""
 "    Esta configuração pode ser redefinida por um parâmetro ``context`` do\n"
 "    pedido para o comando ``comparison``, recebendo os mesmos valores."
 
 msgid ""
 "``contact``\n"
 "    Name or email address of the person in charge of the repository.\n"
-"    Defaults to ui.username or ``$EMAIL`` or \"unknown\" if unset or empty."
+"    (default: ui.username or ``$EMAIL`` or \"unknown\" if unset or empty)"
 msgstr ""
 "``contact``\n"
 "    Nome ou endereço de email da pessoa responsável pelo repositório.\n"
-"    O padrão é ui.username ou ``$EMAIL``, ou \"unknown\" se vazia ou\n"
-"    não definida."
+"    (padrão: ui.username ou ``$EMAIL``, ou \"unknown\" se vazia ou\n"
+"    não definida)"
 
 msgid ""
 "``deny_push``\n"
@@ -21432,27 +22102,29 @@
 msgid ""
 "``description``\n"
 "    Textual description of the repository's purpose or contents.\n"
-"    Default is \"unknown\"."
+"    (default: \"unknown\")"
 msgstr ""
 "``description``\n"
-"    Descrição textual do propósito ou conteúdo do repositório. O\n"
-"    padrão é \"unknown\" (desconhecido)."
+"    Descrição textual do propósito ou conteúdo do repositório.\n"
+"    (padrão: \"unknown\" (desconhecido))"
 
 msgid ""
 "``encoding``\n"
-"    Character encoding name. Default is the current locale charset.\n"
-"    Example: \"UTF-8\""
+"    Character encoding name. (default: the current locale charset)\n"
+"    Example: \"UTF-8\"."
 msgstr ""
 "``encoding``\n"
-"    Nome da codificação de caracteres. O padrão é o conjunto de\n"
-"    caracteres atual de acordo com o locale. Exemplo: \"UTF-8\""
+"    Nome da codificação de caracteres.\n"
+"    (padrão: o conjunto de caracteres atual de acordo com o locale)\n"
+"    Exemplo: \"UTF-8\"."
 
 msgid ""
 "``errorlog``\n"
-"    Where to output the error log. Default is stderr."
+"    Where to output the error log. (default: stderr)"
 msgstr ""
 "``errorlog``\n"
-"    Onde escrever o log de erros. O padrão é a saída de erros (stderr)."
+"    Onde escrever o log de erros.\n"
+"    (padrão: saída de erros (stderr))"
 
 msgid ""
 "``guessmime``\n"
@@ -21460,7 +22132,7 @@
 "    Set to True to let hgweb guess the content type from the file\n"
 "    extension. This will serve HTML files as ``text/html`` and might\n"
 "    allow cross-site scripting attacks when serving untrusted\n"
-"    repositories. Default is False."
+"    repositories. (default: False)"
 msgstr ""
 "``guessmime``\n"
 "    Controla tipos MIME para download inalterado do conteúdo de\n"
@@ -21468,23 +22140,24 @@
 "    conteúdo a partir da extensão do arquivo. Isto servirá arquivos\n"
 "    HTML como ``text/html``, e portanto pode permitir ataques de\n"
 "    cross-site scripting (XSS) ao servir repositórios não confiáveis.\n"
-"    O padrão é False."
+"    (padrão: False)"
 
 msgid ""
 "``hidden``\n"
 "    Whether to hide the repository in the hgwebdir index.\n"
-"    Default is False."
+"    (default: False)"
 msgstr ""
 "``hidden``\n"
 "    Determina se o repositório não deve aparecer na índice do hgwebdir.\n"
-"    O padrão é False (ou seja, mostrar o repositório)."
+"    (padrão: False (ou seja, mostrar o repositório))"
 
 msgid ""
 "``ipv6``\n"
-"    Whether to use IPv6. Default is False."
+"    Whether to use IPv6. (default: False)"
 msgstr ""
 "``ipv6``\n"
-"    Determina se IPv6 deve ser usado. O padrão é False."
+"    Determina se IPv6 deve ser usado.\n"
+"    (padrão: False)"
 
 msgid ""
 "``logoimg``\n"
@@ -21502,68 +22175,95 @@
 
 msgid ""
 "``logourl``\n"
-"    Base URL to use for logos. If unset, ``http://mercurial.selenic.com/``\n"
+"    Base URL to use for logos. If unset, ``https://mercurial-scm.org/``\n"
 "    will be used."
 msgstr ""
 "``logourl``\n"
 "    URL base para usar em logos. Se não estiver definida,\n"
-"    ``http://mercurial.selenic.com/`` será usada."
+"    ``https://mercurial-scm.org/`` será usada."
 
 msgid ""
 "``maxchanges``\n"
-"    Maximum number of changes to list on the changelog. Default is 10."
+"    Maximum number of changes to list on the changelog. (default: 10)"
 msgstr ""
 "``maxchanges``\n"
-"    Número máximo de mudanças listadas no changelog. O padrão é 10."
+"    Número máximo de mudanças listadas no changelog.\n"
+"    (padrão: 10)"
 
 msgid ""
 "``maxfiles``\n"
-"    Maximum number of files to list per changeset. Default is 10."
+"    Maximum number of files to list per changeset. (default: 10)"
 msgstr ""
 "``maxfiles``\n"
-"    Numero máximo de arquivos listados por revisão. O padrão é 10."
+"    Numero máximo de arquivos listados por revisão.\n"
+"    (padrão: 10)"
 
 msgid ""
 "``maxshortchanges``\n"
 "    Maximum number of changes to list on the shortlog, graph or filelog\n"
-"    pages. Default is 60."
+"    pages. (default: 60)"
 msgstr ""
 "``maxshortchanges``\n"
 "    Número máximo de mudanças listadas nas páginas shortlog, graph ou\n"
-"    filelog. O padrão é 60."
+"    filelog.\n"
+"    (padrão: 60)"
 
 msgid ""
 "``name``\n"
-"    Repository name to use in the web interface. Default is current\n"
-"    working directory."
+"    Repository name to use in the web interface.\n"
+"    (default: current working directory)"
 msgstr ""
 "``name``\n"
-"    Nome do repositório a ser usado na interface web. Por padrão é\n"
-"    o nome do diretório de trabalho."
+"    Nome do repositório a ser usado na interface web.\n"
+"    (padrão: o nome do diretório de trabalho)"
 
 msgid ""
 "``port``\n"
-"    Port to listen on. Default is 8000."
+"    Port to listen on. (default: 8000)"
 msgstr ""
 "``port``\n"
-"    Porta na qual escutar. O padrão é 8000."
+"    Porta na qual escutar.\n"
+"    (padrão: 8000)"
 
 msgid ""
 "``prefix``\n"
-"    Prefix path to serve from. Default is '' (server root)."
+"    Prefix path to serve from. (default: '' (server root))"
 msgstr ""
 "``prefix``\n"
-"    Prefixo dos caminhos a serem servidos. O padrão é '' (que\n"
-"    corresponde à raiz do servidor)."
+"    Prefixo dos caminhos a serem servidos.\n"
+"    (padrão: '' (que corresponde à raiz do servidor))"
 
 msgid ""
 "``push_ssl``\n"
 "    Whether to require that inbound pushes be transported over SSL to\n"
-"    prevent password sniffing. Default is True."
+"    prevent password sniffing. (default: True)"
 msgstr ""
 "``push_ssl``\n"
 "    Determina se SSL será exigido para o recebimento de revisões em\n"
-"    um push, para prevenir o vazamento de senhas. O padrão é True."
+"    um push, para prevenir o vazamento de senhas.\n"
+"    (padrão: True)"
+
+msgid ""
+"``refreshinterval``\n"
+"    How frequently directory listings re-scan the filesystem for new\n"
+"    repositories, in seconds. This is relevant when wildcards are used\n"
+"    to define paths. Depending on how much filesystem traversal is\n"
+"    required, refreshing may negatively impact performance."
+msgstr ""
+"``refreshinterval``\n"
+"    Com que frequência, em segundos, o sistema de arquivos é varrido\n"
+"    em busca de novos repositórios para listagens de diretório.\n"
+"    Isto é relevante se caracteres curinga forem usados para definir\n"
+"    caminhos. Dependendo da quantidade necessária de operações no\n"
+"    sistema de arquivos, esta configuração pode impactar negativamente\n"
+"    o desempenho."
+
+msgid ""
+"    Values less than or equal to 0 always refresh.\n"
+"    (default: 20)"
+msgstr ""
+"    Valores menores ou iguais a 0 equivalem a \"sempre\".\n"
+"    (padrão: 20)"
 
 msgid ""
 "``staticurl``\n"
@@ -21582,22 +22282,23 @@
 msgid ""
 "``stripes``\n"
 "    How many lines a \"zebra stripe\" should span in multi-line output.\n"
-"    Default is 1; set to 0 to disable."
+"    Set to 0 to disable. (default: 1)"
 msgstr ""
 "``stripes``\n"
 "    Quantas linhas uma \"listra de zebra\" deve ocupar em saídas com\n"
-"    múltiplas linhas. O padrão é 1; use 0 para desabilitar."
+"    múltiplas linhas. Use 0 para desabilitar.\n"
+"    (padrão: 1)"
 
 msgid ""
 "``style``\n"
 "    Which template map style to use. The available options are the names of\n"
-"    subdirectories in the HTML templates path. Default is ``paper``.\n"
-"    Example: ``monoblue``"
+"    subdirectories in the HTML templates path. (default: ``paper``)\n"
+"    Example: ``monoblue``."
 msgstr ""
 "``style``\n"
 "    Qual estilo de mapa de modelo usar. As opções disponíveis são\n"
 "    os nomes dos subdiretórios no caminho de modelos HTML.\n"
-"    O padrão é ``paper``.\n"
+"    (padrão: ``paper``)\n"
 "    Exemplo: ``monoblue``"
 
 msgid ""
@@ -21700,14 +22401,14 @@
 
 msgid ""
 "``numcpus``\n"
-"    Number of CPUs to use for parallel operations. Default is 4 or the\n"
-"    number of CPUs on the system, whichever is larger. A zero or\n"
+"    Number of CPUs to use for parallel operations. A zero or\n"
 "    negative value is treated as ``use the default``.\n"
+"    (default: 4 or the number of CPUs on the system, whichever is larger)\n"
 msgstr ""
 "``numcpus``\n"
-"    Número de CPUs a serem usadas para operações em paralelo. O padrão\n"
-"    é o maior valor entre 4 e o número de CPUs no sistema. Zero ou\n"
-"    negativo indicam o uso do valor padrão.\n"
+"    Número de CPUs a serem usadas para operações em paralelo.\n"
+"    Zero ou negativo indicam o uso do valor padrão.\n"
+"    (padrão: o maior valor entre 4 e o número de CPUs no sistema)\n"
 
 msgid "Some commands allow the user to specify a date, e.g.:"
 msgstr "Alguns comandos permitem ao usuário especificar uma data, como:"
@@ -21990,14 +22691,27 @@
 msgid ""
 "HGPLAINEXCEPT\n"
 "    This is a comma-separated list of features to preserve when\n"
-"    HGPLAIN is enabled. Currently the only value supported is \"i18n\",\n"
-"    which preserves internationalization in plain mode."
+"    HGPLAIN is enabled. Currently the following values are supported:"
 msgstr ""
 "HGPLAINEXCEPT\n"
 "    Esta é uma lista separada por vírgulas de funcionalidades a serem\n"
-"    preservadas quando HGPLAIN estiver habilitada. No momento, o único\n"
-"    valor suportado é \"i18n\", que preserva internacionalização em\n"
-"    modo plain."
+"    preservadas quando HGPLAIN estiver habilitada. No momento,\n"
+"    os seguintes valores são suportados:"
+
+msgid ""
+"    ``alias``\n"
+"        Don't remove aliases.\n"
+"    ``i18n``\n"
+"        Preserve internationalization.\n"
+"    ``revsetalias``\n"
+"        Don't remove revset aliases."
+msgstr ""
+"    ``alias``\n"
+"        Não remove apelidos.\n"
+"    ``i18n``\n"
+"        Preserva internacionalização.\n"
+"    ``revsetalias``\n"
+"        Não remove apelidos de revsets."
 
 msgid ""
 "    Setting HGPLAINEXCEPT to anything (even an empty string) will\n"
@@ -22367,7 +23081,7 @@
 "    diferentes clones ou marcadores (veja :hg:`help bookmarks`), ou\n"
 "    explicitamente usando ramos nomeados."
 
-msgid "    Example: \"The experimental branch\"."
+msgid "    Example: \"The experimental branch.\""
 msgstr ""
 "    Exemplos: \"o ramo experimental\"; \"enviei a correção para o\n"
 "    ramo de produção\"."
@@ -22380,8 +23094,8 @@
 "    em seu pai ter mais de uma revisão filha, muitas vezes designada\n"
 "    como \"criar um ramo\" ou \"fazer um ramo\"."
 
-msgid "    Example: \"I'm going to branch at X\"."
-msgstr "    Exemplos: \"vou ramificar em X\"; \"vou criar um ramo em X\"."
+msgid "    Example: \"I'm going to branch at X.\""
+msgstr "    Exemplo: \"Vou criar um ramo em X.\""
 
 msgid ""
 "Branch, anonymous\n"
@@ -22602,7 +23316,7 @@
 
 msgid ""
 "Close changeset\n"
-"    See 'Head, closed branch'"
+"    See 'Head, closed branch'."
 msgstr ""
 "Closed changeset\n"
 "    Veja 'Head, closed branch'."
@@ -22622,16 +23336,16 @@
 "Clone\n"
 "    (Nome) Uma cópia total ou parcial de um repositório."
 
-msgid "    Example: \"Is your clone up to date?\"."
-msgstr "    Exemplo: \"Seu clone está atualizado?\"."
+msgid "    Example: \"Is your clone up to date?\""
+msgstr "    Exemplo: \"Seu clone está atualizado?\""
 
 msgid "    (Verb) The process of creating a clone, using :hg:`clone`."
 msgstr ""
 "    (Verbo) Clonar. O processo de criar um clone, usando o comando\n"
 "    de mesmo nome: :hg:`clone`."
 
-msgid "    Example: \"I'm going to clone the repository\"."
-msgstr "    Exemplo: \"Vou clonar o repositório\"."
+msgid "    Example: \"I'm going to clone the repository.\""
+msgstr "    Exemplo: \"Vou clonar o repositório.\""
 
 msgid ""
 "Closed branch head\n"
@@ -23216,8 +23930,8 @@
 "Update\n"
 "    (Nome) Atualização. Outro sinônimo para revisão."
 
-msgid "    Example: \"I've pushed an update\"."
-msgstr "    Exemplo: \"Eu enviei uma atualização\"."
+msgid "    Example: \"I've pushed an update.\""
+msgstr "    Exemplo: \"Eu enviei uma atualização.\""
 
 msgid ""
 "    (Verb) This term is usually used to describe updating the state of\n"
@@ -23228,8 +23942,8 @@
 "    a mudança do estado do diretório de trabalho para uma revisão\n"
 "    específica qualquer. Veja :hg:`help update`."
 
-msgid "    Example: \"You should update\"."
-msgstr "    Exemplo: \"Você deveria atualizar\"."
+msgid "    Example: \"You should update.\""
+msgstr "    Exemplo: \"Você deveria atualizar.\""
 
 msgid ""
 "Working directory\n"
@@ -23481,11 +24195,11 @@
 msgid ""
 "Resources\n"
 "\"\"\"\"\"\"\"\"\"\n"
-"Main Web Site: http://mercurial.selenic.com/"
+"Main Web Site: https://mercurial-scm.org/"
 msgstr ""
 "Recursos\n"
 "\"\"\"\"\"\"\"\"\n"
-"Página Principal: http://mercurial.selenic.com/"
+"Página Principal: https://mercurial-scm.org/"
 
 msgid "Source code repository: http://selenic.com/hg"
 msgstr "Repositório de código fonte: http://selenic.com/hg"
@@ -24020,7 +24734,7 @@
 msgid ""
 "Many commands take a ``{revision}`` URL parameter. This defines the\n"
 "changeset to operate on. This is commonly specified as the short,\n"
-"12 digit hexidecimal abbreviation for the full 40 character unique\n"
+"12 digit hexadecimal abbreviation for the full 40 character unique\n"
 "revision identifier. However, any value described by\n"
 ":hg:`help revisions` typically works."
 msgstr ""
@@ -25084,27 +25798,27 @@
 
 msgid ""
 "HGENCODING\n"
-"   If not set, the locale used by Mercurial will be detected from the\n"
-"   environment. If the determined locale does not support display of\n"
-"   certain characters, Mercurial may render these character sequences\n"
-"   incorrectly (often by using \"?\" as a placeholder for invalid\n"
-"   characters in the current locale)."
+"    If not set, the locale used by Mercurial will be detected from the\n"
+"    environment. If the determined locale does not support display of\n"
+"    certain characters, Mercurial may render these character sequences\n"
+"    incorrectly (often by using \"?\" as a placeholder for invalid\n"
+"    characters in the current locale)."
 msgstr ""
 "HGENCODING\n"
-"   Se não for definida, o locale usado pelo Mercurial será detectado\n"
-"   a partir do ambiente. Se o locale determinado não suportar a\n"
-"   exibição de certos caracteres, o Mercurial pode renderizar essas\n"
-"   sequências de caracteres incorretamente (por vezes usando \"?\" para\n"
-"   representar caracteres inválidos no locale atual)."
-
-msgid ""
-"   Explicitly setting this environment variable is a good practice to\n"
-"   guarantee consistent results. \"utf-8\" is a good choice on UNIX-like\n"
-"   environments."
-msgstr ""
-"   Definir explicitamente esta variável é uma boa prática para\n"
-"   garantir resultados consistentes. \"utf-8\" é uma boa escolha em\n"
-"   ambientes semelhantes ao UNIX."
+"    Se não for definida, o locale usado pelo Mercurial será detectado\n"
+"    a partir do ambiente. Se o locale determinado não suportar a\n"
+"    exibição de certos caracteres, o Mercurial pode renderizar essas\n"
+"    sequências de caracteres incorretamente (por vezes usando \"?\" para\n"
+"    representar caracteres inválidos no locale atual)."
+
+msgid ""
+"    Explicitly setting this environment variable is a good practice to\n"
+"    guarantee consistent results. \"utf-8\" is a good choice on UNIX-like\n"
+"    environments."
+msgstr ""
+"    Definir explicitamente esta variável é uma boa prática para\n"
+"    garantir resultados consistentes. \"utf-8\" é uma boa escolha em\n"
+"    ambientes semelhantes ao UNIX."
 
 msgid ""
 "HGRCPATH\n"
@@ -25892,6 +26606,12 @@
 msgid "   $ hg log -r 0 --template \"{date(date, '%Y')}\\n\""
 msgstr "   $ hg log -r 0 --template \"{date(date, '%Y')}\\n\""
 
+msgid "- Display date in UTC::"
+msgstr "- Mostra a data em UTC::"
+
+msgid "   $ hg log -r 0 --template \"{localdate(date, 'UTC')|date}\\n\""
+msgstr "   $ hg log -r 0 --template \"{localdate(date, 'UTC')|date}\\n\""
+
 msgid "- Output the description set to a fill-width of 30::"
 msgstr "- Informar as descrições em um campo de largura 30::"
 
@@ -25942,12 +26662,36 @@
 "   $ hg log --template \"{bookmarks % '{bookmark}{ifeq(bookmark, active, "
 "'*')} '}\\n\""
 
+msgid ""
+"- Find the previous release candidate tag, the distance and changes since "
+"the tag::"
+msgstr ""
+"- Encontra a etiqueta anterior de candidato à liberação, a distância e as "
+"mudanças desde a etiqueta::"
+
+msgid ""
+"   $ hg log -r . --template \"{latesttag('re:^.*-rc$') % '{tag}, {changes}, "
+"{distance}'}\\n\""
+msgstr ""
+"   $ hg log -r . --template \"{latesttag('re:^.*-rc$') % '{tag}, {changes}, "
+"{distance}'}\\n\""
+
 msgid "- Mark the working copy parent with '@'::"
 msgstr "- Indica o pai do diretório de trabalho com '@'::"
 
 msgid "   $ hg log --template \"{ifcontains(rev, revset('.'), '@')}\\n\""
 msgstr "   $ hg log --template \"{ifcontains(rev, revset('.'), '@')}\\n\""
 
+msgid "- Show details of parent revisions::"
+msgstr " - mostra detalhes de revisões pai::"
+
+msgid ""
+"   $ hg log --template \"{revset('parents(%d)', rev) % "
+"'{desc|firstline}\\n'}\""
+msgstr ""
+"   $ hg log --template \"{revset('parents(%d)', rev) % "
+"'{desc|firstline}\\n'}\""
+
 msgid "- Show only commit descriptions that start with \"template\"::"
 msgstr "- Mostra apenas descrições de revisão que comecem com \"template\"::"
 
@@ -26208,14 +26952,6 @@
 msgstr ".hgsubstate está corrompido na revisão %s\n"
 
 #, python-format
-msgid "websub: invalid pattern for %s: %s\n"
-msgstr "websub: padrão inválido para %s: %s\n"
-
-#, python-format
-msgid "websub: invalid regexp for %s: %s\n"
-msgstr "websub: expressão regular inválida para %s: %s\n"
-
-#, python-format
 msgid "config file %s not found!"
 msgstr "arquivo de configuração %s não encontrado!"
 
@@ -26537,7 +27273,7 @@
 msgstr "    Renderiza usando o modelo ``filediff``."
 
 msgid ""
-"    This hander is registered under both the ``/diff`` and ``/filediff``\n"
+"    This handler is registered under both the ``/diff`` and ``/filediff``\n"
 "    paths. ``/diff`` is used in modern code."
 msgstr ""
 "    Tanto ``/diff`` como ``/filediff`` executam este comando.\n"
@@ -26727,6 +27463,14 @@
 msgstr " %d arquivos modificados, %d inserções(+), %d remoções(-)\n"
 
 #, python-format
+msgid "websub: invalid pattern for %s: %s\n"
+msgstr "websub: padrão inválido para %s: %s\n"
+
+#, python-format
+msgid "websub: invalid regexp for %s: %s\n"
+msgstr "websub: expressão regular inválida para %s: %s\n"
+
+#, python-format
 msgid "%s hook is invalid (\"%s\" not in a module)"
 msgstr "gancho %s inválido(\"%s\" não está em um módulo)"
 
@@ -26974,6 +27718,12 @@
 msgid "unresolved merge conflicts (see \"hg help resolve\")"
 msgstr "conflitos de mesclagem não resolvidos (veja \"hg help resolve\")"
 
+msgid "driver-resolved merge conflicts"
+msgstr ""
+
+msgid "run \"hg resolve --all\" to resolve"
+msgstr "execute \"hg resolve --all\" para resolver"
+
 #, python-format
 msgid "committing subrepository %s\n"
 msgstr "consolidando sub-repositório %s\n"
@@ -26995,22 +27745,10 @@
 msgid "committing changelog\n"
 msgstr "consolidando changelog\n"
 
-msgid "operation forbidden by server"
-msgstr "operação não permitida pelo servidor"
-
-msgid "locking the remote repository failed"
-msgstr "o bloqueio do repositório remoto falhou"
-
-msgid "the server sent an unknown error code"
-msgstr "o servidor enviou um código de erro desconhecido"
-
 #, python-format
 msgid "pushkey-abort: %s\n"
 msgstr "pushkey-abortado: %s\n"
 
-msgid "SMTPS requires Python 2.6 or later"
-msgstr "SMTPS exige Python 2.6 ou posterior"
-
 msgid "can't use TLS: Python SSL support not installed"
 msgstr "impossível usar TLS: suporte Python a SSL não instalado"
 
@@ -27025,8 +27763,8 @@
 msgstr "(usando smtps)\n"
 
 #, python-format
-msgid "sending mail: smtp host %s, port %s\n"
-msgstr "enviando e-mail: servidor smtp %s, porta %s\n"
+msgid "sending mail: smtp host %s, port %d\n"
+msgstr "enviando e-mail: servidor smtp %s, porta %d\n"
 
 msgid "(using starttls)\n"
 msgstr "(usando starttls)\n"
@@ -27103,6 +27841,12 @@
 msgid "unsupported merge state record: %s"
 msgstr "registro de estado de mesclagem não suportado: %s"
 
+msgid "merge driver changed since merge started"
+msgstr ""
+
+msgid "revert merge driver change or abort merge"
+msgstr ""
+
 #, python-format
 msgid "warning: cannot merge flags for %s\n"
 msgstr "aviso: não é possível mesclar flags para %s\n"
@@ -27121,6 +27865,10 @@
 msgid "case-folding collision between %s and %s"
 msgstr "conflito de maiúsculas e minúsculas entre %s e %s"
 
+#, python-format
+msgid "case-folding collision between %s and directory of %s"
+msgstr "conflito de maiúsculas e minúsculas entre %s e o diretório de %s"
+
 msgid "resolving manifests\n"
 msgstr "examinando manifestos\n"
 
@@ -27128,9 +27876,6 @@
 msgid "note: merging %s and %s using bids from ancestors %s\n"
 msgstr "nota: mesclando %s e %s usando lances dos ancestrais %s\n"
 
-msgid " and "
-msgstr " e "
-
 #, python-format
 msgid ""
 "\n"
@@ -27172,10 +27917,6 @@
 msgid "getting %s to %s\n"
 msgstr "obtendo %s para %s\n"
 
-#, python-format
-msgid "branch %s not found"
-msgstr "ramo %s não encontrado"
-
 msgid "merging with a working directory ancestor has no effect"
 msgstr ""
 "mesclar com um ancestral do diretório de trabalho não tem nenhum efeito"
@@ -27186,18 +27927,9 @@
 msgid "use 'hg status' to list changes"
 msgstr "use 'hg status' para listar as mudanças"
 
-msgid "commit and merge, or update --clean to discard changes"
-msgstr "execute commit e merge, ou update --clean para descartar mudanças"
-
 msgid "commit or update --clean to discard changes"
 msgstr "execute commit, ou update --clean para descartar mudanças"
 
-msgid "not a linear update"
-msgstr "não é uma atualização linear"
-
-msgid "merge or update --check to force update"
-msgstr "execute merge, ou update --check para forçar a atualização"
-
 #, python-format
 msgid ""
 "local changed %s which remote deleted\n"
@@ -27581,11 +28313,6 @@
 msgstr "%d %s/seg"
 
 #, python-format
-msgid "unknown strip-bundle2-version value %r; should be one of %r\n"
-msgstr ""
-"valor desconhecido de strip-bundle2-version %r; deveria ser um dentre %r\n"
-
-#, python-format
 msgid "saved backup bundle to %s\n"
 msgstr "salvando bundle de segurança em %s\n"
 
@@ -27704,6 +28431,9 @@
 msgid "can't use a key-value pair in this context"
 msgstr "não se pode usar um par chave-valor nesse contexto"
 
+msgid "_mergedefaultdest takes no arguments"
+msgstr "_mergedefaultdest não tem argumentos"
+
 msgid ""
 "``adds(pattern)``\n"
 "    Changesets that add a file matching pattern."
@@ -27834,6 +28564,10 @@
 "    uma expressão regular. Para combinar com um ramo que comece\n"
 "    com `re:` literalmente, use o prefixo `literal:`."
 
+#, python-format
+msgid "branch '%s' does not exist"
+msgstr "o ramo '%s' não existe"
+
 msgid ""
 "``bumped()``\n"
 "    Mutable changesets marked as successors of public changesets."
@@ -28053,24 +28787,24 @@
 "    Um apelido para limit()."
 
 #, python-format
-msgid "%s takes no arguments or a filename"
-msgstr "%s requer um nome de arquivo ou nenhum argumento"
-
-#, python-format
-msgid "%s expected a filename"
-msgstr "%s espera um nome de arquivo"
-
-msgid ""
-"``follow([file])``\n"
+msgid "%s takes no arguments or a pattern"
+msgstr "%s requer um padrão ou nenhum argumento"
+
+#, python-format
+msgid "%s expected a pattern"
+msgstr "%s espera um padrão"
+
+msgid ""
+"``follow([pattern])``\n"
 "    An alias for ``::.`` (ancestors of the working directory's first parent).\n"
-"    If a filename is specified, the history of the given file is followed,\n"
-"    including copies."
-msgstr ""
-"``follow([arquivo])``\n"
+"    If pattern is specified, the histories of files matching given\n"
+"    pattern is followed, including copies."
+msgstr ""
+"``follow([padrão])``\n"
 "    Um apelido para ``::.`` (ancestrais do primeiro pai do diretório\n"
 "    de trabalho).\n"
-"    Se um nome de arquivo for especificado, o histórico do arquivo pedido será\n"
-"    seguido, incluindo cópias."
+"    Se um padrão for especificado, o histórico dos arquivos correspondentes\n"
+"    serão seguido, incluindo cópias."
 
 msgid ""
 "``all()``\n"
@@ -28187,20 +28921,24 @@
 msgstr "keyword requer uma string"
 
 msgid ""
-"``limit(set, [n])``\n"
-"    First n members of set, defaulting to 1."
-msgstr ""
-"``limit(conjunto, [n])``\n"
-"    Os primeiros n membros do conjunto. O valor padrão de n é 1."
+"``limit(set[, n[, offset]])``\n"
+"    First n members of set, defaulting to 1, starting from offset."
+msgstr ""
+"``limit(set[, n[, deslocamento]])``\n"
+"    Os primeiros n membros do conjunto, a partir do deslocamento.\n"
+"    O valor padrão de n é 1."
 
 #. i18n: "limit" is a keyword
-msgid "limit requires one or two arguments"
-msgstr "limit exige um ou dois argumentos"
+msgid "limit requires one to three arguments"
+msgstr "limit exige de um a três argumentos"
 
 #. i18n: "limit" is a keyword
 msgid "limit requires a number"
 msgstr "limit requer um número"
 
+msgid "negative offset"
+msgstr "deslocamento negativo"
+
 #. i18n: "limit" is a keyword
 msgid "limit expects a number"
 msgstr "limit espera um número"
@@ -28643,10 +29381,6 @@
 msgid "subrepo requires a pattern"
 msgstr "subrepo requer um padrão"
 
-#, python-format
-msgid "invalid regular expression: %s"
-msgstr "expressão regular inválida: %s"
-
 msgid ""
 "``tag([name])``\n"
 "    The specified tag by name, or all tagged revisions if no name is given."
@@ -28736,8 +29470,8 @@
 msgstr "detectada expansão infinita no apelido de revset \"%s\""
 
 #, python-format
-msgid "invalid number of arguments: %s"
-msgstr "número de argumentos inválido: %s"
+msgid "invalid number of arguments: %d"
+msgstr "número de argumentos inválido: %d"
 
 #, python-format
 msgid "\"##\" can't concatenate \"%s\" element"
@@ -28792,11 +29526,9 @@
 "Mercurial: '%s'"
 
 msgid ""
-"see http://mercurial.selenic.com/wiki/MissingRequirement for more "
-"information"
-msgstr ""
-"veja http://mercurial.selenic.com/wiki/MissingRequirement para mais "
-"informações"
+"see https://mercurial-scm.org/wiki/MissingRequirement for more information"
+msgstr ""
+"veja https://mercurial-scm.org/wiki/MissingRequirement para mais informações"
 
 msgid "searching for changes\n"
 msgstr "procurando por mudanças\n"
@@ -28832,9 +29564,6 @@
 msgid "can only specify three labels."
 msgstr "só pode especificar três rótulos."
 
-msgid "warning: conflicts during merge.\n"
-msgstr "atenção: conflitos durante a mesclagem.\n"
-
 #, python-format
 msgid "couldn't parse location %s"
 msgstr "não foi possível processar localização %s"
@@ -28931,8 +29660,52 @@
 msgstr "não é possível criar novo repositório http estático"
 
 #, python-format
-msgid "invalid entry in fncache, line %s"
-msgstr "entrada inválida na fncache, linha %s"
+msgid "invalid entry in fncache, line %d"
+msgstr "entrada inválida na fncache, linha %d"
+
+msgid "unexpected response from remote server:"
+msgstr "resposta inesperada do servidor remoto:"
+
+msgid "operation forbidden by server"
+msgstr "operação não permitida pelo servidor"
+
+msgid "locking the remote repository failed"
+msgstr "o bloqueio do repositório remoto falhou"
+
+msgid "the server sent an unknown error code"
+msgstr "o servidor enviou um código de erro desconhecido"
+
+#, python-format
+msgid "writing %d bytes for %d files\n"
+msgstr "escrevendo %d bytes em %d arquivos\n"
+
+msgid "bundle"
+msgstr "bundle"
+
+#, python-format
+msgid "%d files to transfer, %s of data\n"
+msgstr "%d arquivos para transferir, %s de dados\n"
+
+msgid "clone"
+msgstr "clone"
+
+#, python-format
+msgid "transferred %s in %.1f seconds (%s/sec)\n"
+msgstr "transferidos %s em %.1f segundos (%s/s)\n"
+
+msgid "cannot apply stream clone bundle on non-empty repo"
+msgstr "impossível aplicar um clone bundle em um repositório não vazio"
+
+#, python-format
+msgid "only uncompressed stream clone bundles are supported; got %s"
+msgstr ""
+
+msgid "malformed stream clone bundle: requirements not properly encoded"
+msgstr ""
+
+#, python-format
+msgid "unable to apply stream clone: unsupported format: %s"
+msgstr ""
 
 #, python-format
 msgid "(in subrepo %s)"
@@ -29187,14 +29960,6 @@
 msgstr ":count: Lista ou texto. Retorna o comprimento como um inteiro."
 
 msgid ""
-":date: Date. Returns a date in a Unix date format, including the\n"
-"    timezone: \"Mon Sep 04 15:13:13 2006 0700\"."
-msgstr ""
-":date: Data. Devolve uma data em um formato de data Unix,\n"
-"    incluindo a diferença de fuso horário:\n"
-"    \"Mon Sep 04 15:13:13 2006 0700\"."
-
-msgid ""
 ":domain: Any text. Finds the first string that looks like an email\n"
 "    address, and extracts just the domain component. Example: ``User\n"
 "    <user@example.com>`` becomes ``example.com``."
@@ -29264,9 +30029,6 @@
 "    segundos: \"2009-08-18 13:00:13 +0200\". Veja também o filtro\n"
 "    rfc3339date."
 
-msgid ":localdate: Date. Converts a date to local date."
-msgstr ":localdate: Data. Converte para data local."
-
 msgid ":lower: Any text. Converts the text to lowercase."
 msgstr ":lower: Qualquer texto. Converte o texto para minúsculas."
 
@@ -29376,11 +30138,6 @@
 ":stringify: Qualquer tipo. Transforma o valor em texto convertendo cada\n"
 "    parte em texto e concatenando os resultados."
 
-msgid ":strip: Any text. Strips all leading and trailing whitespace."
-msgstr ""
-":strip: Qualquer texto. Remove todos os espaços em branco no\n"
-"    início e no final do texto."
-
 msgid ""
 ":stripdir: Treat the text as path and strip a directory level, if\n"
 "    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\"."
@@ -29431,6 +30188,15 @@
 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 ""
@@ -29558,6 +30324,15 @@
 "    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."
 
@@ -29573,15 +30348,6 @@
 msgid ":tags: List of strings. Any tags associated with the changeset."
 msgstr ":tags: Lista de strings. Quaisquer etiquetas associadas à revisão."
 
-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 "integer literal without digits"
 msgstr "inteiro literal sem dígitos"
 
@@ -29596,13 +30362,13 @@
 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 "unknown function '%s'"
 msgstr "função desconhecida '%s'"
 
-msgid "expected template specifier"
-msgstr "esperado um especificador de modelo"
-
 #, 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'"
@@ -29613,10 +30379,14 @@
 
 msgid ""
 ":date(date[, fmt]): Format a date. See :hg:`help dates` for formatting\n"
-"    strings."
-msgstr ""
-":date(date[, fmt]): Formata uma data. Veja :hg:`help dates` para\n"
-"    strings de formatação."
+"    strings. The default is a Unix date format, including the timezone:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\"."
+msgstr ""
+":date(data[, fmt]): Formata uma data.\n"
+"    Veja :hg:`help dates` para strings de formatação.\n"
+"    O padrão é um formato de data Unix, incluindo a diferença\n"
+"    de fuso horário:\n"
+"    \"Mon Sep 04 15:13:13 2006 0700\"."
 
 #. i18n: "date" is a keyword
 msgid "date expects one or two arguments"
@@ -29682,7 +30452,7 @@
 msgid ""
 ":get(dict, key): Get an attribute/key from an object. Some keywords\n"
 "    are complex types. This function allows you to obtain the value of an\n"
-"    attribute on these type."
+"    attribute on these types."
 msgstr ""
 ":get(dicionário, chave): Obtém um atributo ou chave de um objeto.\n"
 "    Algumas chaves são tipos complexos. Esta função possibilita\n"
@@ -29746,6 +30516,37 @@
 "    coloração automática."
 
 msgid ""
+":latesttag([pattern]): The global tags matching the given pattern on the\n"
+"    most recent globally tagged ancestor of this changeset."
+msgstr ""
+":latesttag([padrão]): Lista de strings. As etiquetas globais\n"
+"    correspondentes ao padrão pedido no ancestral mais\n"
+"    recente desta revisão que possuir etiquetas globais."
+
+#. i18n: "latesttag" is a keyword
+msgid "latesttag expects at most one argument"
+msgstr "latesttag recebe no máximo um argumento"
+
+msgid ""
+":localdate(date[, tz]): Converts a date to the specified timezone.\n"
+"    The default is local date."
+msgstr ""
+":localdate(data[, tz]): Converte uma data para o fuso horário\n"
+"    especificado. O padrão é a data local."
+
+#. i18n: "localdate" is a keyword
+msgid "localdate expects one or two arguments"
+msgstr "localdate espera um ou dois argumentos"
+
+#. i18n: "localdate" is a keyword
+msgid "localdate expects a date information"
+msgstr "localdate espera uma informação de data"
+
+#. i18n: "localdate" is a keyword
+msgid "localdate expects a timezone"
+msgstr "localdate espera um fuso horário"
+
+msgid ""
 ":revset(query[, formatargs...]): Execute a revision set query. See\n"
 "    :hg:`help revset`."
 msgstr ""
@@ -29774,8 +30575,13 @@
 msgid "shortest() expects one or two arguments"
 msgstr "shortest() espera um ou dois argumentos"
 
-msgid ":strip(text[, chars]): Strip characters from a string."
-msgstr ":strip(texto[, caracteres]): Remove caracteres de uma string."
+msgid ""
+":strip(text[, chars]): Strip characters from a string. By default,\n"
+"    strips all leading and trailing whitespace."
+msgstr ""
+":strip(texto[, caracteres]): Remove caracteres de uma string.\n"
+"    Por padrão, remove todos os caracteres em branco à esquerda\n"
+"    e à direita."
 
 #. i18n: "strip" is a keyword
 msgid "strip expects one or two arguments"
@@ -29792,6 +30598,16 @@
 msgid "sub expects three arguments"
 msgstr "sub espera três argumentos"
 
+#. i18n: "sub" is a keyword
+#, python-format
+msgid "sub got an invalid pattern: %s"
+msgstr "sub recebeu um padrão inválido: %s"
+
+#. i18n: "sub" is a keyword
+#, python-format
+msgid "sub got an invalid replacement: %s"
+msgstr "sub recebeu uma substituição inválida: %s"
+
 msgid ""
 ":startswith(pattern, text): Returns the value from the \"text\" argument\n"
 "    if it begins with the content from the \"pattern\" argument."
@@ -29923,6 +30739,10 @@
 msgid "password: "
 msgstr "senha: "
 
+#, python-format
+msgid "repository %s does not exist"
+msgstr "o repositório %s não existe"
+
 msgid "cannot create new union repository"
 msgstr "não é possível criar novo repositório de união"
 
@@ -30040,6 +30860,10 @@
 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"
+
+#, python-format
 msgid "%.0f GB"
 msgstr "%.0f GB"
 
@@ -30326,6 +31150,57 @@
 msgid "number of cpus must be an integer"
 msgstr "o número de cpus deve ser um inteiro"
 
+#~ msgid "mercurial source does not support specifying multiple revisions"
+#~ msgstr "a origem mercurial não suporta a especificação de múltiplas revisões"
+
+#~ msgid ""
+#~ "  [web]\n"
+#~ "  pygments_style = <style>"
+#~ msgstr ""
+#~ "  [web]\n"
+#~ "  pygments_style = <estilo>"
+
+#~ msgid "The default is 'colorful'.\n"
+#~ msgstr "O padrão é 'colorful'.\n"
+
+#~ msgid "HG: user: %s"
+#~ msgstr "HG: usuário: %s"
+
+#~ msgid "broken pipe\n"
+#~ msgstr "pipe quebrado\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "broken pipe\n"
+#~ msgstr ""
+#~ "\n"
+#~ "pipe quebrado\n"
+
+#~ msgid "DEPRECATED"
+#~ msgstr "OBSOLETO"
+
+#~ msgid "SMTPS requires Python 2.6 or later"
+#~ msgstr "SMTPS exige Python 2.6 ou posterior"
+
+#~ msgid "unknown strip-bundle2-version value %r; should be one of %r\n"
+#~ msgstr ""
+#~ "valor desconhecido de strip-bundle2-version %r; deveria ser um dentre %r\n"
+
+#~ msgid "warning: conflicts during merge.\n"
+#~ msgstr "atenção: conflitos durante a mesclagem.\n"
+
+#~ msgid ":strip: Any text. Strips all leading and trailing whitespace."
+#~ msgstr ""
+#~ ":strip: Qualquer texto. Remove todos os espaços em branco no\n"
+#~ "    início e no final do texto."
+
+#~ msgid ""
+#~ ":date(date[, fmt]): Format a date. See :hg:`help dates` for formatting\n"
+#~ "    strings."
+#~ msgstr ""
+#~ ":date(date[, fmt]): Formata uma data. Veja :hg:`help dates` para\n"
+#~ "    strings de formatação."
+
 #~ msgid ""
 #~ "    It is possible to limit the amount of source history to be\n"
 #~ "    converted by specifying an initial Perforce revision:"
@@ -30474,9 +31349,6 @@
 #~ "    de todos os arquivos sob o controle do Mercurial na cópia de\n"
 #~ "    trabalho."
 
-#~ msgid "not a function: %s"
-#~ msgstr "não é uma função: %s"
-
 #~ msgid "- date(date[, fmt])"
 #~ msgstr "- date(data[, formato])"
 
--- a/mercurial/bundle2.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/bundle2.py	Mon Nov 02 13:00:45 2015 +0000
@@ -1408,10 +1408,14 @@
     if op.reply is None:
         op.reply = bundle20(op.ui, caps)
 
+class AbortFromPart(error.Abort):
+    """Sub-class of Abort that denotes an error from a bundle2 part."""
+
 @parthandler('error:abort', ('message', 'hint'))
 def handleerrorabort(op, inpart):
     """Used to transmit abort error over the wire"""
-    raise error.Abort(inpart.params['message'], hint=inpart.params.get('hint'))
+    raise AbortFromPart(inpart.params['message'],
+                        hint=inpart.params.get('hint'))
 
 @parthandler('error:pushkey', ('namespace', 'key', 'new', 'old', 'ret',
                                'in-reply-to'))
--- a/mercurial/commands.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/commands.py	Mon Nov 02 13:00:45 2015 +0000
@@ -2683,7 +2683,7 @@
           _('record parent information for the precursor')),
          ('r', 'rev', [], _('display markers relevant to REV')),
         ] + commitopts2,
-         _('[OBSOLETED [REPLACEMENT] [REPL... ]'))
+         _('[OBSOLETED [REPLACEMENT ...]]'))
 def debugobsolete(ui, repo, precursor=None, *successors, **opts):
     """create arbitrary obsolete marker
 
@@ -3037,7 +3037,9 @@
     totalsize = fulltotal + deltatotal
     avgchainlen = sum(chainlengths) / numrevs
     maxchainlen = max(chainlengths)
-    compratio = totalrawsize / totalsize
+    compratio = 1
+    if totalsize:
+        compratio = totalrawsize / totalsize
 
     basedfmtstr = '%%%dd\n'
     basepcfmtstr = '%%%dd %s(%%5.2f%%%%)\n'
@@ -3048,7 +3050,10 @@
         return basepcfmtstr % (len(str(max)), ' ' * padding)
 
     def pcfmt(value, total):
-        return (value, 100 * float(value) / total)
+        if total:
+            return (value, 100 * float(value) / total)
+        else:
+            return value, 100.0
 
     ui.write(('format : %d\n') % format)
     ui.write(('flags  : %s\n') % ', '.join(flags))
--- a/mercurial/demandimport.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/demandimport.py	Mon Nov 02 13:00:45 2015 +0000
@@ -233,6 +233,7 @@
     # raise ImportError if x not defined
     '__main__',
     '_ssl', # conditional imports in the stdlib, issue1964
+    '_sre', # issue4920
     'rfc822',
     'mimetools',
     # setuptools 8 expects this module to explode early when not on windows
--- a/mercurial/discovery.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/discovery.py	Mon Nov 02 13:00:45 2015 +0000
@@ -279,7 +279,7 @@
             if bookmarks.validdest(repo, rctx, lctx):
                 bookmarkedheads.add(lctx.node())
         else:
-            if bm in newbookmarks:
+            if bm in newbookmarks and bm not in remotebookmarks:
                 bookmarkedheads.add(repo[bm].node())
 
     # 3. Check for new heads.
--- a/mercurial/exchange.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/exchange.py	Mon Nov 02 13:00:45 2015 +0000
@@ -798,6 +798,9 @@
             op = bundle2.processbundle(pushop.repo, reply, trgetter)
         except error.BundleValueError as exc:
             raise error.Abort('missing support for %s' % exc)
+        except bundle2.AbortFromPart as exc:
+            pushop.ui.status(_('remote: %s\n') % exc)
+            raise error.Abort(_('push failed on remote'), hint=exc.hint)
     except error.PushkeyFailed as exc:
         partid = int(exc.partid)
         if partid not in pushop.pkfailcb:
--- a/mercurial/help/environment.txt	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/help/environment.txt	Mon Nov 02 13:00:45 2015 +0000
@@ -61,8 +61,14 @@
 
 HGPLAINEXCEPT
     This is a comma-separated list of features to preserve when
-    HGPLAIN is enabled. Currently the only value supported is "i18n",
-    which preserves internationalization in plain mode.
+    HGPLAIN is enabled. Currently the following values are supported:
+
+    ``alias``
+        Don't remove aliases.
+    ``i18n``
+        Preserve internationalization.
+    ``revsetalias``
+        Don't remove revset aliases.
 
     Setting HGPLAINEXCEPT to anything (even an empty string) will
     enable plain mode.
--- a/mercurial/localrepo.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/localrepo.py	Mon Nov 02 13:00:45 2015 +0000
@@ -1014,6 +1014,8 @@
                 # out) in this transaction
                 repo.vfs.rename('journal.dirstate', 'dirstate')
 
+                repo.invalidate(clearfilecache=True)
+
         tr = transaction.transaction(rp, self.svfs, vfsmap,
                                      "journal",
                                      "undo",
@@ -1205,13 +1207,15 @@
                     pass
             delattr(self.unfiltered(), 'dirstate')
 
-    def invalidate(self):
+    def invalidate(self, clearfilecache=False):
         unfiltered = self.unfiltered() # all file caches are stored unfiltered
-        for k in self._filecache:
+        for k in self._filecache.keys():
             # dirstate is invalidated separately in invalidatedirstate()
             if k == 'dirstate':
                 continue
 
+            if clearfilecache:
+                del self._filecache[k]
             try:
                 delattr(unfiltered, k)
             except AttributeError:
--- a/mercurial/merge.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/merge.py	Mon Nov 02 13:00:45 2015 +0000
@@ -1116,15 +1116,15 @@
 
     This logic is tested by test-update-branches.t.
 
-    -c  -C  dirty  rev  |  linear   same  cross
-     n   n    n     n   |    ok     (1)     x
-     n   n    n     y   |    ok     ok     ok
-     n   n    y     n   |   merge   (2)    (2)
-     n   n    y     y   |   merge   (3)    (3)
-     n   y    *     *   |    ---  discard  ---
-     y   n    y     *   |    ---    (4)    ---
-     y   n    n     *   |    ---    ok     ---
-     y   y    *     *   |    ---    (5)    ---
+    -c  -C  dirty  rev  |  linear      same    cross
+     n   n    n     n   |    ok        (1)       x
+     n   n    n     y   |    ok        ok       ok
+     n   n    y     n   |   merge      (2)      (2)
+     n   n    y     y   |   merge      (3)      (3)
+     n   y    *     *   |   discard   discard   discard
+     y   n    y     *   |    (4)       (4)      (4)
+     y   n    n     *   |    ok        ok       ok
+     y   y    *     *   |    (5)       (5)      (5)
 
     x = can't happen
     * = don't-care
--- a/mercurial/scmutil.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/scmutil.py	Mon Nov 02 13:00:45 2015 +0000
@@ -717,6 +717,9 @@
 
     if first is None:
         raise error.Abort(_('empty revision range'))
+    if (first == second and len(revs) >= 2
+        and not all(revrange(repo, [r]) for r in revs)):
+        raise error.Abort(_('empty revision on one side of range'))
 
     # if top-level is range expression, the result must always be a pair
     if first == second and len(revs) == 1 and not _pairspec(revs[0]):
--- a/mercurial/templates/static/mercurial.js	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/templates/static/mercurial.js	Mon Nov 02 13:00:45 2015 +0000
@@ -376,7 +376,7 @@
 
             if (!nextPageVar) {
                 var message = {
-                    class: 'scroll-loading-info',
+                    'class': 'scroll-loading-info',
                     text: 'No more entries'
                 };
                 appendFormatHTML(container, messageFormat, message);
@@ -388,7 +388,7 @@
                 'GET',
                 function onstart() {
                     var message = {
-                        class: 'scroll-loading',
+                        'class': 'scroll-loading',
                         text: 'Loading...'
                     };
                     appendFormatHTML(container, messageFormat, message);
@@ -423,7 +423,7 @@
                 },
                 function onerror(errorText) {
                     var message = {
-                        class: 'scroll-loading-error',
+                        'class': 'scroll-loading-error',
                         text: 'Error: ' + errorText
                     };
                     appendFormatHTML(container, messageFormat, message);
--- a/mercurial/ui.py	Mon Oct 19 16:49:54 2015 +0200
+++ b/mercurial/ui.py	Mon Nov 02 13:00:45 2015 +0000
@@ -1026,7 +1026,11 @@
         # Handle default-push, which is a one-off that defines the push URL for
         # the "default" path.
         defaultpush = ui.config('paths', 'default-push')
-        if defaultpush and 'default' in self:
+        if defaultpush:
+            # "default-push" can be defined without "default" entry. This is a
+            # bit weird, but is allowed for backwards compatibility.
+            if 'default' not in self:
+                self['default'] = path('default', rawloc=defaultpush)
             self['default']._pushloc = defaultpush
 
     def getpath(self, name, default=None):
--- a/tests/test-bookmarks-pushpull.t	Mon Oct 19 16:49:54 2015 +0200
+++ b/tests/test-bookmarks-pushpull.t	Mon Nov 02 13:00:45 2015 +0000
@@ -678,6 +678,26 @@
   $ hg -R ../b id -r W
   cc978a373a53 tip W
 
+pushing an existing but divergent bookmark with -B still requires -f
+
+  $ hg clone -q . r
+  $ hg up -q X
+  $ echo 1 > f2
+  $ hg ci -qAml
+
+  $ cd r
+  $ hg up -q X
+  $ echo 2 > f2
+  $ hg ci -qAmr
+  $ hg push -B X
+  pushing to $TESTTMP/addmarks (glob)
+  searching for changes
+  remote has heads on branch 'default' that are not known locally: a2a606d9ff1b
+  abort: push creates new remote head 54694f811df9 with bookmark 'X'!
+  (pull and merge or see "hg help push" for details about pushing new heads)
+  [255]
+  $ cd ..
+
 Check summary output for incoming/outgoing bookmarks
 
   $ hg bookmarks -d X
--- a/tests/test-bundle2-exchange.t	Mon Oct 19 16:49:54 2015 +0200
+++ b/tests/test-bundle2-exchange.t	Mon Nov 02 13:00:45 2015 +0000
@@ -518,14 +518,16 @@
   $ hg -R main push ssh://user@dummy/other -r e7ec4e813ba6
   pushing to ssh://user@dummy/other
   searching for changes
-  abort: Abandon ship!
+  remote: Abandon ship!
+  abort: push failed on remote
   (don't panic)
   [255]
 
   $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
   pushing to http://localhost:$HGPORT2/
   searching for changes
-  abort: Abandon ship!
+  remote: Abandon ship!
+  abort: push failed on remote
   (don't panic)
   [255]
 
@@ -624,7 +626,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnclose.failpush hook exited with status 1
+  remote: pretxnclose.failpush hook exited with status 1
+  abort: push failed on remote
   [255]
 
   $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
@@ -639,7 +642,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnclose.failpush hook exited with status 1
+  remote: pretxnclose.failpush hook exited with status 1
+  abort: push failed on remote
   [255]
 
 (check that no 'pending' files remain)
@@ -684,7 +688,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnchangegroup hook exited with status 1
+  remote: pretxnchangegroup hook exited with status 1
+  abort: push failed on remote
   [255]
   $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
   pushing to http://localhost:$HGPORT2/
@@ -697,7 +702,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnchangegroup hook exited with status 1
+  remote: pretxnchangegroup hook exited with status 1
+  abort: push failed on remote
   [255]
 
 Check output capture control.
@@ -733,7 +739,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnchangegroup hook exited with status 1
+  remote: pretxnchangegroup hook exited with status 1
+  abort: push failed on remote
   [255]
   $ hg -R main push http://localhost:$HGPORT2/ -r e7ec4e813ba6
   pushing to http://localhost:$HGPORT2/
@@ -746,7 +753,8 @@
   remote: transaction abort!
   remote: Cleaning up the mess...
   remote: rollback completed
-  abort: pretxnchangegroup hook exited with status 1
+  remote: pretxnchangegroup hook exited with status 1
+  abort: push failed on remote
   [255]
 
 Check abort from mandatory pushkey
@@ -928,7 +936,8 @@
   $ hg push
   pushing to ssh://user@dummy/lazylock
   searching for changes
-  abort: Lock should not be taken
+  remote: Lock should not be taken
+  abort: push failed on remote
   [255]
 
   $ cat >> ../lazylock/.hg/hgrc <<EOF
--- a/tests/test-default-push.t	Mon Oct 19 16:49:54 2015 +0200
+++ b/tests/test-default-push.t	Mon Nov 02 13:00:45 2015 +0000
@@ -46,6 +46,24 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
 
+Push should push to 'default-push' when 'default' is not set
+
+  $ hg -q clone a push-default-only
+  $ cd push-default-only
+  $ rm .hg/hgrc
+
+  $ touch foo
+  $ hg -q commit -A -m 'add foo'
+  $ hg --config paths.default-push=../a push
+  pushing to $TESTTMP/a (glob)
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+
+  $ cd ..
+
 Pushing to a path that isn't defined should not fall back to default
 
   $ hg --cwd b push doesnotexist
--- a/tests/test-extdiff.t	Mon Oct 19 16:49:54 2015 +0200
+++ b/tests/test-extdiff.t	Mon Nov 02 13:00:45 2015 +0000
@@ -70,6 +70,12 @@
   [1]
 #endif
 
+Specifying an empty revision should abort.
+
+  $ hg extdiff --patch --rev 'ancestor()' --rev 1
+  abort: empty revision on one side of range
+  [255]
+
 Test diff during merge:
 
   $ hg update -C 0
--- a/tests/test-largefiles-cache.t	Mon Oct 19 16:49:54 2015 +0200
+++ b/tests/test-largefiles-cache.t	Mon Nov 02 13:00:45 2015 +0000
@@ -179,3 +179,53 @@
   $ find src/.hg/largefiles/* | egrep "(dirstate|$hash)" | sort
   src/.hg/largefiles/dirstate
   src/.hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020
+
+Inject corruption into the largefiles store and see how update handles that:
+
+  $ cd src
+  $ hg up -qC
+  $ cat large
+  modified
+  $ rm large
+  $ cat .hglf/large
+  e2fb5f2139d086ded2cb600d5a91a196e76bf020
+  $ mv .hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020 ..
+  $ echo corruption > .hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020
+  $ hg up -C
+  getting changed largefiles
+  large: data corruption in $TESTTMP/src/.hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020 with hash 6a7bb2556144babe3899b25e5428123735bb1e27
+  0 largefiles updated, 0 removed
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg st
+  ! large
+  ? z
+  $ rm .hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020
+
+#if serve
+
+Test coverage of error handling from putlfile:
+
+  $ mkdir $TESTTMP/mirrorcache
+  $ hg serve -R ../mirror -d -p $HGPORT1 --pid-file hg.pid --config largefiles.usercache=$TESTTMP/mirrorcache
+  $ cat hg.pid >> $DAEMON_PIDS
+
+  $ hg push http://localhost:$HGPORT1 -f --config files.usercache=nocache
+  pushing to http://localhost:$HGPORT1/
+  searching for changes
+  abort: remotestore: could not open file $TESTTMP/src/.hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020: HTTP Error 403: ssl required
+  [255]
+
+  $ rm .hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020
+
+Test coverage of 'missing from store':
+
+  $ hg serve -R ../mirror -d -p $HGPORT2 --pid-file hg.pid --config largefiles.usercache=$TESTTMP/mirrorcache --config "web.allow_push=*" --config web.push_ssl=no
+  $ cat hg.pid >> $DAEMON_PIDS
+
+  $ hg push http://localhost:$HGPORT2 -f --config largefiles.usercache=nocache
+  pushing to http://localhost:$HGPORT2/
+  searching for changes
+  abort: largefile e2fb5f2139d086ded2cb600d5a91a196e76bf020 missing from store (needs to be uploaded)
+  [255]
+
+#endif
--- a/tests/test-largefiles.t	Mon Oct 19 16:49:54 2015 +0200
+++ b/tests/test-largefiles.t	Mon Nov 02 13:00:45 2015 +0000
@@ -1832,6 +1832,27 @@
   $ hg add --normal new-largefile
   new-largefile: up to 69 MB of RAM may be required to manage this file
   (use 'hg revert new-largefile' to cancel the pending addition)
+
+Test explicit commit of switch between normal and largefile - make sure both
+the add and the remove is committed.
+
+  $ hg up -qC
+  $ hg forget normal3 large4-renamed
+  $ hg add --large normal3
+  $ hg add large4-renamed
+  $ hg commit -m 'swap' normal3 large4-renamed
+  Invoking status precommit hook
+  A large4-renamed
+  A normal3
+  ? new-largefile
+  ? sub2/large6-renamed
+  $ hg mani
+  .hglf/normal3
+  .hglf/sub2/large6
+  .hglf/sub2/large7
+  large4-renamed
+  sub/normal4
+
   $ cd ..
 
 
--- a/tests/test-ssh-bundle1.t	Mon Oct 19 16:49:54 2015 +0200
+++ b/tests/test-ssh-bundle1.t	Mon Nov 02 13:00:45 2015 +0000
@@ -510,3 +510,32 @@
   Got arguments 1:user@dummy 2:hg -R remote serve --stdio
   changegroup-in-remote hook: HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
   Got arguments 1:user@dummy 2:hg -R remote serve --stdio
+
+remote hook failure is attributed to remote
+
+  $ cat > $TESTTMP/failhook << EOF
+  > def hook(ui, repo, **kwargs):
+  >     ui.write('hook failure!\n')
+  >     ui.flush()
+  >     return 1
+  > EOF
+
+  $ echo "pretxnchangegroup.fail = python:$TESTTMP/failhook:hook" >> remote/.hg/hgrc
+
+  $ hg -q --config ui.ssh="python '$TESTDIR/dummyssh'" clone ssh://user@dummy/remote hookout
+  $ cd hookout
+  $ touch hookfailure
+  $ hg -q commit -A -m 'remote hook failure'
+  $ hg --config ui.ssh="python '$TESTDIR/dummyssh'" push
+  pushing to ssh://user@dummy/remote
+  searching for changes
+  remote: adding changesets
+  remote: adding manifests
+  remote: adding file changes
+  remote: added 1 changesets with 1 changes to 1 files
+  remote: hook failure!
+  remote: transaction abort!
+  remote: rollback completed
+  remote: abort: pretxnchangegroup.fail hook failed
+  [1]
+
--- a/tests/test-ssh.t	Mon Oct 19 16:49:54 2015 +0200
+++ b/tests/test-ssh.t	Mon Nov 02 13:00:45 2015 +0000
@@ -397,7 +397,8 @@
   pushing to ssh://user@dummy/*/remote (glob)
   searching for changes
   remote: Permission denied
-  abort: pretxnopen.hg-ssh hook failed
+  remote: pretxnopen.hg-ssh hook failed
+  abort: push failed on remote
   [255]
 
   $ cd ..
@@ -501,3 +502,33 @@
   Got arguments 1:user@dummy 2:hg -R remote serve --stdio
   changegroup-in-remote hook: HG_BUNDLE2=1 HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
   Got arguments 1:user@dummy 2:hg -R remote serve --stdio
+
+remote hook failure is attributed to remote
+
+  $ cat > $TESTTMP/failhook << EOF
+  > def hook(ui, repo, **kwargs):
+  >     ui.write('hook failure!\n')
+  >     ui.flush()
+  >     return 1
+  > EOF
+
+  $ echo "pretxnchangegroup.fail = python:$TESTTMP/failhook:hook" >> remote/.hg/hgrc
+
+  $ hg -q --config ui.ssh="python '$TESTDIR/dummyssh'" clone ssh://user@dummy/remote hookout
+  $ cd hookout
+  $ touch hookfailure
+  $ hg -q commit -A -m 'remote hook failure'
+  $ hg --config ui.ssh="python '$TESTDIR/dummyssh'" push
+  pushing to ssh://user@dummy/remote
+  searching for changes
+  remote: adding changesets
+  remote: adding manifests
+  remote: adding file changes
+  remote: added 1 changesets with 1 changes to 1 files
+  remote: hook failure!
+  remote: transaction abort!
+  remote: rollback completed
+  remote: pretxnchangegroup.fail hook failed
+  abort: push failed on remote
+  [255]
+