merge with stable
authorMatt Mackall <mpm@selenic.com>
Mon, 01 Feb 2016 18:29:07 -0600
changeset 27968 8e79ad2da8a6
parent 27908 d73a5ab18015 (current diff)
parent 27967 f5d06d31b793 (diff)
child 27980 01a5143cd25f
merge with stable
--- a/.hgsigs	Thu Jan 14 10:03:31 2016 -0800
+++ b/.hgsigs	Mon Feb 01 18:29:07 2016 -0600
@@ -118,3 +118,5 @@
 1aa5083cbebbe7575c88f3402ab377539b484897 0 iQIVAwUAVkEdCCBXgaxoKi1yAQKdWg//crTr5gsnHQppuD1p+PPn3/7SMsWJ7bgbuaXgERDLC0zWMfhM2oMmu/4jqXnpangdBVvb0SojejgzxoBo9FfRQiIoKt0vxmmn+S8CrEwb99rpP4M7lgyMAInKPMXQdYxkoDNwL70Afmog6eBtlxjYnu8nmUE/swu6JoVns+tF8UOvIKFYbuCcGujo2pUOQC0xBGiHeHSGRDJOlWmY2d7D/PkQtQE/u/d4QZt7enTHMiV44XVJ8+0U0f1ZQE7V+hNWf+IjwcZtL95dnQzUKs6tXMIln/OwO+eJ3d61BfLvmABvCwUC9IepPssNSFBUfGqBAP5wXOzFIPSYn00IWpmZtCnpUNL99X1IV3RP+p99gnEDTScQFPYt5B0q5I1nFdRh1p48BSF/kjPA7V++UfBwMXrrYLKhUR9BjmrRzYnyXJKwbH6iCNj5hsXUkVrBdBi/FnMczgsVILfFcIXUfnJD3E/dG+1lmuObg6dEynxiGChTuaR4KkLa5ZRkUcUl6fWlSRsqSNbGEEbdwcI+nTCZqJUlLSghumhs0Z89Hs1nltBd1ALX2VLJEHrKMrFQ8NfEBeCB6ENqMJi5qPlq354MCdGOZ9RvisX/HlxE4Q61BW0+EwnyXSch6LFSOS3axOocUazMoK1XiOTJSv/5bAsnwb0ztDWeUj9fZEJL+SWtgB8=
 2d437a0f3355834a9485bbbeb30a52a052c98f19 0 iQIVAwUAVl5U9CBXgaxoKi1yAQLocg//a4YFz9UVSIEzVEJMUPJnN2dBvEXRpwpb5CdKPd428+18K6VWZd5Mc6xNNRV5AV/hCYylgqDplIvyOvwCj7uN8nEOrLUQQ0Pp37M5ZIX8ZVCK/wgchJ2ltabUG1NrZ7/JA84U79VGLAECMnD0Z9WvZDESpVXmdXfxrk1eCc3omRB0ofNghEx+xpYworfZsu8aap1GHQuBsjPv4VyUWGpMq/KA01PdxRTELmrJnfSyr0nPKwxlI5KsbA1GOe+Mk3tp5HJ42DZqLtKSGPirf6E+6lRJeB0H7EpotN4wD3yZDsw6AgRb2C/ay/3T3Oz7CN+45mwuujV9Cxx5zs1EeOgZcqgA/hXMcwlQyvQDMrWpO8ytSBm6MhOuFOTB3HnUxfsnfSocLJsbNwGWKceAzACcXSqapveVAz/7h+InFgl/8Qce28UJdnX5wro5gP6UWt+xrvc7vfmVGgI3oxbiOUrfglhkjmrxBjEiDQy4BWH7HWMZUVxnqPQRcxIE10+dv0KtM/PBkbUtnbGJ88opFBGkFweje5vQcZy/duuPEIufRkPr8EV47QjOxlvldEjlLq3+QUdJZEgCIFw1X0y7Pix4dsPFjwOmAyo4El1ePrdFzG3dXSVA3eHvMDRnYnNlue9wHvKhYbBle5xTOZBgGuMzhDVe+54JLql5JYr4WrI1pvA=
 ea389970c08449440587712117f178d33bab3f1e 0 iQIVAwUAVociGyBXgaxoKi1yAQJx9Q//TzMypcls5CQW3DM9xY1Q+RFeIw1LcDIev6NDBjUYxULb2WIK2qPw4Th5czF622SMd+XO/kiQeWYp9IW90MZOUVT1YGgUPKlKWMjkf0lZEPzprHjHq0+z/no1kBCBQg2uUOLsb6Y7zom4hFCyPsxXOk5nnxcFEK0VDbODa9zoKb/flyQ7rtzs+Z6BljIQ0TJAJsXs+6XgrW1XJ/f6nbeqsQyPklIBJuGKiaU1Pg8wQe6QqFaO1NYgM3hBETku6r3OTpUhu/2FTUZ7yDWGGzBqmifxzdHoj7/B+2qzRpII77PlZqoe6XF+UOObSFnhKvXKLjlGY5cy3SXBMbHkPcYtHua8wYR8LqO2bYYnsDd9qD0DJ+LlqH0ZMUkB2Cdk9q/cp1PGJWGlYYecHP87DLuWKwS+a6LhVI9TGkIUosVtLaIMsUUEz83RJFb4sSGOXtjk5DDznn9QW8ltXXMTdGQwFq1vmuiXATYenhszbvagrnbAnDyNFths4IhS1jG8237SB36nGmO3zQm5V7AMHfSrISB/8VPyY4Si7uvAV2kMWxuMhYuQbBwVx/KxbKrYjowuvJvCKaV101rWxvSeU2wDih20v+dnQKPveRNnO8AAK/ICflVVsISkd7hXcfk+SnhfxcPQTr+HQIJEW9wt5Q8WbgHk9wuR8kgXQEX6tCGpT/w=
+158bdc8965720ca4061f8f8d806563cfc7cdb62e 0 iQIVAwUAVqBhFyBXgaxoKi1yAQLJpQ//S8kdgmVlS+CI0d2hQVGYWB/eK+tcntG+bZKLto4bvVy5d0ymlDL0x7VrJMOkwzkU1u/GaYo3L6CVEiM/JGCgB32bllrpx+KwQ0AyHswMZruo/6xrjDIYymLMEJ9yonXBZsG7pf2saYTHm3C5/ZIPkrDZSlssJHJDdeWqd75hUnx3nX8dZ4jIIxYDhtdB5/EmuEGOVlbeBHVpwfDXidSJUHJRwJvDqezUlN003sQdUvOHHtRqBrhsYEhHqPMOxDidAgCvjSfWZQKOTKaPE/gQo/BP3GU++Fg55jBz+SBXpdfQJI2Gd8FZfjLkhFa9vTTTcd10YCd4CZbYLpj/4R2xWj1U4oTVEFa6d+AA5Yyu8xG53XSCCPyzfagyuyfLqsaq5r1qDZO/Mh5KZCTvc9xSF5KXj57mKvzMDpiNeQcamGmsV4yXxymKJKGMQvbnzqp+ItIdbnfk38Nuac8rqNnGmFYwMIPa50680vSZT/NhrlPJ8FVTJlfHtSUZbdjPpsqw7BgjFWaVUdwgCKIGERiK7zfR0innj9rF5oVwT8EbKiaR1uVxOKnTwZzPCbdO1euNg/HutZLVQmugiLAv5Z38L3YZf5bH7zJdUydhiTI4mGn/mgncsKXoSarnnduhoYu9OsQZc9pndhxjAEuAslEIyBsLy81fR2HOhUzw5FGNgdY=
+2408645de650d8a29a6ce9e7dce601d8dd0d1474 0 iQIVAwUAVq/xFSBXgaxoKi1yAQLsxhAAg+E6uJCtZZOugrrFi9S6C20SRPBwHwmw22PC5z3Ufp9Vf3vqSL/+zmWI9d/yezIVcTXgM9rKCvq58sZvo4FuO2ngPx7bL9LMJ3qx0IyHUKjwa3AwrzjSzvVhNIrRoimD+lVBI/GLmoszpMICM+Nyg3D41fNJKs6YpnwwsHNJkjMwz0n2SHAShWAgIilyANNVnwnzHE68AIkB/gBkUGtrjf6xB9mXQxAv4GPco/234FAkX9xSWsM0Rx+JLLrSBXoHmIlmu9LPjC0AKn8/DDke+fj7bFaF7hdJBUYOtlYH6f7NIvyZSpw0FHl7jPxoRCtXzIV+1dZEbbIMIXzNtzPFVDYDfMhLqpTgthkZ9x0UaMaHecCUWYYBp8G/IyVS40GJodl8xnRiXUkFejbK/NDdR1f9iZS0dtiFu66cATMdb6d+MG+zW0nDKiQmBt6bwynysqn4g3SIGQFEPyEoRy0bXiefHrlkeHbdfc4zgoejx3ywcRDMGvUbpWs5C43EPu44irKXcqC695vAny3A7nZpt/XP5meDdOF67DNQPvhFdjPPbJBpSsUi2hUlZ+599wUfr3lNVzeEzHT7XApTOf6ysuGtHH3qcVHpFqQSRL1MI0f2xL13UadgTVWYrnHEis7f+ncwlWiR0ucpJB3+dQQh3NVGVo89MfbIZPkA8iil03U=
--- a/.hgtags	Thu Jan 14 10:03:31 2016 -0800
+++ b/.hgtags	Mon Feb 01 18:29:07 2016 -0600
@@ -131,3 +131,5 @@
 1aa5083cbebbe7575c88f3402ab377539b484897 3.6.1
 2d437a0f3355834a9485bbbeb30a52a052c98f19 3.6.2
 ea389970c08449440587712117f178d33bab3f1e 3.6.3
+158bdc8965720ca4061f8f8d806563cfc7cdb62e 3.7-rc
+2408645de650d8a29a6ce9e7dce601d8dd0d1474 3.7
--- a/contrib/win32/ReadMe.html	Thu Jan 14 10:03:31 2016 -0800
+++ b/contrib/win32/ReadMe.html	Mon Feb 01 18:29:07 2016 -0600
@@ -140,7 +140,7 @@
     </p>
 
     <p>
-      Mercurial is Copyright 2005-2015 Matt Mackall and others. See
+      Mercurial is Copyright 2005-2016 Matt Mackall and others. See
       the <tt>Contributors.txt</tt> file for a list of contributors.
     </p>
 
--- a/contrib/win32/mercurial.iss	Thu Jan 14 10:03:31 2016 -0800
+++ b/contrib/win32/mercurial.iss	Mon Feb 01 18:29:07 2016 -0600
@@ -21,7 +21,7 @@
 #endif
 
 [Setup]
-AppCopyright=Copyright 2005-2015 Matt Mackall and others
+AppCopyright=Copyright 2005-2016 Matt Mackall and others
 AppName=Mercurial
 AppVersion={#VERSION}
 #if ARCH == "x64"
@@ -45,7 +45,7 @@
 DefaultDirName={pf}\Mercurial
 SourceDir=..\..
 VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
-VersionInfoCopyright=Copyright 2005-2015 Matt Mackall and others
+VersionInfoCopyright=Copyright 2005-2016 Matt Mackall and others
 VersionInfoCompany=Matt Mackall and others
 InternalCompressLevel=max
 SolidCompression=true
Binary file contrib/wix/COPYING.rtf has changed
--- a/hgext/histedit.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/hgext/histedit.py	Mon Feb 01 18:29:07 2016 -0600
@@ -162,7 +162,7 @@
 
 By default each edited revision needs to be present in histedit commands.
 To remove revision you need to use ``drop`` operation. You can configure
-the drop to be implicit for missing commits by adding:
+the drop to be implicit for missing commits by adding::
 
   [histedit]
   dropmissing = True
@@ -873,7 +873,7 @@
 
     This command lets you edit a linear series of changesets (up to
     and including the working directory, which should be clean).
-    You can::
+    You can:
 
     - `pick` to [re]order a changeset
 
@@ -887,12 +887,12 @@
 
     - `edit` to edit this changeset
 
-    There are a number of ways to select the root changset::
+    There are a number of ways to select the root changset:
 
     - Specify ANCESTOR directly
 
     - Use --outgoing -- it will be the first linear changeset not
-      included in destination. (See :hg:"help default-push")
+      included in destination. (See :hg:`help config.default-push`)
 
     - Otherwise, the value from the "histedit.defaultrev" config option
       is used as a revset to select the base revision when ANCESTOR is not
@@ -1315,12 +1315,12 @@
             if _constraints.noother in constraints and ha not in expected:
                 raise error.ParseError(
                     _('%s "%s" changeset was not a candidate')
-                     % (action.verb, node.short(ha)),
+                     % (action.verb, ha[:12]),
                     hint=_('only use listed changesets'))
             if _constraints.forceother in constraints and ha in expected:
                 raise error.ParseError(
                     _('%s "%s" changeset was not an edited list candidate')
-                     % (action.verb, node.short(ha)),
+                     % (action.verb, ha[:12]),
                     hint=_('only use listed changesets'))
             if _constraints.noduplicates in constraints and ha in seen:
                 raise error.ParseError(_(
--- a/hgext/largefiles/lfutil.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/hgext/largefiles/lfutil.py	Mon Feb 01 18:29:07 2016 -0600
@@ -319,6 +319,8 @@
         hash = hashfile(file)
         executable = getexecutable(file)
         writestandin(repo, standin, hash, executable)
+    else:
+        raise error.Abort(_('%s: file not found!') % splitstandin(standin))
 
 def readstandin(repo, filename, node=None):
     '''read hex hash from standin for filename at given node, or working
@@ -575,11 +577,15 @@
         fstandin = standin(f)
 
         # For largefiles, only one of the normal and standin should be
-        # committed (except if one of them is a remove).
+        # committed (except if one of them is a remove).  In the case of a
+        # standin removal, drop the normal file if it is unknown to dirstate.
         # 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
+        if f in lfiles or fstandin in standins:
+            if repo.dirstate[fstandin] != 'r':
+                if repo.dirstate[f] != 'r':
+                    continue
+            elif repo.dirstate[f] == '?':
+                continue
 
         actualfiles.append(f)
     match._files = actualfiles
--- a/hgext/largefiles/overrides.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/hgext/largefiles/overrides.py	Mon Feb 01 18:29:07 2016 -0600
@@ -1027,6 +1027,13 @@
     if s.modified or s.added or s.removed or s.deleted:
         raise error.Abort(_('uncommitted changes'))
 
+def postcommitstatus(orig, repo, *args, **kwargs):
+    repo.lfstatus = True
+    try:
+        return orig(repo, *args, **kwargs)
+    finally:
+        repo.lfstatus = False
+
 def cmdutilforget(orig, ui, repo, match, prefix, explicitonly):
     normalmatcher = composenormalfilematcher(match, repo[None].manifest())
     bad, forgot = orig(ui, repo, normalmatcher, prefix, explicitonly)
--- a/hgext/largefiles/uisetup.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/hgext/largefiles/uisetup.py	Mon Feb 01 18:29:07 2016 -0600
@@ -123,6 +123,8 @@
     extensions.wrapfunction(cmdutil, 'bailifchanged',
                             overrides.overridebailifchanged)
 
+    extensions.wrapfunction(cmdutil, 'postcommitstatus',
+                            overrides.postcommitstatus)
     extensions.wrapfunction(scmutil, 'marktouched',
                             overrides.scmutilmarktouched)
 
--- a/hgext/mq.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/hgext/mq.py	Mon Feb 01 18:29:07 2016 -0600
@@ -396,19 +396,6 @@
 class AbortNoCleanup(error.Abort):
     pass
 
-def makepatchname(existing, title, fallbackname):
-    """Return a suitable filename for title, adding a suffix to make
-    it unique in the existing list"""
-    namebase = re.sub('[\s\W_]+', '_', title.lower()).strip('_')
-    if not namebase:
-        namebase = fallbackname
-    name = namebase
-    i = 0
-    while name in existing:
-        i += 1
-        name = '%s__%s' % (namebase, i)
-    return name
-
 class queue(object):
     def __init__(self, ui, baseui, path, patchdir=None):
         self.basepath = path
@@ -1126,6 +1113,30 @@
             else:
                 raise error.Abort(_('patch "%s" already exists') % name)
 
+    def makepatchname(self, title, fallbackname):
+        """Return a suitable filename for title, adding a suffix to make
+        it unique in the existing list"""
+        namebase = re.sub('[\s\W_]+', '_', title.lower()).strip('_')
+        if namebase:
+            try:
+                self.checkreservedname(namebase)
+            except error.Abort:
+                namebase = fallbackname
+        else:
+            namebase = fallbackname
+        name = namebase
+        i = 0
+        while True:
+            if name not in self.fullseries:
+                try:
+                    self.checkpatchname(name)
+                    break
+                except error.Abort:
+                    pass
+            i += 1
+            name = '%s__%s' % (namebase, i)
+        return name
+
     def checkkeepchanges(self, keepchanges, force):
         if force and keepchanges:
             raise error.Abort(_('cannot use both --force and --keep-changes'))
@@ -2097,7 +2108,7 @@
                     lastparent = p1
 
                     if not patchname:
-                        patchname = makepatchname(self.fullseries,
+                        patchname = self.makepatchname(
                             repo[r].description().split('\n', 1)[0],
                             '%d.diff' % r)
                     checkseries(patchname)
--- a/hgext/rebase.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/hgext/rebase.py	Mon Feb 01 18:29:07 2016 -0600
@@ -121,15 +121,18 @@
     destination changeset is not modified by rebasing, but new
     changesets are added as its descendants.)
 
-    There are three ways to select changesets::
+    Here are the ways to select changesets:
 
       1. Explicitly select them using ``--rev``.
 
       2. Use ``--source`` to select a root changeset and include all of its
-      descendants.
+         descendants.
 
       3. Use ``--base`` to select a changeset; rebase will find ancestors
-      and their descendants which are not also ancestors of the destination.
+         and their descendants which are not also ancestors of the destination.
+
+      4. If you do not specify any of ``--rev``, ``source``, or ``--base``,
+         rebase will use ``--base .`` as above.
 
     Rebase will destroy original changesets unless you use ``--keep``.
     It will also move your bookmarks (even if you do).
@@ -709,8 +712,8 @@
     repo.ui.debug(" future parents are %d and %d\n" %
                             (repo[p1].rev(), repo[p2].rev()))
 
-    if rev == min(state):
-        # Case (1) initial changeset of a non-detaching rebase.
+    if not any(p.rev() in state for p in parents):
+        # Case (1) root changeset of a non-detaching rebase set.
         # Let the merge mechanism find the base itself.
         base = None
     elif not repo[rev].p2():
--- a/hgext/shelve.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/hgext/shelve.py	Mon Feb 01 18:29:07 2016 -0600
@@ -112,12 +112,12 @@
         return bundlerepo.bundlerepository(self.repo.baseui, self.repo.root,
                                            self.vfs.join(self.fname))
     def writebundle(self, bases, node):
-        btype = 'HG10BZ'
-        cgversion = '01'
-        compression = None
-        if 'generaldelta' in self.repo.requirements:
+        cgversion = changegroup.safeversion(self.repo)
+        if cgversion == '01':
+            btype = 'HG10BZ'
+            compression = None
+        else:
             btype = 'HG20'
-            cgversion = '02'
             compression = 'BZ'
 
         cg = changegroup.changegroupsubset(self.repo, bases, [node], 'shelve',
@@ -766,7 +766,7 @@
          [('A', 'addremove', None,
            _('mark new/missing files as added/removed before shelving')),
           ('u', 'unknown', None,
-           _('Store unknown files in the shelve')),
+           _('store unknown files in the shelve')),
           ('', 'cleanup', None,
            _('delete all shelved changes')),
           ('', 'date', '',
--- a/hgext/zeroconf/__init__.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/hgext/zeroconf/__init__.py	Mon Feb 01 18:29:07 2016 -0600
@@ -113,9 +113,10 @@
         repos = app.repos
     except AttributeError:
         # single repo
-        name = app.reponame or os.path.basename(app.repo.root)
-        path = app.repo.ui.config("web", "prefix", "").strip('/')
-        desc = app.repo.ui.config("web", "description", name)
+        with app._obtainrepo() as repo:
+            name = app.reponame or os.path.basename(repo.root)
+            path = repo.ui.config("web", "prefix", "").strip('/')
+            desc = repo.ui.config("web", "description", name)
         publish(name, desc, path, port)
     else:
         # webdir
--- a/i18n/ja.po	Thu Jan 14 10:03:31 2016 -0800
+++ b/i18n/ja.po	Mon Feb 01 18:29:07 2016 -0600
@@ -106,6 +106,7 @@
 # must(A must B)        A は B してください
 # node                  リビジョン (あるいは「対象」という言い回し)
 # note                  備考
+# obsolete(obsoleted)   廃止(済み)
 # patch                 パッチ
 # phase                 フェーズ
 #   draft (,)           draft (※ 予約語扱い)
@@ -161,8 +162,8 @@
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2016-01-01 11:10+0900\n"
-"PO-Revision-Date: 2016-01-01 12:11+0900\n"
+"POT-Creation-Date: 2016-02-01 22:30+0900\n"
+"PO-Revision-Date: 2016-02-01 22:50+0900\n"
 "Last-Translator: Japanese translation team <mercurial-ja@googlegroups.com>\n"
 "Language-Team: Japanese\n"
 "Language: ja\n"
@@ -1464,6 +1465,48 @@
 msgid "censor tombstone must be no longer than censored data"
 msgstr "差し替え用の墓碑データは、検閲対象データよりも短くしてください"
 
+msgid "command server extension for cHg (EXPERIMENTAL)"
+msgstr ""
+
+msgid ""
+"'S' channel (read/write)\n"
+"    propagate ui.system() request to client"
+msgstr ""
+
+msgid ""
+"'attachio' command\n"
+"    attach client's stdio passed by sendmsg()"
+msgstr ""
+
+msgid ""
+"'chdir' command\n"
+"    change current directory"
+msgstr ""
+
+msgid ""
+"'getpager' command\n"
+"    checks if pager is enabled and which pager should be executed"
+msgstr ""
+
+msgid ""
+"'setenv' command\n"
+"    replace os.environ completely"
+msgstr ""
+
+#, fuzzy
+msgid ""
+"'SIGHUP' signal\n"
+"    reload configuration files\n"
+msgstr "    (非推奨: 設定ファイル経由で指定してください)"
+
+#, fuzzy
+msgid "invalid response"
+msgstr "引数が不正です"
+
+#, python-format
+msgid "abort: %s\n"
+msgstr "中止: %s\n"
+
 msgid "command to display child changesets (DEPRECATED)"
 msgstr "子リビジョン表示のコマンド (非推奨)"
 
@@ -1487,15 +1530,29 @@
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
 "    file was last changed (after the working directory revision or the\n"
-"    argument to --rev if given) is printed.\n"
-"    "
-msgstr ""
-"    作業領域の子リビジョンを表示します。 -r/--rev によるリビジョン指定が\n"
-"    ある場合は、 指定リビジョンの子リビジョンを表示します。 引数として\n"
-"    ファイルが指定された場合、 ファイルが(作業領域のリビジョン、 または\n"
-"    --rev で指定されたリビジョンの後で)最後に変更されたリビジョンを表示\n"
-"    します。\n"
-"    "
+"    argument to --rev if given) is printed."
+msgstr ""
+"    作業領域の子リビジョンを表示します。 -r/--rev 指定がある場合、\n"
+"    指定リビジョンの子リビジョンを表示します。 ファイルが指定された場合、\n"
+"    ファイルが (作業領域の親、 または --rev での指定リビジョン後に)\n"
+"    最後に変更されたリビジョンを表示します。"
+
+msgid "    Please use :hg:`log` instead::"
+msgstr "    本コマンドの代わりに :hg:`log` を使うようにしてください::"
+
+msgid ""
+"        hg children => hg log -r 'children()'\n"
+"        hg children -r REV => hg log -r 'children(REV)'"
+msgstr ""
+"        hg children => hg log -r 'children()'\n"
+"        hg children -r REV => hg log -r 'children(REV)'"
+
+msgid "    See :hg:`help log` and :hg:`help revsets.children`."
+msgstr ""
+"    詳細は :hg:`help log` や :hg:`help revsets.children` を参照のこと。"
+
+msgid "    "
+msgstr "    "
 
 msgid "command to display statistics about repository history"
 msgstr "変更履歴の統計情報表示のコマンド"
@@ -1630,7 +1687,7 @@
 msgid "skipping malformed alias: %s\n"
 msgstr "不正な形式の別名を無視: %s\n"
 
-msgid "advertise pre-generated bundles to seed clones (experimental)"
+msgid "advertise pre-generated bundles to seed clones"
 msgstr ""
 
 msgid ""
@@ -1693,7 +1750,7 @@
 "* 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"
+"  how to talk to through its normal URL handling facility (typically an\n"
 "  HTTP server).\n"
 "* A process for keeping the bundles manifest in sync with available bundle\n"
 "  files."
@@ -1729,14 +1786,6 @@
 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"
@@ -1790,6 +1839,13 @@
 msgstr ""
 
 msgid ""
+"   :hg:`debugbundle --spec` can be used to print the bundle specification\n"
+"   string for a bundle file. The output of this command can be used "
+"verbatim\n"
+"   for the value of ``BUNDLESPEC`` (it is already escaped)."
+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"
@@ -1804,7 +1860,8 @@
 
 msgid ""
 "   **Use of this key is highly recommended**, as it allows clients to\n"
-"   easily skip unsupported bundles."
+"   easily skip unsupported bundles. If this key is not defined, an old\n"
+"   client may attempt to apply a bundle that it is incapable of reading."
 msgstr ""
 
 msgid ""
@@ -1866,59 +1923,7 @@
 "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\""
+"Mercurial server when the bundle hosting service fails.\n"
 msgstr ""
 
 msgid "colorize output from some commands"
@@ -4035,12 +4040,6 @@
 msgid "cleaning up temp directory\n"
 msgstr "一時ディレクトリの破棄中\n"
 
-msgid "CMD"
-msgstr "コマンド"
-
-msgid "comparison program to run"
-msgstr "差分表示プログラム"
-
 msgid "OPT"
 msgstr "オプション"
 
@@ -4056,6 +4055,12 @@
 msgid "compare patches for two revisions"
 msgstr "2つのリビジョンに対するパッチの比較"
 
+msgid "CMD"
+msgstr "コマンド"
+
+msgid "comparison program to run"
+msgstr "差分表示プログラム"
+
 msgid "hg extdiff [OPT]... [FILE]..."
 msgstr "hg extdiff [OPT]... [FILE]..."
 
@@ -4090,9 +4095,9 @@
 "    revisions are specified, the working directory files are compared\n"
 "    to its parent."
 msgstr ""
-"    リビジョンが2つ指定された場合、 指定リビジョン間の差分が表示されます。\n"
-"    リビジョンが1つ指定された場合、 作業領域との間の差分が表示されます。\n"
-"    リビジョンが指定されない場合、 作業領域と親との差分が表示されます。"
+"    リビジョン指定が2つの場合、 指定リビジョン間の差分が表示されます。\n"
+"    リビジョン指定が1つの場合、 作業領域が指定リビジョンと比較されます。\n"
+"    リビジョン指定がない場合、 作業領域が第1親リビジョンと比較されます。"
 
 #, python-format
 msgid "use %(path)s to diff repository (or selected files)"
@@ -4385,8 +4390,10 @@
 
 msgid ""
 "The functionality of this extension has been include in core Mercurial\n"
-"since version 2.3."
-msgstr "本エクステンションの機能は Mercurial 2.3 から標準機能になりました。"
+"since version 2.3. Please use :hg:`log -G ...` instead."
+msgstr ""
+"本エクステンションの機能は Mercurial 2.3 から標準機能になりました。\n"
+":hg:`log -G ...` を使うようにしてください。"
 
 msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
@@ -4452,10 +4459,14 @@
 
 msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
-"    directory.\n"
-"    "
-msgstr ""
-"    @ 文字で表示されるリビジョンは、 作業領域の親リビジョンです。\n"
+"    directory."
+msgstr "    @ 文字で表示されるリビジョンは、 作業領域の親リビジョンです。"
+
+msgid ""
+"    This is an alias to :hg:`log -G`.\n"
+"    "
+msgstr ""
+"    本コマンドは :hg:`log -G` の別名です。\n"
 "    "
 
 msgid "hooks for integrating with the CIA.vc notification service"
@@ -4779,9 +4790,9 @@
 " #  m, mess = edit commit message without changing commit content\n"
 " #"
 msgstr ""
-" # c561b4e977df から 7c2fd3b9020c にかけての履歴の編集\n"
+" # リビジョン c561b4e977df から 7c2fd3b9020c にかけての履歴の改変\n"
 " #\n"
-" # 対象一覧は、リビジョン番号の昇順 (古い方から新しい方) になっています。\n"
+" # 改変対象一覧は、リビジョン番号の昇順 (小⇒大) になっています。\n"
 " #\n"
 " # 指定可能コマンド:\n"
 " #  p, pick = リビジョンを採用\n"
@@ -4800,7 +4811,7 @@
 "before beta, and then wanted to add delta in the same revision as beta, you\n"
 "would reorganize the file to look like this::"
 msgstr ""
-"このファイル中の ``#`` で始まる行は無視されます。 履歴編集対象に対して、\n"
+"このファイル中の ``#`` で始まる行は無視されます。 履歴改変対象に対して、\n"
 "各リビジョン毎の処理内容 (rule) を指定してください。 例えば \"Add beta\"\n"
 "による変更よりも \"Add gamma\" による変更を先に実施した上で、 \"Add\n"
 "delta\" による変更を \"Add beta\" へと併合 (fold) する場合なら、\n"
@@ -4923,7 +4934,7 @@
 "history."
 msgstr ""
 "履歴改変による衝突が ``histedit`` によって (``pick`` や ``fold``\n"
-"操作において) 検出された場合に、 一旦コマンド入力に戻る点は ``edit``\n"
+"操作の際に) 検出された場合に、 一旦コマンド入力に戻る点は ``edit``\n"
 "操作と同じですが、 衝突解消作業が完了して ``hg histedit --continue``\n"
 "を実行しても、 コミットログの問い合わせが無い点は ``edit`` と異なります。\n"
 "この時点で、 履歴改変に伴う作業量の問題や、 間違いに気付いた場合は、\n"
@@ -4992,48 +5003,70 @@
 "を指定することで、 元リポジトリとの関連ありとみなすことができます。"
 
 msgid ""
+"Config\n"
+"------"
+msgstr ""
+"設定\n"
+"----"
+
+msgid ""
 "Histedit rule lines are truncated to 80 characters by default. You\n"
 "can customize this behavior by setting a different length in your\n"
 "configuration file::"
 msgstr ""
-"histedit での改変指示行は、 80 カラムでの切り詰めがデフォルトです。\n"
+"生成される改変指示の行は、 80 カラムでの切り詰めがデフォルトです。\n"
 "以下の設定により、 切り詰めのカラム幅を変更できます::"
 
 msgid ""
 "  [histedit]\n"
-"  linelen = 120      # truncate rule lines at 120 characters\n"
+"  linelen = 120      # truncate rule lines at 120 characters"
+msgstr ""
+"  [histedit]\n"
+"  linelen = 120      # 改変指示行を 120 カラムで切り詰め"
+
+msgid ""
+"``hg histedit`` attempts to automatically choose an appropriate base\n"
+"revision to use. To change which base revision is used, define a\n"
+"revset in your configuration file::"
+msgstr ""
+":hg:`histedit` は、 適切な改変対象リビジョンを、 自動的に選択します。\n"
+"対象の選択方式を変更したい場合、 設定ファイルに以下の様な記述を追加します::"
+
+msgid ""
+"  [histedit]\n"
+"  defaultrev = only(.) & draft()"
 msgstr ""
 "  [histedit]\n"
-"  linelen = 120      # 改変指示行を 120 カラムで切り詰め\n"
-
-#. i18n: command names and abbreviations must remain untranslated
-#, python-format
-msgid ""
-"# Edit history between %s and %s\n"
-"#\n"
-"# Commits are listed from least to most recent\n"
-"#\n"
-"# Commands:\n"
-"#  p, pick = use commit\n"
-"#  e, edit = use commit, but stop for amending\n"
-"#  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 commit message without changing commit content\n"
-"#\n"
-msgstr ""
-"# %s から %s にかけての履歴の編集\n"
-"#\n"
-"# 対象一覧は、リビジョン番号の昇順 (古い方から新しい方) になっています。\n"
-"#\n"
-"# 指定可能コマンド:\n"
-"#  p, pick = リビジョンを採用\n"
-"#  e, edit = リビジョンを採用: 但し修正のために一旦実行を中断\n"
-"#  f, fold = リビジョンを採用: 但し直前(= 一覧での上)のリビジョンに併合\n"
-"#  r, roll = リビジョンを採用: fold 同様併合するが、コミットログは破棄\n"
-"#  d, drop = リビジョンを破棄\n"
-"#  m, mess = リビジョンを採用: 変更内容を維持しつつ、コミットログを修正\n"
-"#\n"
+"  defaultrev = only(.) & draft()"
+
+msgid ""
+"By default each edited revision needs to be present in histedit commands.\n"
+"To remove revision you need to use ``drop`` operation. You can configure\n"
+"the drop to be implicit for missing commits by adding:"
+msgstr ""
+"全ての改変対象リビジョンに対して、 改変指示の記述が必要になります。\n"
+"特定のリビジョンを破棄する場合は ``drop`` 操作を指定してください。\n"
+"以下の記述を追加することで、 改変指示のないリビジョンに対して、\n"
+"``drop`` 操作を実施させることができます:"
+
+msgid ""
+"  [histedit]\n"
+"  dropmissing = True"
+msgstr ""
+"  [histedit]\n"
+"  dropmissing = True"
+
+#, python-format
+msgid "Edit history between %s and %s"
+msgstr "リビジョン %s から %s にかけての履歴の改変"
+
+#, python-format
+msgid "Commits are listed from least to most recent"
+msgstr "改変対象一覧は、リビジョン番号の昇順 (小⇒大) になっています。"
+
+#, python-format
+msgid "Commands:\n"
+msgstr "利用可能コマンド:\n"
 
 msgid "no histedit in progress"
 msgstr "実施中の histedit による履歴改変はありません"
@@ -5042,8 +5075,12 @@
 msgid "unknown changeset %s listed"
 msgstr "未知のリビジョン %s が指定されました"
 
-msgid "Fix up the change and run hg histedit --continue"
-msgstr "衝突解消後に 'hg histedit --continue' を実行してください"
+#, python-format
+msgid "Fix up the change (%s %s)"
+msgstr "衝突を解消してください (%s %s)"
+
+msgid "hg histedit --continue to resume"
+msgstr "hg histedit --continue で履歴改変を再開できます"
 
 #, python-format
 msgid "%s: empty changeset\n"
@@ -5053,12 +5090,28 @@
 msgid "cannot fold into public change %s"
 msgstr "public フェーズのリビジョン %s への併合はできません"
 
-msgid ""
-"Make changes as needed, you may commit or record as needed now.\n"
-"When you are finished, run hg histedit --continue to resume."
-msgstr ""
-"必要に応じて変更/コミットを行ってください。\n"
-"作業完了後は 'hg histedit --continue' で histedit を再開します。"
+msgid "working copy has pending changes"
+msgstr "作業領域の変更が未コミットです"
+
+msgid ""
+"amend, commit, or revert them and run histedit --continue, or abort with "
+"histedit --abort"
+msgstr ""
+"commit (--amend) または revert を実施後、hg histedit --continue か hg "
+"histedit --abort を実施してください"
+
+msgid "use commit"
+msgstr "リビジョンを採用"
+
+msgid "use commit, but stop for amending"
+msgstr "リビジョンを採用: 但し修正のために一旦実行を中断"
+
+#, python-format
+msgid "Editing (%s), you may commit or record as needed now."
+msgstr "変更内容改変 (%s): 変更を実施してください (追加コミットも可)"
+
+msgid "use commit, but combine it with the one above"
+msgstr "リビジョンを採用: 但し直前(= 一覧での上)のリビジョンに併合"
 
 #, python-format
 msgid ""
@@ -5066,6 +5119,27 @@
 msgstr ""
 "%s: 併合できません - 作業領域は直前のコミット %s の子孫ではありません\n"
 
+msgid "fold subclass used for when multiple folds happen in a row"
+msgstr ""
+
+msgid ""
+"    We only want to fire the editor for the folded message once when\n"
+"    (say) four changes are folded down into a single change. This is\n"
+"    similar to rollup, but we should preserve both messages so that\n"
+"    when the last fold operation runs we can show the user all the\n"
+"    commit messages in their editor.\n"
+"    "
+msgstr ""
+
+msgid "like fold, but discard this commit's description"
+msgstr "リビジョンを採用: fold 同様併合するが、コミットログは破棄"
+
+msgid "remove commit from history"
+msgstr "リビジョンを破棄"
+
+msgid "edit commit message without changing commit content"
+msgstr "リビジョンを採用: 変更内容を維持しつつ、コミットログを修正"
+
 #, python-format
 msgid "comparing with %s\n"
 msgstr "%s と比較中\n"
@@ -5103,47 +5177,167 @@
 msgid "first revision to be edited"
 msgstr "改変対象の最初のリビジョン"
 
-msgid "ANCESTOR | --outgoing [URL]"
-msgstr "ANCESTOR | --outgoing [URL]"
+msgid "[OPTIONS] ([ANCESTOR] | --outgoing [URL])"
+msgstr "[OPTIONS] ([ANCESTOR] | --outgoing [URL])"
 
 msgid "interactively edit changeset history"
 msgstr "対話的な履歴の改変"
 
 msgid ""
-"    This command edits changesets between ANCESTOR and the parent of\n"
-"    the working directory."
-msgstr ""
-"    本コマンドは、 作業領域の親リビジョンと、指定した祖先 (ANCESTOR)\n"
-"    との間のリビジョン群を改変します。"
-
-msgid ""
-"    With --outgoing, this edits changesets not found in the\n"
-"    destination repository. If URL of the destination is omitted, the\n"
-"    'default-push' (or 'default') path will be used."
-msgstr ""
-"    --outgoing 指定のある場合、 連携先リポジトリへの反映候補リビジョンが、\n"
-"    改変対象として選択されます。 連携先 URL が省略された場合、\n"
-"    'default-push' (または 'default') 指定のパスが参照されます。"
-
-msgid ""
-"    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"
-"    複数のブランチ上に存在するケースなどがあります。"
-
-msgid ""
-"    Use \"min(outgoing() and ::.)\" or similar revset specification\n"
-"    instead of --outgoing to specify edit target revision exactly in\n"
-"    such ambiguous situation. See :hg:`help revsets` for detail about\n"
-"    selecting revisions."
-msgstr ""
-"    紛らわしさのために --outgoing が使用できない場合、 \"min(outgoing()\n"
-"    and ::.)\" または同等の revset 表記を使って、 改変対象リビジョンを、\n"
-"    厳密に指定してください。 リビジョン指定の詳細は :hg:`help revsets`\n"
-"    を参照してください。"
+"    This command lets you edit a linear series of changesets (up to\n"
+"    and including the working directory, which should be clean).\n"
+"    You can::"
+msgstr ""
+"    本コマンドは、 作業領域の親と、 その直系の祖先の履歴改変を行います\n"
+"    (作業領域中の変更は、 事前にコミット/破棄してください)。\n"
+"    利用可能な改変操作機能は以下の通りです::"
+
+msgid "    - `pick` to [re]order a changeset"
+msgstr "    - `pick` でリビジョンを採用"
+
+msgid "    - `drop` to omit changeset"
+msgstr "    - `drop` でリビジョンを破棄"
+
+msgid "    - `mess` to reword the changeset commit message"
+msgstr "    - `mess` でコミットログを修正"
+
+msgid "    - `fold` to combine it with the preceding changeset"
+msgstr "    - `fold` で直前のリビジョンに併合"
+
+msgid "    - `roll` like fold, but discarding this commit's description"
+msgstr "    - `roll` で fold 同様併合するが、コミットログは破棄"
+
+msgid "    - `edit` to edit this changeset"
+msgstr "    - `edit` で変更内容を再編集"
+
+msgid "    There are a number of ways to select the root changset::"
+msgstr "    改変対象リビジョンの指定には、 以下の様な方法があります::"
+
+msgid "    - Specify ANCESTOR directly"
+msgstr "    - 引数で改変対象の祖先 (ANCESTOR) を直接指定"
+
+msgid ""
+"    - Use --outgoing -- it will be the first linear changeset not\n"
+"      included in destination. (See :hg:\"help default-push\")"
+msgstr ""
+"    - ``--outgoing`` 指定時は、 連携先への反映候補リビジョンのうち、\n"
+"      作業領域の親の直系の祖先を改変 (:hg:`help default-push` 参照)"
+
+msgid ""
+"    - Otherwise, the value from the \"histedit.defaultrev\" config option\n"
+"      is used as a revset to select the base revision when ANCESTOR is not\n"
+"      specified. The first revision returned by the revset is used. By\n"
+"      default, this selects the editable history that is unique to the\n"
+"      ancestry of the working directory."
+msgstr ""
+"    - 改変対象の指定がない場合、 \"histedit.defaultrev\" 設定を使って、\n"
+"      改変対象が選択されます。 revset 記述で得た最初のリビジョンと、\n"
+"      その直系の子孫が、 改変対象となります。 明示的な指定がない場合、\n"
+"      作業領域の親が属する (構造的) ブランチ固有のリビジョンが、\n"
+"      改変対象となります。"
+
+msgid ""
+"       If you use --outgoing, this command will abort if there are "
+"ambiguous\n"
+"       outgoing revisions. For example, if there are multiple branches\n"
+"       containing outgoing revisions."
+msgstr ""
+"       ``--outgoing`` 指定の際に、改変対象の選択が紛らわしい場合、\n"
+"       履歴改変は中止されます。 例えば、 反映候補リビジョンが、\n"
+"       複数のブランチ上に存在するケースなどです。"
+
+msgid ""
+"       Use \"min(outgoing() and ::.)\" or similar revset specification\n"
+"       instead of --outgoing to specify edit target revision exactly in\n"
+"       such ambiguous situation. See :hg:`help revsets` for detail about\n"
+"       selecting revisions."
+msgstr ""
+"       紛らわしさのために --outgoing が使用できない場合、 \"min(outgoing()\n"
+"       and ::.)\" または同等の revset 表記により、 改変対象リビジョンを、\n"
+"       厳密に指定してください。 リビジョン指定の詳細は :hg:`help revsets`\n"
+"       を参照してください。"
+
+msgid "       Examples:"
+msgstr "       例:"
+
+msgid ""
+"         - A number of changes have been made.\n"
+"           Revision 3 is no longer needed."
+msgstr ""
+
+msgid "           Start history editing from revision 3::"
+msgstr ""
+
+msgid "             hg histedit -r 3"
+msgstr "             hg histedit -r 3"
+
+msgid ""
+"           An editor opens, containing the list of revisions,\n"
+"           with specific actions specified::"
+msgstr ""
+
+msgid ""
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 0a9639fcda9d 5 Morgify the cromulancy"
+msgstr ""
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 0a9639fcda9d 5 Morgify the cromulancy"
+
+msgid ""
+"           Additional information about the possible actions\n"
+"           to take appears below the list of revisions."
+msgstr ""
+
+msgid ""
+"           To remove revision 3 from the history,\n"
+"           its action (at the beginning of the relevant line)\n"
+"           is changed to 'drop'::"
+msgstr ""
+
+msgid ""
+"             drop 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 0a9639fcda9d 5 Morgify the cromulancy"
+msgstr ""
+"             drop 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 0a9639fcda9d 5 Morgify the cromulancy"
+
+msgid ""
+"         - A number of changes have been made.\n"
+"           Revision 2 and 4 need to be swapped."
+msgstr ""
+
+msgid "           Start history editing from revision 2::"
+msgstr ""
+
+msgid "             hg histedit -r 2"
+msgstr "             hg histedit -r 2"
+
+msgid ""
+"             pick 252a1af424ad 2 Blorb a morgwazzle\n"
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog"
+msgstr ""
+"             pick 252a1af424ad 2 Blorb a morgwazzle\n"
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog"
+
+msgid ""
+"           To swap revision 2 and 4, its lines are swapped\n"
+"           in the editor::"
+msgstr ""
+
+msgid ""
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 252a1af424ad 2 Blorb a morgwazzle"
+msgstr ""
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 252a1af424ad 2 Blorb a morgwazzle"
 
 msgid ""
 "    Returns 0 on success, 1 if user intervention is required (not only\n"
@@ -5197,8 +5391,17 @@
 msgid "%s is not an ancestor of working directory"
 msgstr "%s は作業領域の祖先ではありません"
 
-msgid "working copy still dirty"
-msgstr "作業領域に未コミットな変更が残っています"
+# this is left untranslated intentionally, because this VERY GENERIC
+# word may be used also for something other than histedit
+# (by foozy@lares.dti.ne.jp)
+msgid "editing"
+msgstr ""
+
+# this is left untranslated intentionally, because this VERY GENERIC
+# word may be used also for something other than histedit
+# (by foozy@lares.dti.ne.jp)
+msgid "changes"
+msgstr ""
 
 msgid "cannot edit history that would orphan nodes"
 msgstr "履歴ツリーが分断されるような履歴改変はできません"
@@ -5217,23 +5420,41 @@
 msgid "malformed line \"%s\""
 msgstr "不正な行 \"%s\""
 
-msgid "may not use changesets other than the ones listed"
-msgstr "対象範囲以外のリビジョンは指定できません"
+#, python-format
+msgid "unknown action \"%s\""
+msgstr "未知の操作 \"%s\" が指定されました"
+
+msgid "warning: histedit rules saved to: .hg/histedit-last-edit.txt\n"
+msgstr "警告: histedit の操作指示は .hg/histedit-last-edit.txt に保存\n"
+
+#, python-format
+msgid "unknown constraint \"%s\""
+msgstr "未知の制約 \"%s\""
+
+#, python-format
+msgid "%s \"%s\" changeset was not a candidate"
+msgstr "改変対象以外への操作 %s \"%s\" が検出されました"
+
+msgid "only use listed changesets"
+msgstr ""
+
+#, python-format
+msgid "%s \"%s\" changeset was not an edited list candidate"
+msgstr ""
 
 #, python-format
 msgid "duplicated command for changeset %s"
-msgstr "リビジョン %s へのルール指定が複数あります"
-
-#, python-format
-msgid "unknown action \"%s\""
-msgstr "未知の操作 \"%s\" が指定されました"
+msgstr "リビジョン %s への操作指定が複数あります"
 
 #, python-format
 msgid "missing rules for changeset %s"
-msgstr "リビジョン %s へのルール指定がありません"
-
-msgid "do you want to use the drop action?"
-msgstr "リビジョンの破棄には drop コマンド指定が必要です"
+msgstr "リビジョン %s への操作指定がありません"
+
+#, python-format
+msgid "use \"drop %s\" to discard, see also: \"hg help -e histedit.config\""
+msgstr ""
+"破棄する場合は \"drop %s\" を使用します。\"hg help -e histedit.config\"も参照"
+"してください。"
 
 #, python-format
 msgid "histedit: moving bookmarks %s from %s to %s\n"
@@ -5258,6 +5479,12 @@
 msgid "use 'hg histedit --continue' or 'hg histedit --abort'"
 msgstr "'hg histedit --continue' か 'hg histedit --abort' を実施してください"
 
+msgid "hg histedit --continue"
+msgstr "hg histedit --continue"
+
+msgid "checkout changeset and apply further changesets from there"
+msgstr ""
+
 msgid "expand keywords in tracked files"
 msgstr "構成管理対象ファイル中のキーワード展開"
 
@@ -6017,6 +6244,14 @@
 msgid "%s: data corruption in %s with hash %s\n"
 msgstr "%s: %s (実ハッシュ値 %s) でデータ破損を検出\n"
 
+#, python-format
+msgid "%s: largefile %s not available from local store\n"
+msgstr "%s: 大容量ファイル %s はローカルに存在しません\n"
+
+#, python-format
+msgid "%s: file not found!"
+msgstr "%s: ファイルが不在です!"
+
 msgid "finding outgoing largefiles"
 msgstr "転送対象大容量ファイルの検出中"
 
@@ -7776,9 +8011,8 @@
 msgid "mq:     (empty queue)\n"
 msgstr "mq:           (キューは空です)\n"
 
-msgid ""
-"``mq()``\n"
-"    Changesets managed by MQ."
+#, fuzzy
+msgid "Changesets managed by MQ."
 msgstr ""
 "``mq()``\n"
 "    MQ 管理下にあるリビジョン"
@@ -8195,13 +8429,21 @@
 "その旨を明記してください。"
 
 msgid ""
-"The --pager=... option can also be used to control when the pager is\n"
-"used. Use a boolean value like yes, no, on, off, or use auto for\n"
-"normal behavior."
-msgstr ""
-"ページャーの使用は、 --pager=... でも制御できます。\n"
-"真偽値の yes no on off 以外に、 無指定時挙動に相当する auto\n"
-"を指定できます。"
+"To control whether the pager is used at all for an individual command,\n"
+"you can use --pager=<value>::"
+msgstr ""
+"--pager=<value> を指定することで、 ページャの使用を、コマンド実行の都度、\n"
+"明示することができます::"
+
+msgid ""
+"  - use as needed: `auto`.\n"
+"  - require the pager: `yes` or `on`.\n"
+"  - suppress the pager: `no` or `off` (any unrecognized value\n"
+"  will also work)."
+msgstr ""
+"  - 必要に応じて使う: `auto`\n"
+"  - 使用する: `yes` または `on`\n"
+"  - 使用しない: `no` または `off` (不正な値は `off` 相当の扱い)"
 
 msgid "when to paginate (boolean, always, auto, or never)"
 msgstr "ページャーの要否 (真偽値、 always auto または never)"
@@ -8294,6 +8536,22 @@
 "(※ 訳注: :hg:`help config` でも参照可能)"
 
 msgid ""
+"By default, :hg:`email` will prompt for a ``To`` or ``CC`` header if\n"
+"you do not supply one via configuration or the command line.  You can\n"
+"override this to never prompt by configuring an empty value::"
+msgstr ""
+"コマンド実行時や、 設定ファイルでの指定がない場合、 :hg:`email` は\n"
+"``To`` や ``CC`` ヘッダ値を、 ユーザに問い合わせます。 空値の設定は、\n"
+"問い合わせを抑止します::"
+
+msgid ""
+"  [email]\n"
+"  cc ="
+msgstr ""
+"  [email]\n"
+"  cc ="
+
+msgid ""
 "You can control the default inclusion of an introduction message with the\n"
 "``patchbomb.intro`` configuration option. The configuration is always\n"
 "overwritten by command line flags like --intro and --desc::"
@@ -8657,18 +8915,6 @@
 msgid "writing"
 msgstr "書き出し中"
 
-msgid "show progress bars for some actions (DEPRECATED)"
-msgstr "処理における進捗率の表示 (非推奨)"
-
-msgid ""
-"This extension has been merged into core, you can remove it from your "
-"config.\n"
-"See hg help config.progress for configuration options.\n"
-msgstr ""
-"本エクステンションは、 本体機能に取り込まれましたので、設定ファイルから\n"
-"progress 有効化設定を削除可能です。 進捗表示の設定詳細に関しては\n"
-"'hg help config.progress' を参照してください。\n"
-
 msgid "command to delete untracked files from the working directory"
 msgstr "作業領域中の未登録ファイルを削除するコマンド"
 
@@ -8852,23 +9098,12 @@
 "    枝分かれの無い状態にしたい場合などで有用です。"
 
 msgid ""
-"    You should not rebase changesets that have already been shared\n"
-"    with others. Doing so will force everybody else to perform the\n"
-"    same rebase or they will end up with duplicated changesets after\n"
-"    pulling in your rebased changesets."
-msgstr ""
-"    他の利用者に公開済みのリビジョンは、 移動すべきではありません。\n"
-"    公開済みリビジョンの移動は、 結果的に、 他の利用者に対して、\n"
-"    同様のリビジョン移動操作を強制してしまったり、 公開済みと移動後の、\n"
-"    両方のリビジョンの取り込みにより、 リビジョンが重複したりといった、\n"
-"    悪影響があります。"
-
-msgid ""
-"    In its default configuration, Mercurial will prevent you from\n"
-"    rebasing published changes. See :hg:`help phases` for details."
-msgstr ""
-"    通常の設定では、 公開済みリビジョンは、 移動できません。 詳細は\n"
-"    :hg:`help phases` を参照してください。"
+"    Published commits cannot be rebased (see :hg:`help phases`).\n"
+"    To copy commits, see :hg:`help graft`."
+msgstr ""
+"    public フェーズのリビジョンは、 移動対象に指定できません\n"
+"    (:hg:`help phases` 参照)。 複製によるリビジョンの移植に関しては、\n"
+"    :hg:`help graft` を参照してください。"
 
 msgid ""
 "    If you don't specify a destination changeset (``-d/--dest``),\n"
@@ -8881,71 +9116,60 @@
 "    (移動先リビジョン自身は改変されませんが、 移動先の子孫として、\n"
 "    新規リビジョンが追加されます)"
 
-msgid ""
-"    You can specify which changesets to rebase in two ways: as a\n"
-"    \"source\" changeset or as a \"base\" changeset. Both are shorthand\n"
-"    for a topologically related set of changesets (the \"source\n"
-"    branch\"). If you specify source (``-s/--source``), rebase will\n"
-"    rebase that changeset and all of its descendants onto dest. If you\n"
-"    specify base (``-b/--base``), rebase will select ancestors of base\n"
-"    back to but not including the common ancestor with dest. Thus,\n"
-"    ``-b`` is less precise but more convenient than ``-s``: you can\n"
-"    specify any changeset in the source branch, and rebase will select\n"
-"    the whole branch. If you specify neither ``-s`` nor ``-b``, rebase\n"
-"    uses the parent of the working directory as the base."
-msgstr ""
-"    移動対象リビジョンの指定には、 \"source\" 指定と \"base\" 指定の、\n"
-"    2つの方法が使えます。 いずれも履歴ツリーから移動対象を抽出するための、\n"
-"    簡易化された方法です。  \"source\" (``-s/--source``) を指定した場合、\n"
-"    指定リビジョン、 およびその子孫全てを移動します。 \"base\"\n"
-"    (``-b/--base``) を指定した場合、 指定リビジョンから遡り、\n"
-"    移動先との共通祖先までの範囲を、 移動対象として選択します。\n"
-"    ``-s`` 指定よりも  ``-b`` 指定は精密さで劣りますが、 その分便利です。\n"
-"    移動元のブランチにおいて、 任意のリビジョンを選択することにより、\n"
-"    ブランチ全体が選択されます。 ``-s`` も ``-b`` も指定しない場合、\n"
-"    作業領域の親リビジョンを \"base\" とみなします。"
-
-msgid ""
-"    For advanced usage, a third way is available through the ``--rev``\n"
-"    option. It allows you to specify an arbitrary set of changesets to\n"
-"    rebase. Descendants of revs you specify with this option are not\n"
-"    automatically included in the rebase."
-msgstr ""
-"    より踏み込んだ対象指定として、 ``--rev`` を使用する方法があります。\n"
-"    ``--rev`` を使うことで、任意のリビジョンを、 移動対象に指定できます。\n"
-"    この方法でリビジョンを指定した場合、 指定リビジョンの子孫は、\n"
-"    自動的には移動対象に含まれません。"
-
-msgid ""
-"    By default, rebase recreates the changesets in the source branch\n"
-"    as descendants of dest and then destroys the originals. Use\n"
-"    ``--keep`` to preserve the original source changesets. Some\n"
-"    changesets in the source branch (e.g. merges from the destination\n"
-"    branch) may be dropped if they no longer contribute any change."
-msgstr ""
-"    特に指定が無い場合、 本コマンドは移動元ブランチのリビジョンを、\n"
-"    移動先の子孫として再生成し、 その後に元リビジョンを破棄します。\n"
-"    移動元リビジョンを残す場合、 ``--keep`` を指定してください。\n"
-"    移動元ブランチのリビジョンのうち、 何も貢献の無いリビジョン\n"
-"    (例: 移動先ブランチとのマージ実施リビジョン等) は無視されます。"
-
-msgid ""
-"    One result of the rules for selecting the destination changeset\n"
-"    and source branch is that, unlike ``merge``, rebase will do\n"
-"    nothing if you are at the branch tip of a named branch\n"
-"    with two heads. You need to explicitly specify source and/or\n"
-"    destination (or ``update`` to the other head, if it's the head of\n"
-"    the intended source branch)."
-msgstr ""
-"    現行の名前付きブランチが2つのヘッドを持ち、 且つ作業領域の親が、\n"
-"    最新ヘッド側である場合、 本コマンドは何も実施しません。\n"
-"    自動的に2つのヘッドを選択する :hg:`merge` と異なり、\n"
-"    デフォルトの移動元と移動先が、 共に最新ヘッドを選択するためです。\n"
-"    そのようなケースでは、 移動元/移動先を明示的に指定してください。\n"
-"    (他方のヘッドが移動先なら、 そちらに :hg:`update` してください)"
-
-msgid ""
-"    If a rebase is interrupted to manually resolve a merge, it can be\n"
+msgid "    Here are the ways to select changesets::"
+msgstr "    移動対象リビジョンの指定には、 以下の様な方法があります::"
+
+msgid "      1. Explicitly select them using ``--rev``."
+msgstr "      1. ``--rev`` は、 移動対象の直接指定"
+
+msgid ""
+"      2. Use ``--source`` to select a root changeset and include all of its\n"
+"      descendants."
+msgstr "      2. ``--source`` は、 指定リビジョン、 およびその子孫の移動"
+
+msgid ""
+"      3. Use ``--base`` to select a changeset; rebase will find ancestors\n"
+"      and their descendants which are not also ancestors of the destination."
+msgstr ""
+"      3. ``--base`` は、 移動「先」と指定リビジョンとの共通祖先、\n"
+"      およびその子孫の移動 (但し、 移動「先」の祖先は含まず)"
+
+msgid ""
+"      4. If you do not specify any of ``--rev``, ``source``, or ``--base``,\n"
+"      rebase will use ``--base .`` as above."
+msgstr ""
+"      4. 上記 ``--rev``, ``source``, ``--base`` の指定がない場合、\n"
+"      ``--base .`` 相当の指定で移動を実施"
+
+msgid ""
+"    Rebase will destroy original changesets unless you use ``--keep``.\n"
+"    It will also move your bookmarks (even if you do)."
+msgstr ""
+"    ``--keep`` 指定がない場合、 移動元リビジョンは破棄されます。\n"
+"    移動操作は、 ブックマークの移動も伴います。"
+
+msgid ""
+"    Some changesets may be dropped if they do not contribute changes\n"
+"    (e.g. merges from the destination branch)."
+msgstr ""
+"    移動後に変更を伴わないリビジョン (例: 移動先ブランチからのマージ実施)\n"
+"    は、 移動の際に破棄されます。"
+
+msgid ""
+"    Unlike ``merge``, rebase will do nothing if you are at the branch tip "
+"of\n"
+"    a named branch with two heads. You will need to explicitly specify "
+"source\n"
+"    and/or destination."
+msgstr ""
+"    作業領域の親が、 名前付きブランチの最新リビジョンである場合は、\n"
+"    当該ブランチにもう1つヘッドがあっても、 本コマンドは何もしません。\n"
+"    ヘッドが2つあった場合に、 必ずマージを実施する :hg:`merge` とは、\n"
+"    この点で挙動が異なります。 このような場合は、 移動元/先を、\n"
+"    明示的に指定してください。"
+
+msgid ""
+"    If a rebase is interrupted to manually resolve a conflict, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a."
 msgstr ""
 "    手動マージによる衝突解消が必要な場合、 移動処理が中断されますので、\n"
@@ -9008,9 +9232,6 @@
 "    成功時のコマンド終了値は 0、 移動が必要なリビジョンが無い場合や、\n"
 "    未解消の衝突が発生した場合は 1 です。"
 
-msgid "    "
-msgstr "    "
-
 #, python-format
 msgid ""
 "interactive history editing is supported by the 'histedit' extension (see "
@@ -9088,6 +9309,20 @@
 msgid "use --keep to keep original changesets"
 msgstr "元リビジョンを維持する場合は --keep を使用してください"
 
+msgid "this rebase will cause divergence"
+msgstr "この移動は分岐 (divergence) を生じます"
+
+msgid "to force the rebase please set rebase.allowdivergence=True"
+msgstr "移動を強制する場合は rebase.allowdivergence=True 設定してください"
+
+msgid "all requested changesets have equivalents or were marked as obsolete"
+msgstr "移動対象は廃止済み、あるいはそれと同等のリビジョンです"
+
+msgid ""
+"to force the rebase, set the config experimental.rebaseskipobsolete to False"
+msgstr ""
+"移動を強制する場合は experimental.rebaseskipobsolete=False 設定してください"
+
 msgid "nothing to rebase\n"
 msgstr "移動の必要はありません\n"
 
@@ -9130,6 +9365,10 @@
 msgstr "備考: %s は既に %s として移動済みなので移動しません\n"
 
 #, python-format
+msgid "note: not rebasing %s, it has no successor\n"
+msgstr "備考: 廃止済みで後継リビジョンを持たない %s は移動しません\n"
+
+#, python-format
 msgid "already rebased %s as %s\n"
 msgstr "%s は %s として移動済みです\n"
 
@@ -9220,6 +9459,9 @@
 msgid "use 'hg rebase --continue' or 'hg rebase --abort'"
 msgstr "'hg rebase --continue' か 'hg rebase --abort' を実施してください"
 
+msgid "hg rebase --continue"
+msgstr "hg rebase --continue"
+
 msgid "commands to interactively select changes for commit/qrefresh"
 msgstr "commit や qrefresh における対話的な変更取り込みの選択"
 
@@ -9813,6 +10055,9 @@
 msgid "mark new/missing files as added/removed before shelving"
 msgstr "新規/不在ファイルを、退避前に登録/除外対象化"
 
+msgid "store unknown files in the shelve"
+msgstr "管理対象外ファイルを退避対象に含める"
+
 msgid "delete all shelved changes"
 msgstr "退避情報を全て破棄"
 
@@ -9913,6 +10158,9 @@
 msgid "use 'hg unshelve --continue' or 'hg unshelve --abort'"
 msgstr "'hg unshelve --continue' か 'hg unshelve --abort' を実施してください"
 
+msgid "hg unshelve --continue"
+msgstr "hg unshelve --continue"
+
 msgid "strip changesets and their descendants from history"
 msgstr "指定リビジョンと子孫の履歴からの破棄"
 
@@ -10072,8 +10320,8 @@
 msgid "can only omit patchfile if merging"
 msgstr "マージの場合のみパッチファイルを省略可能"
 
-msgid "fix up the merge and run hg transplant --continue"
-msgstr "衝突解消後に 'hg transplant --continue' を実行してください"
+msgid "fix up the working directory and run hg transplant --continue"
+msgstr "作業領域での作業後に hg transplant --continue を実行してください"
 
 #, python-format
 msgid "skipping emptied changeset %s\n"
@@ -10252,7 +10500,7 @@
 msgid "--continue is incompatible with --branch, --all and --merge"
 msgstr "--continue は --branch、 --all、 --merge と併用できません"
 
-msgid "no source URL, branch revision or revision list provided"
+msgid "no source URL, branch revision, or revision list provided"
 msgstr "元 URL、 ブランチ名、 リビジョン一覧のいずれも指定されていません"
 
 msgid "--all requires a branch revision"
@@ -10264,15 +10512,17 @@
 msgid "no revision checked out"
 msgstr "作業領域が未更新です"
 
+msgid "no transplant to continue"
+msgstr "再開すべき移植操作はありません"
+
 msgid "outstanding uncommitted merges"
 msgstr "マージが未コミットです"
 
 msgid "outstanding local changes"
 msgstr "変更が未コミットです"
 
-msgid ""
-"``transplanted([set])``\n"
-"    Transplanted changesets in set, or all transplanted changesets."
+#, fuzzy
+msgid "Transplanted changesets in set, or all transplanted changesets."
 msgstr ""
 "``transplanted([set])``\n"
 "    set 中の移植先リビジョン、 または全移植先リビジョン。"
@@ -10618,6 +10868,13 @@
 msgid "Seek failed\n"
 msgstr "seek に失敗しました\n"
 
+msgid ""
+"bundle contains tree manifests, but local repo is non-empty and does not use "
+"tree manifests"
+msgstr ""
+"非 treemanifests 形式の履歴を持つリポジトリには treemanifests のバンドルファ"
+"イルを適用できません"
+
 #, python-format
 msgid "remote-changegroup: missing \"%s\" param"
 msgstr "remote-changegroup: パラメータ \"%s\" 指定がありません"
@@ -10703,6 +10960,9 @@
 msgid "added %d changesets with %d changes to %d files%s\n"
 msgstr "%d 個のリビジョン(%d の変更を %d ファイルに適用)を追加%s\n"
 
+msgid "received dir revlog group is empty"
+msgstr "ディレクトリのリビジョンログが空です"
+
 msgid "bundling"
 msgstr "バンドル生成中"
 
@@ -10872,9 +11132,6 @@
 msgid "child process failed to start"
 msgstr "子プロセスの生成に失敗"
 
-msgid "applied to working directory"
-msgstr "作業領域への適用"
-
 msgid "not a Mercurial patch"
 msgstr "Mercurial 向けのパッチではありません"
 
@@ -10891,6 +11148,9 @@
 msgid "patch is damaged or loses information"
 msgstr "パッチには破損または情報の欠落があります"
 
+msgid "applied to working directory"
+msgstr "作業領域への適用"
+
 #. i18n: refers to a short changeset id
 #, python-format
 msgid "created %s"
@@ -11120,6 +11380,16 @@
 msgid "use 'hg update' to get a consistent checkout"
 msgstr "作業領域内容の整合性を取るには 'hg update' を実行してください"
 
+msgid "hg graft --continue"
+msgstr "hg graft --continue"
+
+#, python-format
+msgid "continue: %s\n"
+msgstr "解消後の推奨操作: %s\n"
+
+msgid "hg commit"
+msgstr "hg commit"
+
 #, python-format
 msgid "can't close already inactivated backup: dirstate%s"
 msgstr "非活性化済みのバックアップは close できません: dirstate%s"
@@ -11275,6 +11545,15 @@
 msgid "recurse into subrepositories"
 msgstr "サブリポジトリへの再帰的適用"
 
+msgid "open changelog"
+msgstr "変更履歴の読み込み"
+
+msgid "open manifest"
+msgstr "マニフェストの読み込み"
+
+msgid "open directory manifest"
+msgstr "ディレクトリマニフェストの読み込み"
+
 msgid "[OPTION]... [FILE]..."
 msgstr "[OPTION]... [FILE]..."
 
@@ -11293,35 +11572,60 @@
 "    指定されたファイルは、 次回のコミットから構成管理対象となります。\n"
 "    追加登録のコミット前取り消しは :hg:`help forget` を参照してください。"
 
-msgid "    If no names are given, add all files to the repository."
-msgstr ""
-"    ファイル名指定が無い場合、 作業領域中の全ファイルが対象となります。"
-
-msgid ""
-"       An example showing how new (unknown) files are added\n"
-"       automatically by :hg:`add`::"
-msgstr ""
-"       以下の実行例は、 :hg:`add` 実行における(未知のファイルの)自動的な\n"
-"       追加の例です::"
-
-msgid ""
-"         $ ls\n"
-"         foo.c\n"
-"         $ hg status\n"
-"         ? foo.c\n"
-"         $ hg add\n"
-"         adding foo.c\n"
-"         $ hg status\n"
-"         A foo.c"
-msgstr ""
-"         $ ls\n"
-"         foo.c\n"
-"         $ hg status\n"
-"         ? foo.c\n"
-"         $ hg add\n"
-"         foo.c を追加登録中\n"
-"         $ hg status\n"
-"         A foo.c"
+msgid ""
+"    If no names are given, add all files to the repository (except\n"
+"    files matching ``.hgignore``)."
+msgstr ""
+"    ファイル名指定が無い場合、 作業領域中の全ファイルが対象となります\n"
+"    (``.hgignore`` による無視指定対象は除く)。"
+
+msgid ""
+"         - New (unknown) files are added\n"
+"           automatically by :hg:`add`::"
+msgstr "         - :hg:`add` による unknown 扱いのファイルの自動的な追加登録::"
+
+msgid ""
+"             $ ls\n"
+"             foo.c\n"
+"             $ hg status\n"
+"             ? foo.c\n"
+"             $ hg add\n"
+"             adding foo.c\n"
+"             $ hg status\n"
+"             A foo.c"
+msgstr ""
+"             $ ls\n"
+"             foo.c\n"
+"             $ hg status\n"
+"             ? foo.c\n"
+"             $ hg add\n"
+"             adding foo.c\n"
+"             $ hg status\n"
+"             a foo.c"
+
+msgid "         - Specific files to be added can be specified::"
+msgstr "         - ファイル名指定による特定ファイルの追加登録::"
+
+msgid ""
+"             $ ls\n"
+"             bar.c  foo.c\n"
+"             $ hg status\n"
+"             ? bar.c\n"
+"             ? foo.c\n"
+"             $ hg add bar.c\n"
+"             $ hg status\n"
+"             A bar.c\n"
+"             ? foo.c"
+msgstr ""
+"             $ ls\n"
+"             bar.c  foo.c\n"
+"             $ hg status\n"
+"             ? bar.c\n"
+"             ? foo.c\n"
+"             $ hg add bar.c\n"
+"             $ hg status\n"
+"             a bar.c\n"
+"             ? foo.c"
 
 msgid ""
 "    Returns 0 if all files are successfully added.\n"
@@ -11341,13 +11645,13 @@
 "    行ないます。"
 
 msgid ""
-"    New files are ignored if they match any of the patterns in\n"
-"    ``.hgignore``. As with add, these changes take effect at the next\n"
-"    commit."
-msgstr ""
-"    ``.hgignore`` に記述されたパターンに合致する新規ファイルは\n"
-"    無視されます。 :hg:`add` と同様に、 実行効果が発揮されるのは\n"
-"    次回コミット時点です。"
+"    Unless names are given, new files are ignored if they match any of\n"
+"    the patterns in ``.hgignore``. As with add, these changes take\n"
+"    effect at the next commit."
+msgstr ""
+"    ``.hgignore`` 中の記述パターンに合致するファイルは、\n"
+"    明示的な指定がない限り、 無視されます。 :hg:`add` と同様に、\n"
+"    実行効果が発揮されるのは、 次回の :hg:`commit` 時点です。"
 
 msgid ""
 "    Use the -s/--similarity option to detect renamed files. This\n"
@@ -11369,6 +11673,81 @@
 "    -s/--similarity 未指定の場合、 100 が指定されたものとみなされ、\n"
 "    内容が完全に一致するファイルのみが、 改名とみなされます。"
 
+msgid ""
+"         - A number of files (bar.c and foo.c) are new,\n"
+"           while foobar.c has been removed (without using :hg:`remove`)\n"
+"           from the repository::"
+msgstr ""
+"         - ファイル bar.c や foo.c が新規作成された一方で、foobar.c\n"
+"           が作業領域から手動 (:hg:`remove` 実行なし) で削除されたケース::"
+
+msgid ""
+"             $ ls\n"
+"             bar.c foo.c\n"
+"             $ hg status\n"
+"             ! foobar.c\n"
+"             ? bar.c\n"
+"             ? foo.c\n"
+"             $ hg addremove\n"
+"             adding bar.c\n"
+"             adding foo.c\n"
+"             removing foobar.c\n"
+"             $ hg status\n"
+"             A bar.c\n"
+"             A foo.c\n"
+"             R foobar.c"
+msgstr ""
+"             $ ls\n"
+"             bar.c foo.c\n"
+"             $ hg status\n"
+"             ! foobar.c\n"
+"             ? bar.c\n"
+"             ? foo.c\n"
+"             $ hg addremove\n"
+"             adding bar.c\n"
+"             adding foo.c\n"
+"             removing foobar.c\n"
+"             $ hg status\n"
+"             a bar.c\n"
+"             a foo.c\n"
+"             r foobar.c"
+
+msgid ""
+"         - A file foobar.c was moved to foo.c without using :hg:`rename`.\n"
+"           Afterwards, it was edited slightly::"
+msgstr ""
+"         - ファイル foobar.c を手動 (:hg:`rename` なし) で改名した上で、\n"
+"           多少の変更が加えられたケース::"
+
+msgid ""
+"             $ ls\n"
+"             foo.c\n"
+"             $ hg status\n"
+"             ! foobar.c\n"
+"             ? foo.c\n"
+"             $ hg addremove --similarity 90\n"
+"             removing foobar.c\n"
+"             adding foo.c\n"
+"             recording removal of foobar.c as rename to foo.c (94% similar)\n"
+"             $ hg status -C\n"
+"             A foo.c\n"
+"               foobar.c\n"
+"             R foobar.c"
+msgstr ""
+"             $ ls\n"
+"             foo.c\n"
+"             $ hg status\n"
+"             ! foobar.c\n"
+"             ? foo.c\n"
+"             $ hg addremove --similarity 90\n"
+"             removing foobar.c\n"
+"             adding foo.c\n"
+"             recording removal of foobar.c as rename to foo.c (94% similar)\n"
+"             $ hg status -c\n"
+"             a foo.c\n"
+"               foobar.c\n"
+"             r foobar.c"
+
 msgid "similarity must be a number"
 msgstr "類似度には数値を指定してください"
 
@@ -11407,7 +11786,7 @@
 
 msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line"
+"    each line."
 msgstr "    ファイルの各行毎に、 その内容が由来するリビジョンIDを表示します。"
 
 msgid ""
@@ -11416,6 +11795,13 @@
 msgstr "    本コマンドは、 変更の実施者または実施時期を特定するのに有用です。"
 
 msgid ""
+"    If you include --file, --user, or --date, the revision number is\n"
+"    suppressed unless you also include --number."
+msgstr ""
+"    --file, --user, --date のいずれかが指定された場合、 明示的な --number\n"
+"    指定がない限り、 由来リビジョン番号は表示されません。"
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
@@ -11466,9 +11852,9 @@
 
 msgid ""
 "    The archive type is automatically detected based on file\n"
-"    extension (or override using -t/--type)."
-msgstr ""
-"    アーカイブ種別は、 出力先ファイルの拡張子から自動的に判定されますが\n"
+"    extension (to override, use -t/--type)."
+msgstr ""
+"    アーカイブ種別は、 出力先ファイルの拡張子から自動的に判定されますが、\n"
 "    -t/--type で強制することも可能です。"
 
 msgid "      - create a zip file containing the 1.0 release::"
@@ -11533,8 +11919,11 @@
 msgid "merge with old dirstate parent after backout"
 msgstr "打ち消しリビジョンを現親リビジョンとマージ"
 
-msgid "commit if no conflicts were encountered"
-msgstr "衝突が検出されない場合のコミット実施"
+msgid "commit if no conflicts were encountered (DEPRECATED)"
+msgstr "衝突が検出されない場合のコミット実施 (非推奨)"
+
+msgid "do not commit"
+msgstr "コミット実施の抑止"
 
 msgid "parent to choose when backing out merge (DEPRECATED)"
 msgstr "打ち消しリビジョンとのマージ対象 (非推奨)"
@@ -11550,27 +11939,55 @@
 
 msgid ""
 "    Prepare a new changeset with the effect of REV undone in the\n"
-"    current working directory."
-msgstr ""
-"    対象リビジョンでの変更を打ち消す効果を持つ変更を、\n"
-"    作業領域で作成します。"
+"    current working directory. If no conflicts were encountered,\n"
+"    it will be committed immediately."
+msgstr ""
+"    対象リビジョン内容の打ち消しに相当する変更を、 作業領域で作成します。\n"
+"    衝突なしで打ち消しができた場合は、 変更内容を自動的にコミットします。"
 
 msgid ""
 "    If REV is the parent of the working directory, then this new changeset\n"
-"    is committed automatically. Otherwise, hg needs to merge the\n"
-"    changes and the merged result is left uncommitted."
-msgstr ""
-"    対象リビジョンが、 作業領域の親リビジョンの場合、\n"
-"    新規作成された打ち消しリビジョンは、 自動的にコミットされます。\n"
-"    それ以外の場合は、 マージが実施されますが、\n"
-"    マージ結果はコミットされません。"
-
-msgid ""
-"      backout cannot be used to fix either an unwanted or\n"
-"      incorrect merge."
-msgstr ""
-"      :hg:`backout` による打消し機能は、マージ実施リビジョンに対しては、\n"
-"      適用できません。"
+"    is committed automatically (unless --no-commit is specified)."
+msgstr ""
+"    作業領域の親リビジョンを打ち消す場合、 打ち消しに相当する内容は、\n"
+"    自動的にコミットされます (--no-commit 指定時を除く)。"
+
+msgid ""
+"       :hg:`backout` cannot be used to fix either an unwanted or\n"
+"       incorrect merge."
+msgstr ""
+"       :hg:`backout` による打消し機能は、マージ実施リビジョンに対しては、\n"
+"       適用できません。"
+
+msgid ""
+"      - Reverse the effect of the parent of the working directory.\n"
+"        This backout will be committed immediately::"
+msgstr ""
+"      - 作業領域親リビジョンの打ち消し。\n"
+"        打ち消し内容は即時コミットされます::"
+
+msgid "          hg backout -r ."
+msgstr "          hg backout -r ."
+
+msgid "      - Reverse the effect of previous bad revision 23::"
+msgstr "      - 以前のリビジョン 23 での変更内容の打ち消し::"
+
+msgid "          hg backout -r 23"
+msgstr "          hg backout -r 23"
+
+msgid ""
+"      - Reverse the effect of previous bad revision 23 and\n"
+"        leave changes uncommitted::"
+msgstr ""
+"      - 以前のリビジョン 23 での変更内容の打ち消しをしつつ、\n"
+"        打ち消し内容のコミットは保留::"
+
+msgid ""
+"          hg backout -r 23 --no-commit\n"
+"          hg commit -m \"Backout revision 23\""
+msgstr ""
+"          hg backout -r 23 --no-commit\n"
+"          hg commit -m \"backout revision 23\""
 
 msgid ""
 "      By default, the pending changeset will have one parent,\n"
@@ -11614,6 +12031,9 @@
 "    未解消の衝突が発生した場合は 1 です。\n"
 "    "
 
+msgid "cannot use --commit with --no-commit"
+msgstr "--commit と --no-commit は併用できません"
+
 msgid "please specify just one revision"
 msgstr "リビジョン指定は1つだけです"
 
@@ -11884,6 +12304,9 @@
 msgid "force"
 msgstr "強制実施"
 
+msgid "revision for bookmark action"
+msgstr "ブックマーク操作対象リビジョン"
+
 msgid "delete a given bookmark"
 msgstr "指定ブックマークの削除"
 
@@ -12076,13 +12499,12 @@
 msgid ""
 "    Use the command :hg:`update` to switch to an existing branch. Use\n"
 "    :hg:`commit --close-branch` to mark this branch head as closed.\n"
-"    When all heads of the branch are closed, the branch will be\n"
+"    When all heads of a branch are closed, the branch will be\n"
 "    considered closed."
 msgstr ""
-"    作業領域の内容を既存ブランチの内容で更新する場合は :hg:`update`\n"
-"    を使用します。 現ブランチヘッドを閉鎖する場合は\n"
-"    :hg:`commit --close-branch` を使用します。 当該ブランチにおける、\n"
-"    全ブランチヘッドの閉鎖をもって、 そのブランチの閉鎖とみなします。"
+"    作業領域を既存ブランチの内容で更新するには :hg:`update` を使用します。\n"
+"    現ブランチヘッドの閉鎖には :hg:`commit --close-branch` を使用します。\n"
+"    全ブランチヘッドの閉鎖をもって、 当該ブランチの閉鎖とみなします。"
 
 #, python-format
 msgid "reset working directory to branch %s\n"
@@ -12166,29 +12588,31 @@
 msgstr "バンドルファイルの生成"
 
 msgid ""
-"    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository."
-msgstr ""
-"    連携対象リポジトリに存在しないリビジョンの情報をまとめて、\n"
-"    圧縮形式のバンドルファイルを生成します。"
-
-msgid ""
-"    If you omit the destination repository, then hg assumes the\n"
-"    destination will have all the nodes you specify with --base\n"
-"    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null)."
-msgstr ""
-"    連携対象リポジトリが無指定の場合、 --base 指定されたリビジョンが、\n"
-"    連携対象リポジトリ側に存在するものと仮定します。\n"
-"    -a/--all (または --base null) 指定により、\n"
-"    全リビジョンを含むバンドルファイルが生成できます。"
+"    Generate a changegroup file collecting changesets to be added\n"
+"    to a repository."
+msgstr ""
+"    連携対象リポジトリに存在しないリビジョンの情報を、\n"
+"    バンドルファイルに書き出します。"
+
+msgid ""
+"    To create a bundle containing all changesets, use -a/--all\n"
+"    (or --base null). Otherwise, hg assumes the destination will have\n"
+"    all the nodes you specify with --base parameters. Otherwise, hg\n"
+"    will assume the repository has all the nodes in destination, or\n"
+"    default-push/default if no destination is specified."
+msgstr ""
+"    -a/--all (又は --base null) 指定がある場合、 バンドルファイルには、\n"
+"    リポジトリの全ての履歴が書き出されます。 明示的な --base 指定の場合、\n"
+"    指定リビジョン以降の履歴が書き出されます。 それ以外の場合は、\n"
+"    指定の連携先 (又は paths での default-push/default 指定先) から、\n"
+"    書き出し対象リビジョンを判断します。"
 
 msgid ""
 "    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)."
+"    available formats are: v1, v2 (default to most suitable)."
 msgstr ""
 "    出力形式は -t/--type で指定可能です。 圧縮形式名、 バンドル形式名、\n"
 "    あるいは - で連結した併記形式 (`comp-bundle`) で指定できます。\n"
@@ -12220,6 +12644,9 @@
 "    成功時のコマンドの終了値は 0、 変更が検出できない場合は 1 です。\n"
 "    "
 
+msgid "no commits to bundle"
+msgstr "リビジョン指定は空です"
+
 msgid "see \"hg help bundle\" for supported values for --type"
 msgstr "--type で指定可能な値は \"hg help bundle\" を参照してください"
 
@@ -12229,6 +12656,12 @@
 msgid "use \"hg debugcreatestreamclonebundle\""
 msgstr "\"hg debugcreatestreamclonebundle\" を使用してください"
 
+msgid "--all is incompatible with specifying a destination"
+msgstr "--all と連携対象は同時には指定できません"
+
+msgid "ignoring --base because --all was specified\n"
+msgstr "--all 指定があるので --base 指定を無視します\n"
+
 msgid "--base is incompatible with specifying a destination"
 msgstr "--base と連携対象は同時には指定できません"
 
@@ -12285,8 +12718,8 @@
 msgid "the clone will include an empty working directory (only a repository)"
 msgstr "複製先の作業領域を空にする(管理領域のみの複製)"
 
-msgid "revision, tag or branch to check out"
-msgstr "作業領域更新用リビジョン(タグ名/ブランチ名)"
+msgid "revision, tag, or branch to check out"
+msgstr "作業領域更新用リビジョン(タグ名/ブランチ名指定可)"
 
 msgid "include the specified changeset"
 msgstr "複製対象に含めるリビジョン"
@@ -12326,24 +12759,6 @@
 "    作業領域の更新や、 ``.hg/hgrc`` の生成は行われません。"
 
 msgid ""
-"    To pull only a subset of changesets, specify one or more revisions\n"
-"    identifiers with -r/--rev or branches with -b/--branch. The\n"
-"    resulting clone will contain only the specified changesets and\n"
-"    their ancestors. These options (or 'clone src#rev dest') imply\n"
-"    --pull, even for local source repositories. Note that specifying a\n"
-"    tag will include the tagged changeset but not the changeset\n"
-"    containing the tag."
-msgstr ""
-"    -r/--rev でのリビジョン指定や、 -b/--branch でのブランチ指定により、\n"
-"    一部のリビジョンのみを取り込むことができます。 複製先のリポジトリは、\n"
-"    指定リビジョンと、 その祖先のみを保持します。 これらのオプション指定\n"
-"    (あるいは :hg:`clone src#rev dest` 形式での複製) がある場合、\n"
-"    同一ファイルシステム上のリポジトリの複製でも、 --pull 指定時と、\n"
-"    同様に振舞います。 タグ名でリビジョンを指定した場合、\n"
-"    タグ「対処」リビジョンは、 複製先に取り込まれますが、\n"
-"    タグ「実施」リビジョンは、 複製先に取り込まれません。"
-
-msgid ""
 "    If the source repository has a bookmark called '@' set, that\n"
 "    revision will be checked out in the new repository by default."
 msgstr ""
@@ -12358,6 +12773,27 @@
 "    作業領域にデータを持ちたくない場合は -U/--noupdate を指定します。"
 
 msgid ""
+"    To pull only a subset of changesets, specify one or more revisions\n"
+"    identifiers with -r/--rev or branches with -b/--branch. The\n"
+"    resulting clone will contain only the specified changesets and\n"
+"    their ancestors. These options (or 'clone src#rev dest') imply\n"
+"    --pull, even for local source repositories."
+msgstr ""
+"    -r/--rev でのリビジョン指定や、 -b/--branch でのブランチ指定により、\n"
+"    一部のリビジョンのみを取り込むことができます。 複製先のリポジトリは、\n"
+"    指定リビジョンと、 その祖先のみを保持します。 これらのオプション指定\n"
+"    (あるいは :hg:`clone src#rev dest` 形式での複製) がある場合、\n"
+"    同一ファイルシステム上のリポジトリの複製でも、 --pull 指定時と、\n"
+"    同様に振舞います。"
+
+msgid ""
+"       Specifying a tag will include the tagged changeset but not the\n"
+"       changeset containing the tag."
+msgstr ""
+"       リビジョン指定にタグ名を用いた場合、 タグ「対処」リビジョンは、\n"
+"       複製先に取り込まれますが、 タグ「実施」リビジョンは取り込まれません。"
+
+msgid ""
 "      For efficiency, hardlinks are used for cloning whenever the\n"
 "      source and destination are on the same filesystem (note this\n"
 "      applies only to the repository data, not to the working\n"
@@ -12430,6 +12866,25 @@
 "      h) default ブランチの最新ヘッドリビジョン\n"
 "      i) tip"
 
+msgid ""
+"      When cloning from servers that support it, Mercurial may fetch\n"
+"      pre-generated data from a server-advertised URL. When this is done,\n"
+"      hooks operating on incoming changesets and changegroups may fire "
+"twice,\n"
+"      once for the bundle fetched from the URL and another for any "
+"additional\n"
+"      data not fetched from this URL. In addition, if an error occurs, the\n"
+"      repository may be rolled back to a partial clone. This behavior may\n"
+"      change in future releases. See :hg:`help -e clonebundles` for more."
+msgstr ""
+"      サーバ経由で複製した場合、 サーバ側で事前に作成されたデータを元に、\n"
+"      複製を行う可能性があります (サーバ側設定次第)。 そのような場合は、\n"
+"      incoming, changegroup 系フックが、 事前作成データの取り込みで一度、\n"
+"      追加履歴の取り込みでもう一度、 合計二度実行されることになります。\n"
+"      また、 エラーでの複製中断時も、 複製先に履歴が残る可能性があります。\n"
+"      この挙動は将来変更されるかもしれません。\n"
+"      詳細は :hg:`help -e clonebundles` を参照してください。"
+
 msgid "      - clone a remote repository to a new directory named hg/::"
 msgstr "      - 遠隔ホストのリポジトリを、 新規 hg/ ディレクトリ配下に複製::"
 
@@ -12572,11 +13027,29 @@
 "    public フェーズ (:hg:`help phases` 参照) のリビジョンや、\n"
 "    既に子リビジョンを持つリビジョンは、 改変できません "
 
-msgid ""
-"    Returns 0 on success, 1 if nothing changed.\n"
-"    "
-msgstr ""
-"    成功時のコマンドの終了値は 0、 変更が検出できない場合は 1 です。\n"
+msgid "    Returns 0 on success, 1 if nothing changed."
+msgstr "    成功時のコマンドの終了値は 0、 変更が検出できない場合は 1 です。"
+
+msgid "      - commit all files ending in .py::"
+msgstr "      - .py 拡張子を持つ全てのファイルの変更を記録::"
+
+msgid "          hg commit --include \"set:**.py\""
+msgstr "          hg commit --include \"set:**.py\""
+
+msgid "      - commit all non-binary files::"
+msgstr "      - 全ての非バイナリ形式ファイルの変更を記録::"
+
+msgid "          hg commit --exclude \"set:binary()\""
+msgstr "          hg commit --exclude \"set:binary()\""
+
+msgid "      - amend the current commit and set the date to now::"
+msgstr "      - 作業領域の親リビジョンの再コミット (日付を現在時刻に更新)::"
+
+msgid ""
+"          hg commit --amend --date now\n"
+"    "
+msgstr ""
+"          hg commit --amend --date now\n"
 "    "
 
 msgid "cannot amend with --subrepos"
@@ -12811,6 +13284,9 @@
 msgid "show all details"
 msgstr "全詳細の表示"
 
+msgid "print the bundlespec of the bundle"
+msgstr "バンドルファイルの仕様表示"
+
 msgid "lists the contents of a bundle"
 msgstr "バンドルファイルの内容表示"
 
@@ -12912,15 +13388,6 @@
 msgid "need repo for changelog dag"
 msgstr "変更履歴の DAG 出力にはリポジトリが必要です"
 
-msgid "open changelog"
-msgstr "変更履歴の読み込み"
-
-msgid "open manifest"
-msgstr "マニフェストの読み込み"
-
-msgid "open directory manifest"
-msgstr "ディレクトリマニフェストの読み込み"
-
 msgid "-c|-m|FILE REV"
 msgstr "-c|-m|FILE REV"
 
@@ -13006,8 +13473,23 @@
 msgid "unknown bundle type specified with --type"
 msgstr "--type に未知のバンドル種別が指定されました"
 
-msgid "display the combined ignore pattern"
-msgstr "無視対象ファイル判定用正規表現の表示"
+msgid "display the combined ignore pattern and information about ignored files"
+msgstr "無視対象ファイル判定用正規表現の表示と、 パターン合致の判定"
+
+msgid "    With no argument display the combined ignore pattern."
+msgstr ""
+"    引数なしでの実行時は、 無視対象ファイル判定用正規表現を表示します。"
+
+msgid ""
+"    Given space separated file names, shows if the given file is ignored "
+"and\n"
+"    if so, show the ignore rule (file and line number) that matched it.\n"
+"    "
+msgstr ""
+"    指定された引数は、 ファイル名とみなされ、 無視指定との合致の有無と、\n"
+"    合致するなら当該パターン指定の情報 (記述ファイルと行番号) を、\n"
+"    指定ファイル毎に表示します。\n"
+"    "
 
 msgid "no ignore patterns found"
 msgstr "無視対象ファイルの指定がありません"
@@ -13025,9 +13507,46 @@
 msgid "unknown format %d"
 msgstr "未知のフォーマット: %d"
 
+msgid "-c|-m|FILE"
+msgstr "-c|-m|FILE"
+
 msgid "dump an index DAG as a graphviz dot file"
 msgstr "インデックス DAG の graphviz 向け .dot ファイルを生成"
 
+msgid "dump information about delta chains in a revlog"
+msgstr "revlog における delta chain 情報の表示"
+
+msgid "    Output can be templatized. Available template keywords are:"
+msgstr "    テンプレートで出力内容を整形可能です。 利用可能キーワードは:"
+
+msgid ""
+"       rev          revision number\n"
+"       chainid      delta chain identifier (numbered by unique base)\n"
+"       chainlen     delta chain length to this revision\n"
+"       prevrev      previous revision in delta chain\n"
+"       deltatype    role of delta / how it was computed\n"
+"       compsize     compressed size of revision\n"
+"       uncompsize   uncompressed size of revision\n"
+"       chainsize    total size of compressed revisions in chain\n"
+"       chainratio   total chain size divided by uncompressed revision size\n"
+"                    (new delta chains typically start at ratio 2.00)\n"
+"       lindist      linear distance from base revision in delta chain to "
+"end\n"
+"                    of this revision\n"
+"       extradist    total size of revisions not part of this delta chain "
+"from\n"
+"                    base of delta chain to end of this revision; a "
+"measurement\n"
+"                    of how much extra data we need to read/seek across to "
+"read\n"
+"                    the delta chain for this revision\n"
+"       extraratio   extradist divided by chainsize; another representation "
+"of\n"
+"                    how much unrelated data is needed to load this delta "
+"chain\n"
+"    "
+msgstr ""
+
 msgid "test Mercurial installation"
 msgstr "Mercurial インストールの検証"
 
@@ -13293,7 +13812,7 @@
 "    The actual working directory content or existing dirstate\n"
 "    information such as adds or removes is not considered."
 msgstr ""
-"    指定リビジョン時点の各ファイルの内容を元に dirstate が設定されます。\n"
+"    指定リビジョン時点の各ファイルの内容を元に dirstate が設定されます。\n"
 "    作業領域中のファイルの実際の内容や、 追加登録/登録除外のような、\n"
 "    既存の dirstate 情報は無視されます。"
 
@@ -13343,9 +13862,6 @@
 msgid "dump index data"
 msgstr "インデックスデータのダンプ"
 
-msgid "-c|-m|FILE"
-msgstr "-c|-m|FILE"
-
 msgid "show data and statistics about a revlog"
 msgstr "revlog ファイルのデータと統計情報の表示"
 
@@ -13443,7 +13959,7 @@
 "which\n"
 "    may also be split, i.e. have multiple successors)."
 msgstr ""
-"    複数の異なる方法で書き換えられたリビジョンを、 \"分岐\" (divergent)\n"
+"    複数の異なる方法で書き換えられたリビジョンを、 \"分岐\" (divergent)\n"
 "    と呼びます。 分岐リビジョンには、 複数の後継セットが存在します。\n"
 "    (複数の後継セットのそれぞれが、 複数の後継リビジョンから構成される、\n"
 "    分割後継セットかもしれません)"
@@ -13494,13 +14010,24 @@
 msgstr "    差分は unified diff 形式で表示されます。"
 
 msgid ""
-"       diff may generate unexpected results for merges, as it will\n"
+"       :hg:`diff` may generate unexpected results for merges, as it will\n"
 "       default to comparing against the working directory's first\n"
 "       parent changeset if no revisions are specified."
 msgstr ""
-"       マージ実施リビジョンに対する本コマンドの差分出力が、\n"
-"       期待と異なる場合があるのは、 対象リビジョンが無指定の場合に\n"
-"       比較対象となるのが、 作業領域の第1親に固定されているためです。"
+"       マージ実施リビジョンに対する :hg:`diff` 結果が、\n"
+"       想定と異なる場合があるのは、 対象リビジョン無指定時の比較対象が、\n"
+"       作業領域の第1親に固定されているためです。"
+
+msgid ""
+"    When two revision arguments are given, then changes are shown\n"
+"    between those revisions. If only one revision is specified then\n"
+"    that revision is compared to the working directory, and, when no\n"
+"    revisions are specified, the working directory files are compared\n"
+"    to its first parent."
+msgstr ""
+"    リビジョン指定が2つの場合、 指定リビジョン間の差分が表示されます。\n"
+"    リビジョン指定が1つの場合、 作業領域が指定リビジョンと比較されます。\n"
+"    リビジョン指定がない場合、 作業領域が第1親リビジョンと比較されます。"
 
 msgid ""
 "    Alternatively you can specify -c/--change with a revision to see\n"
@@ -13590,13 +14117,13 @@
 "    (default 以外の場合は)ブランチ名前/ハッシュ値/親リビジョン/コミットログ"
 
 msgid ""
-"       export may generate unexpected diff output for merge\n"
+"       :hg:`export` may generate unexpected diff output for merge\n"
 "       changesets, as it will compare the merge changeset against its\n"
 "       first parent only."
 msgstr ""
-"       本コマンドの差分出力が、 マージ実施リビジョンに対しては、\n"
-"       期待と異なる場合があります。 差分出力の際の比較対象が、\n"
-"       指定リビジョンの第1親に固定されているためです。"
+"       マージ実施リビジョンに対する :hg:`export` 結果が、\n"
+"       期待と異なる場合があるのは、 差分出力の際の比較対象が、\n"
+"       当該リビジョンの第1親に固定されているためです。"
 
 msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
@@ -13813,8 +14340,8 @@
 msgid "record the current user as committer"
 msgstr "現ユーザをコミットユーザとして記録"
 
-msgid "[OPTION]... [-r] REV..."
-msgstr "[OPTION]... [-r] REV..."
+msgid "[OPTION]... [-r REV]... REV..."
+msgstr "[OPTION]... [-r REV]... REV..."
 
 msgid "copy changes from other branches onto the current branch"
 msgstr "別ブランチ上から現行ブランチへの指定リビジョンの複製"
@@ -13863,11 +14390,11 @@
 "    -c/--continue 指定により、 未完了の移植を再開してください。"
 
 msgid ""
-"      The -c/--continue option does not reapply earlier options, except\n"
-"      for --force."
-msgstr ""
-"      -c/--continue での移植再開の際には、 再度明示的に指定しない限り、\n"
-"      以前に指定したオプションは適用されません (但し --force 除く)。"
+"       The -c/--continue option does not reapply earlier options, except\n"
+"       for --force."
+msgstr ""
+"       -c/--continue での移植再開の際には、 再度明示的に指定しない限り、\n"
+"       以前に指定したオプションは適用されません (但し --force 除く)。"
 
 msgid ""
 "      - copy a single change to the stable branch and edit its description::"
@@ -13899,6 +14426,12 @@
 msgid "          hg log --debug -r ."
 msgstr "          hg log --debug -r ."
 
+msgid "      - show revisions sorted by date::"
+msgstr "      - 日付の昇順で整列した履歴の表示::"
+
+msgid "          hg log -r 'sort(all(), date)'"
+msgstr "          hg log -r 'sort(all(), date)'"
+
 msgid ""
 "    See :hg:`help revisions` and :hg:`help revsets` for more about\n"
 "    specifying revisions."
@@ -13913,6 +14446,11 @@
 "    成功時のコマンド終了値は 0 です。\n"
 "    "
 
+msgid ""
+"warning: inconsistent use of --rev might give unexpected revision ordering!\n"
+msgstr ""
+"警告: 一貫性のない --rev の使用は予期せぬ順序での移植の危険があります!\n"
+
 msgid "can't specify --continue and revisions"
 msgstr "--continue とリビジョンは同時に指定できません"
 
@@ -13948,8 +14486,9 @@
 msgid "grafting %s\n"
 msgstr "%s を移植中\n"
 
-msgid "use hg resolve and hg graft --continue"
-msgstr "'hg resolve' での衝突解消後に、'hg graft --continue'を実行してください"
+#, python-format
+msgid "use hg resolve and hg graft --continue%s"
+msgstr "hg resolve での衝突解消後に hg graft --continue %s を実行してください"
 
 #, python-format
 msgid "note: graft of %d:%s created no changes to commit\n"
@@ -14108,8 +14647,11 @@
 msgid "show topics matching keyword"
 msgstr "キーワードに合致するトピック一覧を表示"
 
-msgid "[-eck] [TOPIC]"
-msgstr "[-eck] [TOPIC]"
+msgid "show help for specific platform(s)"
+msgstr "指定環境に固有のヘルプを表示"
+
+msgid "[-ecks] [TOPIC]"
+msgstr "[-ecks] [TOPIC]"
 
 msgid "show help for a given topic or a help overview"
 msgstr "指定されたトピックのヘルプや、 ヘルプ概要の表示"
@@ -14203,6 +14745,13 @@
 msgid "          hg id -r tip http://selenic.com/hg/"
 msgstr "          hg id -r tip http://selenic.com/hg/"
 
+msgid ""
+"    See :hg:`log` for generating more information about specific revisions,\n"
+"    including full hash identifiers."
+msgstr ""
+"    識別用ハッシュ値等を含む、 特定リビジョンの情報参照に関する詳細は、\n"
+"    :hg:`log` を参照してください。"
+
 msgid "can't query remote revision number, branch, or tags"
 msgstr "リビジョン番号/ブランチ/タグは遠隔問い合わせできません"
 
@@ -14252,18 +14801,35 @@
 "    (--no-commit 指定が無い限り) 個別に行います。"
 
 msgid ""
-"    Because import first applies changes to the working directory,\n"
-"    import will abort if there are outstanding changes."
+"    To read a patch from standard input, use \"-\" as the patch name. If\n"
+"    a URL is specified, the patch will be downloaded from there."
+msgstr ""
+"    標準入力からパッチを取り込むには、 パッチ名に \"-\" を指定します。\n"
+"    URL が指定された場合、 パッチを当該 URL からダウンロードします。"
+
+msgid ""
+"    Import first applies changes to the working directory (unless\n"
+"    --bypass is specified), import will abort if there are outstanding\n"
+"    changes."
 msgstr ""
 "    取り込み作業は作業領域で実施されるため、 未コミット変更がある場合は、\n"
-"    取り込み操作は中断されます。"
+"    取り込み操作は中断されます (--bypass 指定時除く)。"
+
+msgid ""
+"    Use --bypass to apply and commit patches directly to the\n"
+"    repository, without affecting the working directory. Without\n"
+"    --exact, patches will be applied on top of the working directory\n"
+"    parent revision."
+msgstr ""
+"    --bypass 指定時は、 作業領域内容の変更無しに、 履歴に記録します。\n"
+"    --exact 指定が無い場合、 変更は作業領域の親リビジョンに適用されます。"
 
 msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
-"    text/plain body parts before first diff are added to commit\n"
+"    text/plain body parts before first diff are added to the commit\n"
 "    message."
 msgstr ""
 "    添付ファイル形式 (但し text/plain または text/x-patch 型限定)\n"
@@ -14297,13 +14863,27 @@
 "    パッチ内容の欠損などです。"
 
 msgid ""
-"    Use --bypass to apply and commit patches directly to the\n"
-"    repository, not touching the working directory. Without --exact,\n"
-"    patches will be applied on top of the working directory parent\n"
-"    revision."
-msgstr ""
-"    --bypass 指定時は、 作業領域内容の変更無しに、 履歴に記録します。\n"
-"    --exact 指定が無い場合、 変更は作業領域の親リビジョンに適用されます。"
+"    Use --partial to ensure a changeset will be created from the patch\n"
+"    even if some hunks fail to apply. Hunks that fail to apply will be\n"
+"    written to a <target-file>.rej file. Conflicts can then be resolved\n"
+"    by hand before :hg:`commit --amend` is run to update the created\n"
+"    changeset. This flag exists to let people import patches that\n"
+"    partially apply without losing the associated metadata (author,\n"
+"    date, description, ...)."
+msgstr ""
+"    --partial 指定により、 パッチが部分的にしか適用されない場合でも、\n"
+"    新規リビジョンの生成が保証されます。 適用失敗したパッチ部位は、\n"
+"    ``対象ファイル.rej`` ファイルに保存されます。 適用失敗部位の問題を、\n"
+"    手動で解消した上で、 :hg:`commit --amend` で取り込むことも可能です。\n"
+"    --partial には、 パッチに含まれるメタデータ情報 (コミットユーザ名、\n"
+"    日付、 コミットログなど) を失うことを回避する目的があります。"
+
+msgid ""
+"       When no hunks apply cleanly, :hg:`import --partial` will create\n"
+"       an empty changeset, importing only the patch metadata."
+msgstr ""
+"       パッチ適用が完全に失敗した場合でも、 :hg:`import --partial` は、\n"
+"       メタデータのみが記録された、 新規リビジョンを作成します。"
 
 msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
@@ -14313,26 +14893,6 @@
 "    パッチによる変更結果から、 改名や複製を検出します。"
 
 msgid ""
-"    Use --partial to ensure a changeset will be created from the patch\n"
-"    even if some hunks fail to apply. Hunks that fail to apply will be\n"
-"    written to a <target-file>.rej file. Conflicts can then be resolved\n"
-"    by hand before :hg:`commit --amend` is run to update the created\n"
-"    changeset. This flag exists to let people import patches that\n"
-"    partially apply without losing the associated metadata (author,\n"
-"    date, description, ...). Note that when none of the hunk applies\n"
-"    cleanly, :hg:`import --partial` will create an empty changeset,\n"
-"    importing only the patch metadata."
-msgstr ""
-"    --partial 指定により、 パッチが部分的にしか適用されない場合でも、\n"
-"    新規リビジョンの生成が保証されます。 適用失敗したパッチ部位は、\n"
-"    ``対象ファイル.rej`` ファイルに保存されます。 適用失敗部位の問題を、\n"
-"    手動で解消した上で、 :hg:`commit --amend` で取り込むことも可能です。\n"
-"    --partial には、 パッチに含まれるメタデータ情報 (コミットユーザ名、\n"
-"    日付、 コミットログなど) を失うことを回避する目的があります。\n"
-"    パッチ適用が完全に失敗した場合でも、 :hg:`import --partial` は、\n"
-"    メタデータのみが記録された、 新規リビジョンを作成します。"
-
-msgid ""
 "    It is possible to use external patch programs to perform the patch\n"
 "    by setting the ``ui.patch`` configuration option. For the default\n"
 "    internal tool, the fuzz can also be configured via ``patch.fuzz``.\n"
@@ -14344,15 +14904,6 @@
 "    ``patch.fuzz`` 設定により fuzz 挙動を制御可能です。 設定ファイルや、\n"
 "    上記設定項目の詳細に関しては :hg:`help config` を参照してください。"
 
-msgid ""
-"    To read a patch from standard input, use \"-\" as the patch name. If\n"
-"    a URL is specified, the patch will be downloaded from it.\n"
-"    See :hg:`help dates` for a list of formats valid for -d/--date."
-msgstr ""
-"    標準入力からパッチを取り込むには、 パッチ名に \"-\" を指定します。\n"
-"    URL が指定された場合、 パッチを当該 URL からダウンロードします。\n"
-"    -d/--date での日時表記は :hg:`help dates` を参照してください。"
-
 msgid "      - import a traditional patch from a website and detect renames::"
 msgstr "      - ウェブサイトから入手した標準的なパッチの適用と改名の判定::"
 
@@ -14671,27 +15222,26 @@
 "    且つこのマージによって、 履歴が枝分かれしていることを表します。"
 
 msgid ""
-"       log -p/--patch may generate unexpected diff output for merge\n"
+"       :hg:`log --patch` may generate unexpected diff output for merge\n"
 "       changesets, as it will only compare the merge changeset against\n"
 "       its first parent. Also, only files different from BOTH parents\n"
 "       will appear in files:."
 msgstr ""
-"       -p/--patch 指定による差分出力が、 マージ実施リビジョンに対しては、\n"
-"       期待と異なる場合があります。 差分出力の際の比較対象が、\n"
-"       指定リビジョンの第1親に固定されているためです。 ファイル一覧が、\n"
-"       期待と異なる場合もあります。 更新対象ファイル一覧に列挙されるのは、\n"
-"       マージ対象リビジョンの間で、 内容が異なるファイルのみが、\n"
-"       更新対象として列挙されるためです。"
-
-msgid ""
-"       for performance reasons, log FILE may omit duplicate changes\n"
+"       マージ実施リビジョンに対する :hg:`log --patch` 結果が、\n"
+"       期待と異なる場合があるのは、 差分出力の際の比較対象が、\n"
+"       当該リビジョンの第1親に固定されているためです。 また、\n"
+"       更新ファイル一覧に列挙されるのは、 マージ実施リビジョンでの内容が、\n"
+"       両方の親リビジョンのいずれとも異なるファイルのみです。"
+
+msgid ""
+"       For performance reasons, :hg:`log FILE` may omit duplicate changes\n"
 "       made on branches and will not show removals or mode changes. To\n"
 "       see all such changes, use the --removed switch."
 msgstr ""
-"       ファイル名指定付きでの実行では、 複数ブランチ上での同一変更や、\n"
-"       登録除外の実施、 実行モード変更の実施に関するリビジョンは、\n"
-"       性能劣化防止の点から表示されません。 これらの変更を含む、\n"
-"       全リビジョンを表示したい場合は、 --removed を指定してください。"
+"       :hg:`log FILE` 形式での実行時は、 実行性能劣化防止の観点から、\n"
+"       複数ブランチ上での同一変更や、 登録除外、 実行モードのみの変更、\n"
+"       といったリビジョンが、 表示対象から除外される可能性があります。\n"
+"       --removed 指定により、 これらを含む全リビジョンが表示されます。"
 
 msgid "      - changesets with full descriptions and file lists::"
 msgstr "      - 全リビジョンのコミットログとファイル一覧の表示::"
@@ -14731,6 +15281,12 @@
 msgid "          hg log -k bug --template \"{rev}\\n\""
 msgstr "          hg log -k bug --template \"{rev}\\n\""
 
+msgid "      - the full hash identifier of the working directory parent::"
+msgstr "      - 作業領域の親リビジョンの完全ハッシュ値の表示::"
+
+msgid "          hg log -r . --template \"{node}\\n\""
+msgstr "          hg log -r . --template \"{node}\\n\""
+
 msgid "      - list available log templates::"
 msgstr "      - 利用可能なテンプレートスタイル一覧の表示::"
 
@@ -14758,6 +15314,13 @@
 "          hg log -r \"last(tagged())::\" --template \"{desc|firstline}\\n\""
 
 msgid ""
+"    See :hg:`help revisions` and :hg:`help revsets` for more about\n"
+"    specifying and ordering revisions."
+msgstr ""
+"    リビジョン指定の詳細は :hg:`help revisions` および :hg:`help revsets`\n"
+"    を参照してください。"
+
+msgid ""
 "    See :hg:`help templates` for more about pre-packaged styles and\n"
 "    specifying custom templates."
 msgstr ""
@@ -14855,8 +15418,8 @@
 "    且つ現行ブランチがもう1つだけヘッドを持つ場合、 そのヘッドがマージ\n"
 "    対象となります。 それ以外の場合は、 明示的なリビジョン指定が必要です。"
 
-msgid "    :hg:`resolve` must be used to resolve unresolved files."
-msgstr "    衝突未解消なファイルは :hg:`resolve` での衝突解消が必要です。"
+msgid "    See :hg:`help resolve` for information on handling file conflicts."
+msgstr "    衝突の扱いに関する詳細は :hg:`help resolve` を参照してください。"
 
 msgid ""
 "    To undo an uncommitted merge, use :hg:`update --clean .` which\n"
@@ -14970,6 +15533,25 @@
 "    された場合、 (作業領域の親リビジョン、 または --rev 指定のリビジョン\n"
 "    以前のもので)そのファイルを最後に更新したリビジョンを表示します。"
 
+msgid "    This command is equivalent to::"
+msgstr ""
+"    本コマンドは以下と等価です (※ 訳注: 2つ目以降は FILE や `--rev REV`\n"
+"    指定時の挙動に対応します)::"
+
+msgid ""
+"        hg log -r \"p1()+p2()\" or\n"
+"        hg log -r \"p1(REV)+p2(REV)\" or\n"
+"        hg log -r \"max(::p1() and file(FILE))+max(::p2() and file(FILE))\" "
+"or\n"
+"        hg log -r \"max(::p1(REV) and file(FILE))+max(::p2(REV) and file"
+"(FILE))\""
+msgstr ""
+"        hg log -r \"p1()+p2()\"\n"
+"        hg log -r \"p1(REV)+p2(REV)\"\n"
+"        hg log -r \"max(::p1() and file(FILE))+max(::p2() and file(FILE))\"\n"
+"        hg log -r \"max(::p1(REV) and file(FILE))+max(::p2(REV) and file"
+"(FILE))\""
+
 msgid "    See :hg:`summary` and :hg:`help revsets` for related information."
 msgstr ""
 "    関連情報は :hg:`summary` や :hg:`help revsets` を参照してください。"
@@ -15015,10 +15597,7 @@
 "    When ``default-push`` is set, it will be used for push and\n"
 "    ``default`` will be used for pull; otherwise ``default`` is used\n"
 "    as the fallback for both.  When cloning a repository, the clone\n"
-"    source is written as ``default`` in ``.hg/hgrc``.  Note that\n"
-"    ``default`` and ``default-push`` apply to all inbound (e.g.\n"
-"    :hg:`incoming`) and outbound (e.g. :hg:`outgoing`, :hg:`email` and\n"
-"    :hg:`bundle`) operations."
+"    source is written as ``default`` in ``.hg/hgrc``."
 msgstr ""
 "    ``default`` および ``default-push`` は特別な意味を持ちます。\n"
 "    push/pull の際にコマンド行で連携先リポジトリが指定されない場合、\n"
@@ -15026,10 +15605,16 @@
 "    ``default-push`` は :hg:`push` で使用され、 ``default`` は\n"
 "    :hg:`pull` で使用されます。 ``default-push`` が未設定であれば、\n"
 "    push/pull 共に ``default`` を使用します。 リポジトリの複製では、\n"
-"    複製元リポジトリが ``default`` として ``.hg/hgrc`` に記録されます。\n"
-"    ``default`` および ``default-push`` は全ての取り込み (例:\n"
-"    :hg:`incoming`) および反映 (例: :hg:`outgoing` 、 :hg:`email` および\n"
-"    :hg:`bundle`) 操作において適用されます。"
+"    複製元リポジトリが ``default`` として ``.hg/hgrc`` に記録されます。"
+
+msgid ""
+"       ``default`` and ``default-push`` apply to all inbound (e.g.\n"
+"       :hg:`incoming`) and outbound (e.g. :hg:`outgoing`, :hg:`email`\n"
+"       and :hg:`bundle`) operations."
+msgstr ""
+"       ``default`` および ``default-push`` は全ての取り込み (例:\n"
+"       :hg:`incoming`) および反映 (例: :hg:`outgoing` 、 :hg:`email`\n"
+"       および :hg:`bundle`) 操作において適用されます。"
 
 msgid "    See :hg:`help urls` for more information."
 msgstr "    詳細は :hg:`help urls` を参照してください。"
@@ -15105,12 +15690,8 @@
 msgstr "フェーズの変更なし\n"
 
 #, python-format
-msgid "not updating: %s\n"
-msgstr "更新中断: %s\n"
-
-#, python-format
-msgid "(%s)\n"
-msgstr "(%s)\n"
+msgid "not updating: %s"
+msgstr "更新処理を中断: %s"
 
 msgid "(run 'hg heads' to see heads, 'hg merge' to merge)\n"
 msgstr "(ヘッド一覧表示は 'hg heads'、 マージ実施は 'hg merge')\n"
@@ -15225,13 +15806,13 @@
 "    を使用します。 このオプションは、 新規ブランチの作成のみを許可します。"
 
 msgid ""
-"      Extra care should be taken with the -f/--force option,\n"
-"      which will push all new heads on all branches, an action which will\n"
-"      almost always cause confusion for collaborators."
-msgstr ""
-"      -f/--force を指定した場合、 対象ブランチ上の全ヘッドリビジョンが、\n"
-"      連携先に反映されます。 この挙動は多くの場合、 共同作業者の間で、\n"
-"      無用な混乱の原因となりますので、 指定の際には十分な注意が必要です。"
+"       Extra care should be taken with the -f/--force option,\n"
+"       which will push all new heads on all branches, an action which will\n"
+"       almost always cause confusion for collaborators."
+msgstr ""
+"       -f/--force を指定した場合、 対象ブランチ上の全ヘッドリビジョンが、\n"
+"       連携先に反映されます。 この挙動は多くの場合、 共同作業者の間で、\n"
+"       無用な混乱の原因となりますので、 指定の際には十分な注意が必要です。"
 
 msgid ""
 "    If -r/--rev is used, the specified revision and all its ancestors\n"
@@ -15366,12 +15947,11 @@
 "      =============== == == == =="
 
 msgid ""
-"      Note that remove never deletes files in Added [A] state from the\n"
-"      working directory, not even if option --force is specified."
-msgstr ""
-"      作業領域における追加 [A] 状態のファイルに関しては、\n"
-"      --force を指定しなくても、\n"
-"      登録除外操作によって破棄されることはありません。"
+"         :hg:`remove` never deletes files in Added [A] state from the\n"
+"         working directory, not even if ``--force`` is specified."
+msgstr ""
+"         作業領域における追加 [A] 状態のファイルに関しては、\n"
+"         :hg:`remove` が破棄することはありません (--force 指定時含む)"
 
 msgid ""
 "    Returns 0 on success, 1 if any warnings encountered.\n"
@@ -15485,13 +16065,13 @@
 "      ``R`` は解消済み(Resolved)を意味します。"
 
 msgid ""
-"    Note that Mercurial will not let you commit files with unresolved\n"
-"    merge conflicts. You must use :hg:`resolve -m ...` before you can\n"
-"    commit after a conflicting merge."
-msgstr ""
-"    衝突未解消のファイルがある間はコミットできません。\n"
-"    マージにおける衝突解消の際には、 コミット前に\n"
-"    :hg:`resolve -m ...` を実施してください。"
+"       Mercurial will not let you commit files with unresolved merge\n"
+"       conflicts. You must use :hg:`resolve -m ...` before you can\n"
+"       commit after a conflicting merge."
+msgstr ""
+"       衝突未解消のファイルがある間はコミットできません。\n"
+"       マージにおける衝突解消の際には、 コミット前に\n"
+"       :hg:`resolve -m ...` を実施してください。"
 
 msgid ""
 "    Returns 0 on success, 1 if any files fail a resolve attempt.\n"
@@ -15827,10 +16407,6 @@
 msgid "cannot use --stdio with --cmdserver"
 msgstr "--stdio と --cmdserver は併用できません"
 
-#, python-format
-msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
-msgstr "http://%s%s/%s で待ち受け開始(バインド先は %s:%d)\n"
-
 msgid "show status of all files"
 msgstr "全ての状態を表示"
 
@@ -15885,16 +16461,16 @@
 "    が明示的に指定されない限り、 未登録ファイルは表示されません。"
 
 msgid ""
-"       status may appear to disagree with diff if permissions have\n"
+"       :hg:`status` may appear to disagree with diff if permissions have\n"
 "       changed or a merge has occurred. The standard diff format does\n"
 "       not report permission changes and diff only reports changes\n"
 "       relative to one merge parent."
 msgstr ""
-"       権限設定の変更やマージが行われた場合、 状態表示の結果が、\n"
+"       権限設定の変更やマージが行われた場合、 :hg:`status` 結果が、\n"
 "       差分表示から期待される結果とは、 異なる可能性があります。\n"
 "       標準的な差分形式は、 権限変更の情報を含みませんし、\n"
 "       マージ実施リビジョンでの差分表示は、 差分出力の際の比較対象が、\n"
-"       指定リビジョンの第1親に固定されているためです。"
+"       当該リビジョンの第1親に固定されているためです。"
 
 msgid ""
 "    If one revision is given, it is used as the base revision.\n"
@@ -16000,6 +16576,10 @@
 msgstr "ブックマーク:"
 
 #, python-format
+msgid "warning: merge state has unsupported record types: %s\n"
+msgstr "警告: マージ状態記録に未対応の情報が含まれています: %s\n"
+
+#, python-format
 msgid "%d modified"
 msgstr "変更ファイル数 %d"
 
@@ -16035,6 +16615,9 @@
 msgid "%d subrepos"
 msgstr "サブリポジトリ数 %d"
 
+msgid " (graft in progress)"
+msgstr " (graft による移植が未完了です)"
+
 msgid " (interrupted update)"
 msgstr " (作業領域の更新が中断されたままです)"
 
@@ -16065,39 +16648,51 @@
 #. i18n: column positioning for "hg summary"
 #, python-format
 msgid "update: %d new changesets (update)\n"
-msgstr "update 候補:  %d の新規リビジョン(update)\n"
+msgstr "update 候補:  新規リビジョン %d 個 (update)\n"
 
 #. i18n: column positioning for "hg summary"
 #, python-format
 msgid "update: %d new changesets, %d branch heads (merge)\n"
-msgstr "update 候補:  %d 個の新規リビジョン、%d 個のブランチヘッド(merge)\n"
+msgstr "update 候補:  新規リビジョン %d 個、ブランチヘッド %d 個 (merge)\n"
 
 #, python-format
 msgid "%d draft"
-msgstr "%d draft リビジョン"
+msgstr "draft リビジョン %d 個"
 
 #, python-format
 msgid "%d secret"
-msgstr "%d secret リビジョン"
+msgstr "secret リビジョン %d 個"
 
 #, python-format
 msgid "phases: %s\n"
 msgstr "フェーズ:     %s\n"
 
+#, python-format
+msgid "unstable: %d changesets"
+msgstr "unstable リビジョン: %d 個"
+
+#, python-format
+msgid "divergent: %d changesets"
+msgstr "divergent リビジョン: %d 個"
+
+#, python-format
+msgid "bumped: %d changesets"
+msgstr "bumped リビジョン: %d 個"
+
 msgid "1 or more incoming"
 msgstr "取り込み候補リビジョンあり"
 
 #, python-format
 msgid "%d outgoing"
-msgstr "%d 個の反映候補リビジョン"
+msgstr "反映候補リビジョン %d 個"
 
 #, python-format
 msgid "%d incoming bookmarks"
-msgstr "%d 個の取り込み候補ブックマーク"
+msgstr "取り込み候補ブックマーク %d 個"
 
 #, python-format
 msgid "%d outgoing bookmarks"
-msgstr "%d 個の反映候補ブックマーク"
+msgstr "反映候補ブックマーク %d 個"
 
 #. i18n: column positioning for "hg summary"
 #, python-format
@@ -16221,11 +16816,12 @@
 
 msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
-"    switch is used, a third column \"local\" is printed for local tags."
+"    switch is used, a third column \"local\" is printed for local tags.\n"
+"    When the -q/--quiet switch is used, only the tag name is printed."
 msgstr ""
 "    本コマンドは、 通常のタグおよびローカルタグの両方を一覧表示します。\n"
 "    -v/--verbose が指定された場合、 ローカルタグには \"local\" 表示の\n"
-"    第3のカラムが追加されます。"
+"    第3のカラムが追加されます。 -q/--quiet 指定時はタグ名のみ表示します。"
 
 msgid "[-p] [-g]"
 msgstr "[-p] [-g]"
@@ -16437,11 +17033,11 @@
 msgstr "(詳細は https://mercurial-scm.org を参照)"
 
 msgid ""
-"Copyright (C) 2005-2015 Matt Mackall and others\n"
+"Copyright (C) 2005-2016 Matt Mackall and others\n"
 "This is free software; see the source for copying conditions. There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
-"Copyright (C) 2005-2015 Matt Mackall 他\n"
+"Copyright (C) 2005-2016 Matt Mackall 他\n"
 "本製品はフリーソフトウェアです。\n"
 "頒布条件に関しては同梱されるライセンス条項をお読みください。\n"
 "市場適合性や特定用途への可否を含め、 本製品は無保証です。\n"
@@ -16457,10 +17053,6 @@
 msgid "unknown command %s"
 msgstr "未知のコマンド %s"
 
-#, python-format
-msgid "abort: %s\n"
-msgstr "中止: %s\n"
-
 msgid "unsupported platform"
 msgstr "未サポートな環境です"
 
@@ -16763,6 +17355,14 @@
 msgstr "以下の新しいヘッドが連携先のブランチ '%s' に作成されます:\n"
 
 #, python-format
+msgid "(did you mean %s?)\n"
+msgstr "(推測される候補: %s)\n"
+
+#, python-format
+msgid "(did you mean one of %s?)\n"
+msgstr "(推測される候補: %s)\n"
+
+#, python-format
 msgid "hg: parse error at %s: %s\n"
 msgstr "hg: %s での解析エラー: %s\n"
 
@@ -16774,12 +17374,8 @@
 msgstr "hg: 解析エラー: %s\n"
 
 #, python-format
-msgid "(did you mean %r?)\n"
-msgstr "(推測される候補: %r)\n"
-
-#, python-format
-msgid "(did you mean one of %s?)\n"
-msgstr "(推測される候補: %s)\n"
+msgid "(%s)\n"
+msgstr "(%s)\n"
 
 msgid "entering debugger - type c to continue starting hg or h for help\n"
 msgstr "デバッガ動作開始 - 継続なら c 、 ヘルプなら h を入力してください\n"
@@ -17003,11 +17599,22 @@
 msgid "unrecognized profiler '%s' - ignored\n"
 msgstr "不正なプロファイラ指定 '%s' を無視します\n"
 
+msgid "response expected"
+msgstr "何らかの入力が必要です"
+
 #, python-format
 msgid "unknown identifier: %s"
 msgstr "未知の識別子: %s"
 
 #, python-format
+msgid "unsupported merge state records: %s"
+msgstr "マージ状態記録に未対応の情報が含まれています: %s"
+
+msgid ""
+"see https://mercurial-scm.org/wiki/MergeStateRecords for more information"
+msgstr "詳細は https://mercurial-scm.org/wiki/MergeStateRecords 参照"
+
+#, python-format
 msgid "invalid bundle specification: missing \"=\" in parameter: %s"
 msgstr "不正な bundle 仕様: パラメータ中に \"=\" がありません: %s"
 
@@ -17040,6 +17647,24 @@
 msgstr "%s: 未知のバンドル形式バージョン %s"
 
 #, python-format
+msgid "unknown compression algorithm: %s"
+msgstr "未知の圧縮形式: %s"
+
+#, python-format
+msgid "changegroup version %s does not have a known bundlespec"
+msgstr "バンドルデータ形式のバージョン %s は未知のものです"
+
+msgid "try upgrading your Mercurial client"
+msgstr "Mercurial コマンドをアップグレードしてください"
+
+msgid "could not identify changegroup version in bundle"
+msgstr "バンドルデータにバージョン情報がありません"
+
+#, python-format
+msgid "unknown bundle type: %s"
+msgstr "未知のバンドル形式: %s"
+
+#, python-format
 msgid "updating bookmark %s failed!\n"
 msgstr "ブックマーク %s の更新に失敗!\n"
 
@@ -17156,11 +17781,10 @@
 
 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 用バンドルの使用を無効化し"
-"てください"
+"clone bundles via \"--config ui.clonebundles=false\""
+msgstr ""
+"このエラーが継続発生する場合、サーバ管理者に連絡するか、\"--config ui."
+"clonebundles=false\" 設定により clone 用バンドルの使用を無効化してください"
 
 #, python-format
 msgid "HTTP error fetching bundle: %s\n"
@@ -17171,6 +17795,14 @@
 msgstr "バンドルファイル取得に失敗: %s\n"
 
 #, python-format
+msgid ""
+"(third party extension %s requires version %s or newer of Mercurial; "
+"disabling)\n"
+msgstr ""
+"(バージョン %s 以降の Mercurial が必要なサードパーティ製エクステンション %s "
+"を無効化します)\n"
+
+#, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
 msgstr "*** %s のインポートに失敗 (%s): %s\n"
 
@@ -17216,12 +17848,33 @@
 
 #, python-format
 msgid ""
-" no tool found to merge %s\n"
-"keep (l)ocal or take (o)ther?$$ &Local $$ &Other"
-msgstr ""
-" %s のマージに適切なツールが見つかりません。\n"
-"作業領域:(l)ocal とマージ対象:(o)ther のどちらの内容を採用しますか?$$ "
-"&Local $$ &Other"
+"local changed %s which remote deleted\n"
+"use (c)hanged version, (d)elete, or leave (u)nresolved?$$ &Changed $$ "
+"&Delete $$ &Unresolved"
+msgstr ""
+"変更したファイル %s が、マージ対象リビジョンで登録除外されています。\n"
+"変更:(c)hanged、登録除外:(d)elete、衝突未解消:(u)nresolved のいずれを採用しま"
+"すか?$$ &Changed $$ &Delete $$ &Unresolved"
+
+#, python-format
+msgid ""
+"remote changed %s which local deleted\n"
+"use (c)hanged version, leave (d)eleted, or leave (u)nresolved?$$ &Changed $$ "
+"&Deleted $$ &Unresolved"
+msgstr ""
+"登録除外済みのファイル %s が、マージ対象リビジョンで変更されています。\n"
+"変更:(c)hanged、登録除外:(d)elete、衝突未解消:(u)nresolved のいずれを採用しま"
+"すか?$$ &Changed $$ &Delete $$ &Unresolved"
+
+#, python-format
+msgid ""
+"no tool found to merge %s\n"
+"keep (l)ocal, take (o)ther, or leave (u)nresolved?$$ &Local $$ &Other $$ "
+"&Unresolved"
+msgstr ""
+"ファイル %s のマージに適切なツールが見つかりません。\n"
+"作業領域:(l)ocal、マージ対象:(o)ther、衝突未解消:(u)nresolved のいずれを採用"
+"しますか?$$ &Local $$ &Other $$ &Unresolved"
 
 msgid ""
 "``:local``\n"
@@ -17250,12 +17903,16 @@
 
 #, python-format
 msgid "%s.premerge not valid ('%s' is neither boolean nor %s)"
-msgstr "%s.premerge は無効です('%s' は真偽または %s のいずれでもありません)"
+msgstr "%s.premerge は無効です (指定値: '%s' 指定可能値: 'true', 'false', %s)"
 
 #, python-format
 msgid "warning: internal %s cannot merge symlinks for %s\n"
 msgstr "警告: 内部ツール %s はシンボリックリンク %s をマージできません\n"
 
+#, python-format
+msgid "warning: internal %s cannot merge change/delete conflict for %s\n"
+msgstr "警告: 内部ツール %s は %s への変更と登録除外をマージできません\n"
+
 msgid ""
 "``:union``\n"
 "Uses the internal non-interactive simple merge algorithm for merging\n"
@@ -17264,7 +17921,7 @@
 msgstr ""
 "``:union``\n"
 "非対話的な、 単純なマージ処理を実施します。 衝突があった場合、\n"
-"   両方の変更内容が取り込まれます。 衝突マークは記録されません。"
+"    両方の変更内容が取り込まれます。 衝突マークは記録されません。"
 
 #, python-format
 msgid ""
@@ -17282,9 +17939,9 @@
 msgstr ""
 "``:merge``\n"
 "非対話的な、 単純なマージ処理を実施します。\n"
-"   衝突があった場合、 マージ処理は失敗とみなされますが、\n"
-"   マージ結果ファイルには、 衝突マークが記録されます。\n"
-"   マージ対象の2つのリビジョンが、 衝突情報として記録されます。"
+"    衝突があった場合、 マージ処理は失敗とみなされますが、\n"
+"    マージ結果ファイルには、 衝突マークが記録されます。\n"
+"    マージ対象の2つのリビジョンが、 衝突情報として記録されます。"
 
 msgid ""
 "``:merge3``\n"
@@ -17296,14 +17953,10 @@
 msgstr ""
 "``:merge3``\n"
 "非対話的な、 単純なマージ処理を実施します。\n"
-"   衝突があった場合、 マージ処理は失敗とみなされますが、\n"
-"   マージ結果ファイルには、 衝突マークが記録されます。\n"
-"   マージ対象の2つのリビジョンに加えて、 共通祖先の情報が、\n"
-"   衝突情報として記録されます。"
-
-#, python-format
-msgid "warning: :merge-%s cannot merge symlinks for %s\n"
-msgstr "警告: :merge-%s はシンボリックリンク %s をマージできません\n"
+"    衝突があった場合、 マージ処理は失敗とみなされますが、\n"
+"    マージ結果ファイルには、 衝突マークが記録されます。\n"
+"    マージ対象の2つのリビジョンに加えて、 共通祖先の情報が、\n"
+"    衝突情報として記録されます。"
 
 msgid ""
 "``:merge-local``\n"
@@ -17349,12 +18002,16 @@
 msgstr ""
 "``:dump``\n"
 "作業領域側、 マージ対象リビジョン側、 および共通祖先時点の、\n"
-"   それぞれの内容を持つ3つのファイルを生成します。\n"
-"   これらのファイルは、事後の手動マージ等で使用してください。\n"
-"   対象ファイル名が ``a.txt`` であった場合、\n"
-"   生成されるファイルはそれぞれ ``a.txt.local``, ``a.txt.other``\n"
-"   および ``a.txt.base`` と命名され、\n"
-"   ``a.txt`` と同じディレクトリに格納されます。"
+"    それぞれの内容を持つ3つのファイルを生成します。\n"
+"    これらのファイルは、事後の手動マージ等で使用してください。\n"
+"    対象ファイル名が ``a.txt`` であった場合、\n"
+"    生成されるファイルはそれぞれ ``a.txt.local``, ``a.txt.other``\n"
+"    および ``a.txt.base`` と命名され、\n"
+"    ``a.txt`` と同じディレクトリに格納されます。"
+
+#, python-format
+msgid "warning: %s cannot merge change/delete conflict for %s\n"
+msgstr "警告: マージツール %s は %s への変更と登録除外をマージできません\n"
 
 #, python-format
 msgid "merging %s failed!\n"
@@ -17395,6 +18052,9 @@
 msgid "can't use a list in this context"
 msgstr "ここではリストを使用できません"
 
+msgid "see hg help \"filesets.x or y\""
+msgstr "hg help \"filesets.x or y\" を参照してください"
+
 msgid ""
 "``modified()``\n"
 "    File that is modified according to :hg:`status`."
@@ -17430,16 +18090,27 @@
 
 msgid ""
 "``deleted()``\n"
-"    File that is deleted according to :hg:`status`."
+"    Alias for ``missing()``."
 msgstr ""
 "``deleted()``\n"
-"    :hg:`status` で不在状態を持つファイル (※ 訳注: 作業領域でのみ有効)"
+"    ``missing()`` の別名。"
 
 #. i18n: "deleted" is a keyword
 msgid "deleted takes no arguments"
 msgstr "deleted には引数が指定できません"
 
 msgid ""
+"``missing()``\n"
+"    File that is missing according to :hg:`status`."
+msgstr ""
+"``missing()``\n"
+"    :hg:`status` で不在状態を持つファイル (※ 訳注: 作業領域参照時限定)"
+
+#. i18n: "missing" is a keyword
+msgid "missing takes no arguments"
+msgstr "missing には引数が指定できません"
+
+msgid ""
 "``unknown()``\n"
 "    File that is unknown according to :hg:`status`. These files will only "
 "be\n"
@@ -17717,6 +18388,15 @@
 msgid " ([+] can be repeated)"
 msgstr " ([+] 印付きのオプションは複数回指定可能です)"
 
+msgid "container for exchange of repository data"
+msgstr "履歴情報授受のためのデータ形式"
+
+msgid "representation of revlog data"
+msgstr "revlog データの表現形式"
+
+msgid "revision storage mechanism"
+msgstr "履歴情報格納形式"
+
 msgid "Configuration Files"
 msgstr "設定ファイル"
 
@@ -17774,6 +18454,9 @@
 msgid "Using Mercurial from scripts and automation"
 msgstr "スクリプトや自動化での Mercurial 利用"
 
+msgid "Technical implementation topics"
+msgstr "実装上の技術情報"
+
 #, python-format
 msgid ""
 "\n"
@@ -17977,11 +18660,11 @@
 "を参照してください。"
 
 msgid ""
-"Format\n"
-"======"
-msgstr ""
-"記述形式\n"
-"========"
+"Structure\n"
+"========="
+msgstr ""
+"ファイル内構造\n"
+"=============="
 
 msgid ""
 "The configuration files use a simple ini-file format. A configuration\n"
@@ -18019,18 +18702,24 @@
 msgid ""
 "Mercurial reads configuration data from several files, if they exist.\n"
 "These files do not exist by default and you will have to create the\n"
-"appropriate configuration files yourself: global configuration like\n"
-"the username setting is typically put into\n"
-"``%USERPROFILE%\\mercurial.ini`` or ``$HOME/.hgrc`` and local\n"
-"configuration is put into the per-repository ``<repo>/.hg/hgrc`` file."
+"appropriate configuration files yourself:"
 msgstr ""
 "Mercurial は複数のファイルから設定情報を読み込みます。\n"
 "読み込み対象となるファイルは、 事前に存在しませんので、\n"
-"適切な位置にファイルを作成するのは、 利用者の責任となります。\n"
-"ユーザ名設定のような、 広範囲に渡る設定は、\n"
-"``%USERPROFILE%\\mercurial.ini`` や ``$HOME/.hgrc`` に、\n"
-"もっと狭い範囲に関する設定は、 各リポジトリ毎の ``<リポジトリ>/.hg/hgrc``\n"
-"において記述するのが一般的です。"
+"適切な位置にファイルを作成するのは、 利用者の責任となります:"
+
+msgid ""
+"Local configuration is put into the per-repository ``<repo>/.hg/hgrc`` file."
+msgstr "リポジトリ毎の局所的な設定は ``<リポジトリ>/.hg/hgrc`` に記述します。"
+
+msgid "Global configuration like the username setting is typically put into:"
+msgstr "「ユーザ名」のような、 広範囲で有効な設定は、 以下で記述します:"
+
+msgid "  ``%USERPROFILE%\\mercurial.ini``"
+msgstr "  ``%USERPROFILE%\\mercurial.ini``"
+
+msgid "  ``$HOME/.hgrc``"
+msgstr "  ``$HOME/.hgrc``"
 
 msgid ""
 "The names of these files depend on the system on which Mercurial is\n"
@@ -18066,7 +18755,7 @@
 "  - ``<パッケージ固有>/default.d/*.rc`` (デフォルト設定)"
 
 msgid "  On Windows, the following files are consulted:"
-msgstr "  Windows 環境では、 以下のファイルが読み込まれます:"
+msgstr "  Windows 環境では、 以下のファイルが読み込まれます:"
 
 msgid ""
 "  - ``<repo>/.hg/hgrc`` (per-repository)\n"
@@ -18098,6 +18787,10 @@
 "   ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Mercurial``\n"
 "   レジストリキーが使用されます。"
 
+msgid "  On Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``."
+msgstr ""
+"  Windows 9x 環境では ``%HOME%`` の代わりに ``%APPDATA%`` を使用します。"
+
 msgid "  On Plan9, the following files are consulted:"
 msgstr "  Plan9 環境では、 以下のファイルが読み込まれます:"
 
@@ -18122,43 +18815,49 @@
 "Per-repository configuration options only apply in a\n"
 "particular repository. This file is not version-controlled, and\n"
 "will not get transferred during a \"clone\" operation. Options in\n"
-"this file override options in all other configuration files. On\n"
-"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\n"
-":hg:`help config.trusted` for more details."
+"this file override options in all other configuration files."
 msgstr ""
 "リポジトリ毎設定は、 対象リポジトリに関する実行でのみ適用されます。\n"
 "このファイルは、 履歴管理の対象外であり、 :hg:`clone` でも複製されません。\n"
-"ここでの設定は、 他の全ての設定に優先します。 Plan9 や Unix 環境では、\n"
-"設定ファイルの所有者やグループが、 信頼できるユーザやグループでない場合、\n"
-"設定内容の大半が無視されます。 詳細は :hg:`help config.trusted`\n"
-"を参照してください。"
-
-msgid ""
-"Per-user configuration file(s) are for the user running Mercurial. On\n"
-"Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these\n"
-"files apply to all Mercurial commands executed by this user in any\n"
+"ここでの設定は、 他の全ての設定に優先します。"
+
+msgid ""
+"  On 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\n"
+"  :hg:`help config.trusted` for more details."
+msgstr ""
+"  Plan9 や Unix 環境では、 設定ファイルの所有者やグループが、\n"
+"  信頼できるユーザやグループでない場合、 設定内容の大半が無視されます。\n"
+"  詳細は :hg:`help config.trusted` を参照してください。"
+
+msgid ""
+"Per-user configuration file(s) are for the user running Mercurial.  Options\n"
+"in these files apply to all Mercurial commands executed by this user in any\n"
 "directory. Options in these files override per-system and per-installation\n"
 "options."
 msgstr ""
-"ユーザ毎設定は、 Mercurial コマンドを実行するユーザに対する設定です。\n"
-"Windows 9x 環境での ``%HOME%`` は ``%APPDATA%`` に相当します。\n"
+"ユーザ毎設定は、 Mercurial コマンドを実行するユーザ毎の設定です。\n"
 "ここでの設定は、 当該ユーザの Mercurial コマンド実行全てに適用されます。\n"
 "ユーザ毎設定は、システム毎/インストール毎の設定に優先します。"
 
 msgid ""
 "Per-installation configuration files are searched for in the\n"
 "directory where Mercurial is installed. ``<install-root>`` is the\n"
-"parent directory of the **hg** executable (or symlink) being run. For\n"
-"example, if installed in ``/shared/tools/bin/hg``, Mercurial will look\n"
-"in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply\n"
-"to all Mercurial commands executed by any user in any directory."
+"parent directory of the **hg** executable (or symlink) being run."
 msgstr ""
 "インストール毎設定は、 Mercurial のインストール先から読み込まれます。\n"
 "実行される ``hg`` コマンド格納先の親ディレクトリを ``<インストール先>``\n"
-"とみなします。 例えば ``/shared/tools/bin/hg`` が実行される場合、\n"
-"``/shared/tools/etc/mercurial/hgrc``  が読み込まれます。 ここでの設定は、\n"
-"実行ユーザ/対象リポジトリに関わらず適用されます。"
+"とみなします。"
+
+msgid ""
+"  For example, if installed in ``/shared/tools/bin/hg``, Mercurial\n"
+"  will look in ``/shared/tools/etc/mercurial/hgrc``. Options in these\n"
+"  files apply to all Mercurial commands executed by any user in any\n"
+"  directory."
+msgstr ""
+"  例えば ``/shared/tools/bin/hg`` が実行される場合、\n"
+"  ``/shared/tools/etc/mercurial/hgrc`` から読み込まれます。\n"
+"  ここでの設定は、 実行ユーザ/対象リポジトリに関わらず適用されます。"
 
 msgid ""
 "Per-installation configuration files are for the system on\n"
@@ -18408,7 +19107,7 @@
 "keys, and their possible values."
 msgstr ""
 "Mercurial の設定ファイルで記述可能な各セクション毎の、\n"
-"用途、 設定キー、 および設定可能な値について以下で述べます。"
+"用途、 設定キー、 および設定可能な値について以下で述べます。"
 
 msgid ""
 "``alias``\n"
@@ -18973,7 +19672,7 @@
 msgstr ""
 "フィルタは、 フィルタコマンドを伴ったフィルタパターンで指定されます。\n"
 "デフォルトのパターン指定形式は、 作業領域ルートからの相対パスに対して、\n"
-"パス先頭からのパターン合致で判定する、 ワイルドカード形式 (glob) です。\n"
+"パス先頭からのパターン合致で判定する、 ワイルドカード形式 (glob) です。\n"
 "例えば、 ルート直下の ``.txt`` 拡張子のファイルにのみ合致させるパターンは\n"
 "``*.txt`` となります。 作業領域中の ``.c`` 拡張子の全ファイルへの合致は、\n"
 "``**.c`` となります。 それぞれのファイルに適用されるフィルタは、\n"
@@ -19031,13 +19730,13 @@
 "それぞれ置換されます。"
 
 msgid ""
-"   The tempfile mechanism is recommended for Windows systems,\n"
-"   where the standard shell I/O redirection operators often have\n"
-"   strange effects and may corrupt the contents of your files."
-msgstr ""
-"   標準的なシェルの I/O リダイレクトが、 予期せぬ結果や、\n"
-"   ファイル内容の破壊に繋がる  Windows のような環境では、\n"
-"   tempfile 機構の使用がお勧めです。"
+"     The tempfile mechanism is recommended for Windows systems,\n"
+"     where the standard shell I/O redirection operators often have\n"
+"     strange effects and may corrupt the contents of your files."
+msgstr ""
+"     標準的なシェルの I/O リダイレクトが、 予期せぬ結果や、\n"
+"     ファイル内容の破壊に繋がる  Windows のような環境では、\n"
+"     tempfile 機構の使用がお勧めです。"
 
 msgid ""
 "This filter mechanism is used internally by the ``eol`` extension to\n"
@@ -19336,56 +20035,78 @@
 "----------"
 
 msgid ""
-"``usestore``\n"
-"    Enable or disable the \"store\" repository format which improves\n"
-"    compatibility with systems that fold case or otherwise mangle\n"
-"    filenames. Enabled by default. Disabling this option will allow\n"
-"    you to store longer filenames in some situations at the expense of\n"
-"    compatibility and ensures that the on-disk format of newly created\n"
-"    repositories will be compatible with Mercurial before version 0.9.4."
-msgstr ""
-"``usestore``\n"
-"    ファイル名の文字大小を認識しないようなファイルシステムへの、\n"
-"    適応性を向上させる、 \"store\" 形式リポジトリの使用可否。\n"
-"    デフォルトでは有効化されています。 この設定を無効化した場合、\n"
-"    新規作成したリポジトリは、 0.9.4 以前の Mercurial と、\n"
-"    ディスク記録形式で互換性が保たれますが、 状況次第では、\n"
-"    長いファイル名での保存が必要になります。"
+"``usegeneraldelta``\n"
+"    Enable or disable the \"generaldelta\" repository format which improves\n"
+"    repository compression by allowing \"revlog\" to store delta against "
+"arbitrary\n"
+"    revision instead of the previous stored one. This provides significant\n"
+"    improvement for repositories with branches."
+msgstr ""
+"``usegeneraldelta``\n"
+"    \"generaldelta\" 形式リポジトリの使用可否。 この形式では、\n"
+"    \"revlog\" での格納の際に、 任意の対象との差分の記録を許すことで、\n"
+"    データ量の圧縮率を向上させることができます。 ブランチが多い場合に、\n"
+"    この形式の効果が発揮されます。"
+
+msgid ""
+"    Repositories with this on-disk format require Mercurial version 1.9."
+msgstr "    この形式の利用には Mercurial 1.9 以降が必要です。"
+
+msgid "    Enabled by default."
+msgstr "    特に指定がない場合は有効化されます。"
+
+msgid ""
+"``dotencode``\n"
+"    Enable or disable the \"dotencode\" repository format which enhances\n"
+"    the \"fncache\" repository format (which has to be enabled to use\n"
+"    dotencode) to avoid issues with filenames starting with ._ on\n"
+"    Mac OS X and spaces on Windows."
+msgstr ""
+"``dotencode``\n"
+"    \"dotencode\" 形式リポジトリの使用可否。 この形式では、\n"
+"    特定の環境で問題を生じる ``._`` (Mac OS X) や空白文字 (Windows)\n"
+"    で始まるファイル名の履歴が、 どの環境でも正しく格納できるように、\n"
+"    \"fncache\" 形式 (本設定の有効化に必須) を拡張します。"
+
+msgid ""
+"    Repositories with this on-disk format require Mercurial version 1.7."
+msgstr "    この形式の利用には Mercurial 1.7 以降が必要です。"
 
 msgid ""
 "``usefncache``\n"
 "    Enable or disable the \"fncache\" repository format which enhances\n"
 "    the \"store\" repository format (which has to be enabled to use\n"
 "    fncache) to allow longer filenames and avoids using Windows\n"
-"    reserved names, e.g. \"nul\". Enabled by default. Disabling this\n"
-"    option ensures that the on-disk format of newly created\n"
-"    repositories will be compatible with Mercurial before version 1.1."
+"    reserved names, e.g. \"nul\"."
 msgstr ""
 "``usefncache``\n"
-"    \"store\" 形式リポジトリ (本設定の有効化に必須) において、\n"
-"    長いファイル名を使用するための機能向上や、 \"nul\" のような Windows\n"
-"    予約名利用を回避可能にする、 \"fncache\"\n"
-"    形式リポジトリの使用可否。\n"
-"    デフォルトでは有効化されています。 この設定を無効化した場合、\n"
-"    新規作成したリポジトリは、 1.1 以前の Mercurial と、\n"
-"    ディスク記録形式で互換性が保たれます。"
-
-msgid ""
-"``dotencode``\n"
-"    Enable or disable the \"dotencode\" repository format which enhances\n"
-"    the \"fncache\" repository format (which has to be enabled to use\n"
-"    dotencode) to avoid issues with filenames starting with ._ on\n"
-"    Mac OS X and spaces on Windows. Enabled by default. Disabling this\n"
-"    option ensures that the on-disk format of newly created\n"
-"    repositories will be compatible with Mercurial before version 1.7."
-msgstr ""
-"``dotencode``\n"
-"    \"fncache\" 形式リポジトリ (本設定の有効化に必須) において、\n"
-"    Mac OS X では ``._``  、Windows では空白文字で始まるファイル名が、\n"
-"    原因となって発生する問題を、 回避するための  \"dotencode\"\n"
-"    形式リポジトリの使用可否。 デフォルトでは有効化されています。\n"
-"    この設定を無効化した場合、 新規作成したリポジトリは、 1.7 以前の\n"
-"    Mercurial と、 ディスク記録形式で互換性が保たれます。"
+"    \"fncache\" 形式リポジトリの使用可否。 この形式では、\n"
+"    長いファイル名や、 特定の OS の予約名 (Windows での \"nul\")\n"
+"    と同名のファイルの履歴が、 どの環境でも正しく格納できるように、\n"
+"    \"store\" 形式 (本設定の有効化に必須) を拡張します。"
+
+msgid ""
+"    Repositories with this on-disk format require Mercurial version 1.1."
+msgstr "    この形式の利用には Mercurial 1.1 以降が必要です。"
+
+msgid ""
+"``usestore``\n"
+"    Enable or disable the \"store\" repository format which improves\n"
+"    compatibility with systems that fold case or otherwise mangle\n"
+"    filenames. Disabling this option will allow you to store longer "
+"filenames\n"
+"    in some situations at the expense of compatibility."
+msgstr ""
+"``usestore``\n"
+"    \"store\" 形式リポジトリの使用可否。 この形式では、\n"
+"    管理対象のファイル名が、 文字大小違いでお互いに衝突する場合に、\n"
+"    どの環境でも履歴が正しく格納できるように、 格納形式を拡張します。\n"
+"    本形式を無効化した場合、 異環境との相互運用性を犠牲にする代わりに、\n"
+"    有効化時よりも長いファイル名を、 管理対象にできるようになります。"
+
+msgid ""
+"    Repositories with this on-disk format require Mercurial version 0.9.4."
+msgstr "    この形式の利用には Mercurial 0.9.4 以降が必要です。"
 
 msgid ""
 "``graph``\n"
@@ -19450,7 +20171,7 @@
 "hooks can be run for the same action by appending a suffix to the\n"
 "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"
+"by adding a prefix of ``priority.`` to the hook name on a new line\n"
 "and setting the priority. The default priority is 0."
 msgstr ""
 "commit の開始/終了といった様々な処理契機において、\n"
@@ -19459,7 +20180,7 @@
 "同一処理契機に複数のフックを実行可能です。\n"
 "先に読み込まれた設定 (例: ホスト毎設定) におけるフック設定は、\n"
 "別な値を設定するか、 空値の設定により、 上書き可能です。\n"
-"フック名の前に ``priority`` を追加した設定値を新たに定義し、\n"
+"フック名の前に ``priority.`` 接頭辞を追加した設定値を新たに定義し、\n"
 "値を設定することで、 フック実行の優先度を設定できます。\n"
 "デフォルトの優先度設定値は 0 です。\n"
 "(※ 訳注: 優先度値が大きいフックの方が先に実行されます)"
@@ -19499,15 +20220,16 @@
 
 msgid ""
 "``changegroup``\n"
-"  Run after a changegroup has been added via push, pull or unbundle.\n"
-"  ID of the first new changeset is in ``$HG_NODE``. URL from which\n"
-"  changes came is in ``$HG_URL``."
+"  Run after a changegroup has been added via push, pull or unbundle.  ID of "
+"the\n"
+"  first new changeset is in ``$HG_NODE`` and last in ``$HG_NODE_LAST``. URL\n"
+"  from which changes came is in ``$HG_URL``."
 msgstr ""
 "``changegroup``\n"
 "  push、 pull、 unbundle によるリビジョン群の追加完了時に実行されます。\n"
-"  新規追加リビジョン群の最初の ID が ``$HG_NODE`` に、\n"
-"  追加リビジョン群の取り込み元 URL が ``$HG_URL`` に設定されます。\n"
-"  (※ 訳注: 複数リビジョン一括追加時の ``changegroup``\n"
+"  新規追加リビジョン群の最初の ID が ``$HG_NODE`` に、 最後の ID が\n"
+"  ``$HG_NODE_LAST`` に設定されます。 取り込み元 URL が ``$HG_URL``\n"
+"  に設定されます。 (※ 訳注: 複数リビジョン一括追加時の ``changegroup``\n"
 "  フック実行は1回ですが、 ``incoming`` フックはリビジョン毎に実行されます)"
 
 msgid ""
@@ -19573,7 +20295,7 @@
 "  command line are passed as ``$HG_ARGS``. Parsed command line arguments\n"
 "  are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string\n"
 "  representations of the data internally passed to <command>. ``$HG_OPTS``\n"
-"  is a  dictionary of options (with unspecified options set to their\n"
+"  is a dictionary of options (with unspecified options set to their\n"
 "  defaults). ``$HG_PATS`` is a list of arguments. If the hook returns\n"
 "  failure, the command doesn't execute and Mercurial returns the failure\n"
 "  code."
@@ -19697,29 +20419,37 @@
 
 msgid ""
 "``pretxnclose``\n"
-"  Run right before the transaction is actually finalized. Any\n"
-"  repository change will be visible to the hook program. This lets you\n"
-"  validate the transaction content or change it. Exit status 0 allows\n"
-"  the commit to proceed. Non-zero status will cause the transaction to\n"
-"  be rolled back. The reason for the transaction opening will be in\n"
-"  ``$HG_TXNNAME`` and a unique identifier for the transaction will be in\n"
-"  ``HG_TXNID``. The rest of the available data will vary according the\n"
-"  transaction type. New changesets will add ``$HG_NODE`` (id of the\n"
-"  first added changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables,\n"
-"  bookmarks and phases changes will set ``HG_BOOKMARK_MOVED`` and\n"
-"  ``HG_PHASES_MOVED`` to ``1``, etc."
+"  Run right before the transaction is actually finalized. Any repository "
+"change\n"
+"  will be visible to the hook program. This lets you validate the "
+"transaction\n"
+"  content or change it. Exit status 0 allows the commit to proceed. Non-"
+"zero\n"
+"  status will cause the transaction to be rolled back. The reason for the\n"
+"  transaction opening will be in ``$HG_TXNNAME`` and a unique identifier "
+"for\n"
+"  the transaction will be in ``HG_TXNID``. The rest of the available data "
+"will\n"
+"  vary according the transaction type. New changesets will add ``$HG_NODE`` "
+"(id\n"
+"  of the first added changeset), ``$HG_NODE_LAST`` (id of the last added\n"
+"  changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables, bookmarks and "
+"phases\n"
+"  changes will set ``HG_BOOKMARK_MOVED`` and ``HG_PHASES_MOVED`` to ``1``, "
+"etc."
 msgstr ""
 "``pretxnclose``\n"
-"  トランザクション完了直前に実行されます。 適用予定の全ての履歴変更が、\n"
+"  トランザクション完了直前に実行されます。 完了時の記録内容の全てを、\n"
 "  フックから参照できます。 トランザクション内容の検証や変更が可能です。\n"
 "  終了コードが 0 の場合、 トランザクション完了処理が継続されます。\n"
 "  それ以外の場合、 トランザクションはロールバックされます。\n"
 "  トランザクション種別が ``$HG_TXNNAME`` に、 一意な識別子が ``HG_TXNID``\n"
 "  に設定されます。 それ以外の情報は、 トランザクション種別に依存します。\n"
 "  例えば、 新規リビジョン群を追加するトランザクションの場合、 ``$HG_NODE``\n"
-"  (追加リビジョン群の最初のものの ID)、 ``$HG_URL`` および ``$HG_SOURCE``\n"
-"  が設定されます。 ブックマークやフェーズの変更の場合、\n"
-"  ``HG_BOOKMARK_MOVED`` や ``HG_PHASES_MOVED`` に ``1`` が設定されます。"
+"  (追加リビジョン群の最初のものの ID)、 ``$HG_NODE_LAST`` (最後のものの\n"
+"  ID)、 ``$HG_URL`` および ``$HG_SOURCE`` が設定されます。\n"
+"  ブックマークやフェーズの変更の場合、 ``HG_BOOKMARK_MOVED`` や\n"
+"  ``HG_PHASES_MOVED`` に ``1`` が設定されます。"
 
 msgid ""
 "``txnclose``\n"
@@ -19745,21 +20475,25 @@
 
 msgid ""
 "``pretxnchangegroup``\n"
-"  Run after a changegroup has been added via push, pull or unbundle,\n"
-"  but before the transaction has been committed. Changegroup is\n"
-"  visible to hook program. This lets you validate incoming changes\n"
-"  before accepting them. Passed the ID of the first new changeset in\n"
-"  ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero\n"
-"  status will cause the transaction to be rolled back and the push,\n"
-"  pull or unbundle will fail. URL that was source of changes is in\n"
-"  ``$HG_URL``."
+"  Run after a changegroup has been added via push, pull or unbundle, but "
+"before\n"
+"  the transaction has been committed. Changegroup is visible to hook "
+"program.\n"
+"  This lets you validate incoming changes before accepting them. Passed the "
+"ID\n"
+"  of the first new changeset in ``$HG_NODE`` and last in ``$HG_NODE_LAST``.\n"
+"  Exit status 0 allows the transaction to commit. Non-zero status will "
+"cause\n"
+"  the transaction to be rolled back and the push, pull or unbundle will "
+"fail.\n"
+"  URL that was source of changes is in ``$HG_URL``."
 msgstr ""
 "``pretxnchangegroup``\n"
 "  push、 pull、 unbundle によるリビジョン群の追加完了の際に、\n"
-"  トランザクションが完了する前に実行されます。\n"
-"  追加されるリビジョン群は、 フックから参照可能です。\n"
-"  そのため、 追加が確定する前に、 対象リビジョン群の内容を検証可能です。\n"
-"  新規追加リビジョン群の最初の ID が ``$HG_NODE`` に設定されます。\n"
+"  トランザクション完了前に実行されます。 完了時の記録内容の全てを、\n"
+"  フックから参照できます。 トランザクション内容の検証や変更が可能です。\n"
+"  追加リビジョン群の最初のものの ID が ``$HG_NODE`` に、\n"
+"  最後のものの ID が ``$HG_NODE_LAST`` に設定されます。\n"
 "  終了コードが 0 の場合、 トランザクションが確定します。\n"
 "  非 0 の終了コードの場合、 トランザクションが巻き戻され、\n"
 "  push、 pull、 unbundle は中断されます。\n"
@@ -20108,14 +20842,18 @@
 
 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)"
+"  Either just the name of the executable or its pathname."
 msgstr ""
 "``executable``\n"
-"  実行可能ファイル名またはパス名。 Windows 環境では、\n"
-"  ${ProgramFiles} 環境変数を併用した記述が使用可能です。\n"
-"  (デフォルト値: ツール名が自動的に設定)"
+"  実行可能ファイル名またはパス名。"
+
+msgid ""
+"    On Windows, the path can use environment variables with ${ProgramFiles}\n"
+"    syntax."
+msgstr "    Windows 環境では、 環境変数 ${ProgramFiles} を併用可能です。"
+
+msgid "  (default: the tool name)"
+msgstr "  (デフォルト値: ツール名が自動的に設定)"
 
 msgid ""
 "``args``\n"
@@ -20220,50 +20958,50 @@
 "  (デフォルト値: False)"
 
 msgid ""
-"``regkey``\n"
-"  Windows registry key which describes install location of this\n"
-"  tool. Mercurial will search for this key first under\n"
-"  ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.\n"
-"  (default: None)"
-msgstr ""
-"``regkey``\n"
-"  当該ツールのインストール位置を保持する Windows レジストリキー。\n"
-"  Mercurial は ``HKEY_CURRENT_USER`` または ``HKEY_LOCAL_MACHINE``\n"
-"  配下の当該キーの有無を、 この順序で確認します。\n"
-"  (デフォルト値: None)"
-
-msgid ""
-"``regkeyalt``\n"
-"  An alternate Windows registry key to try if the first key is not\n"
-"  found.  The alternate key uses the same ``regname`` and ``regappend``\n"
-"  semantics of the primary key.  The most common use for this key\n"
-"  is to search for 32bit applications on 64bit operating systems.\n"
-"  (default: None)"
-msgstr ""
-"``regkeyalt``\n"
-"  指定されたレジストリキー不在時の、 代替 Windows レジストリキー。\n"
-"  ``regname`` および ``regappend`` による改変は、\n"
-"  代替キーでも実施されます。 典型的な用途は、\n"
-"  64 ビット環境における 32 ビットアプリの検索です。\n"
-"  (デフォルト値: None)"
-
-msgid ""
-"``regname``\n"
-"  Name of value to read from specified registry key.\n"
-"  (default: the unnamed (default) value)"
-msgstr ""
-"``regname``\n"
-"  当該レジストリキーから読み出す値の名前。 (デフォルト値: ``(既定)`` の値)"
-
-msgid ""
-"``regappend``\n"
-"  String to append to the value read from the registry, typically\n"
-"  the executable name of the tool.\n"
-"  (default: None)"
-msgstr ""
-"``regappend``\n"
-"  当該レジストリキーからの読み出し値に付加する値。 典型的な設定値は、\n"
-"  ツールの実行可能ファイル名です。 (デフォルト値: None)"
+"  ``regkey``\n"
+"    Windows registry key which describes install location of this\n"
+"    tool. Mercurial will search for this key first under\n"
+"    ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.\n"
+"    (default: None)"
+msgstr ""
+"  ``regkey``\n"
+"    当該ツールのインストール位置を保持する Windows レジストリキー。\n"
+"    Mercurial は ``HKEY_CURRENT_USER`` または ``HKEY_LOCAL_MACHINE``\n"
+"    配下の当該キーの有無を、 この順序で確認します。\n"
+"    (デフォルト値: None)"
+
+msgid ""
+"  ``regkeyalt``\n"
+"    An alternate Windows registry key to try if the first key is not\n"
+"    found.  The alternate key uses the same ``regname`` and ``regappend``\n"
+"    semantics of the primary key.  The most common use for this key\n"
+"    is to search for 32bit applications on 64bit operating systems.\n"
+"    (default: None)"
+msgstr ""
+"  ``regkeyalt``\n"
+"    指定されたレジストリキー不在時の、 代替 Windows レジストリキー。\n"
+"    ``regname`` および ``regappend`` による改変は、\n"
+"    代替キーでも実施されます。 典型的な用途は、\n"
+"    64 ビット環境における 32 ビットアプリの検索です。\n"
+"    (デフォルト値: None)"
+
+msgid ""
+"  ``regname``\n"
+"    Name of value to read from specified registry key.\n"
+"    (default: the unnamed (default) value)"
+msgstr ""
+"  ``regname``\n"
+"    当該レジストリキーから読み出す値名。 (デフォルト値: ``(既定)`` の値)"
+
+msgid ""
+"  ``regappend``\n"
+"    String to append to the value read from the registry, typically\n"
+"    the executable name of the tool.\n"
+"    (default: None)"
+msgstr ""
+"  ``regappend``\n"
+"    当該レジストリキーからの読み出し値に付加する値。 典型的な設定値は、\n"
+"    ツールの実行可能ファイル名です。 (デフォルト値: None)"
 
 msgid ""
 "\n"
@@ -20324,64 +21062,91 @@
 "``paths``\n"
 "---------"
 
-msgid ""
-"Assigns symbolic names to repositories. The left side is the\n"
-"symbolic name, and the right gives the directory or URL that is the\n"
-"location of the repository. Default paths can be declared by setting\n"
-"the following entries."
-msgstr ""
-"リポジトリ位置へのシンボリックな名前の割り当て設定。 記述左辺にシンボル、\n"
-"右辺にリポジトリ位置のディレクトリ、 または URL を記述します。\n"
-"以下のシンボルを設定することで、 連携先リポジトリ指定が無い場合でも、\n"
-"暗黙のパス指定とみなされます。 (※ 訳注: :hg:`help urls` も参照)"
+msgid "Assigns symbolic names and behavior to repositories."
+msgstr "連携対象リポジトリに、 シンボリックな名前や挙動を割り当てます。"
+
+msgid ""
+"Options are symbolic names defining the URL or directory that is the\n"
+"location of the repository. Example::"
+msgstr ""
+"連携先リポジトリの URL やディレクトリを定義する、 シンボリックな名前が、\n"
+"設定項名になります。 例えば::"
+
+msgid ""
+"    [paths]\n"
+"    my_server = https://example.com/my_repo\n"
+"    local_path = /home/me/repo"
+msgstr ""
+"    [paths]\n"
+"    my_server = https://example.com/my_repo\n"
+"    local_path = /home/me/repo"
+
+msgid ""
+"These symbolic names can be used from the command line. To pull\n"
+"from ``my_server``: :hg:`pull my_server`. To push to ``local_path``:\n"
+":hg:`push local_path`."
+msgstr ""
+"定義された項目名は、 コマンド実行時に使用できます。 例えば\n"
+"``my_server`` からの履歴取り込みは :hg:`pull my_server`、\n"
+"``local_path`` への履歴反映は :hg:`push local_path` で可能です。"
+
+msgid ""
+"Options containing colons (``:``) denote sub-options that can influence\n"
+"behavior for that specific path. Example::"
+msgstr ""
+"コロン (``:``) を含む設定項目名は、 指定先との連携の際の挙動に影響する、\n"
+"サブ項目名とみなされます。 例えば::"
+
+msgid ""
+"    [paths]\n"
+"    my_server = https://example.com/my_path\n"
+"    my_server:pushurl = ssh://example.com/my_path"
+msgstr ""
+"    [paths]\n"
+"    my_server = https://example.com/my_path\n"
+"    my_server:pushurl = ssh://example.com/my_path"
+
+msgid "The following sub-options can be defined:"
+msgstr "以下のサブオプションを指定できます:"
+
+msgid ""
+"``pushurl``\n"
+"   The URL to use for push operations. If not defined, the location\n"
+"   defined by the path's main entry is used."
+msgstr ""
+"``pushurl``\n"
+"   履歴反映系操作 (:hg:`push` 等) で使用される URL。 指定がない場合は、\n"
+"   設定項目名自体に設定された URL が使用されます。"
+
+msgid "The following special named paths exist:"
+msgstr "以下の名前で定義された連携先は、 特殊な意味を持ちます:"
 
 msgid ""
 "``default``\n"
-"    Directory or URL to use when pulling if no source is specified.\n"
-"    (default: repository from which the current repository was cloned)"
+"   The URL or directory to use when no source or remote is specified."
 msgstr ""
 "``default``\n"
-"    連携先指定が無い場合に、 :hg:`pull` に類するコマンドの、\n"
-"    連携対象となるリポジトリのディレクトリ、 または URL。\n"
-"    (デフォルト値: :hg:`clone` による当該リポジトリの複製元)\n"
-"    (※ 訳注: :hg:`clone` による複製でないリポジトリでは、 手動設定が必要)"
+"   連携先指定が無い場合に使用されます。"
+
+msgid ""
+"   :hg:`clone` will automatically define this path to the location the\n"
+"   repository was cloned from."
+msgstr ""
+"   :hg:`clone` による複製の際は、 複製元の URL が自動的に設定されます。"
 
 msgid ""
 "``default-push``\n"
-"    Optional. Directory or URL to use when pushing if no destination\n"
-"    is specified."
+"   (deprecated) The URL or directory for the default :hg:`push` location.\n"
+"   ``default:pushurl`` should be used instead."
 msgstr ""
 "``default-push``\n"
-"    連携先指定が無い場合に、 :hg:`push` に類するコマンドの、\n"
-"    連携対象となるリポジトリのディレクトリ、 または URL。"
-
-msgid ""
-"Custom paths can be defined by assigning the path to a name that later can "
-"be\n"
-"used from the command line. Example::"
-msgstr ""
-"任意の名前へのパス割り当てにより、 コマンドライン等でのリポジトリ指定で、\n"
-"URL 指定の代わりにその名前を使用できます。設定例::"
-
-msgid ""
-"    [paths]\n"
-"    my_path = http://example.com/path"
-msgstr ""
-"    [paths]\n"
-"    my_path = http://example.com/path"
-
-msgid "To push to the path defined in ``my_path`` run the command::"
-msgstr "以下のコマンド実行で ``my_path`` リポジトリに履歴が反映されます::"
-
-msgid "    hg push my_path"
-msgstr "    hg push my_path"
-
-msgid ""
-"\n"
+"   (非推奨) 連携先指定がない場合の、 履歴反映系操作 (:hg:`push` 等)\n"
+"   で使用されます。``default:pushurl`` 設定を使うようにしてください。"
+
+msgid ""
 "``phases``\n"
 "----------"
 msgstr ""
-"\n"
 "``phases``\n"
 "----------"
 
@@ -20476,7 +21241,7 @@
 "    (default: ls)"
 msgstr ""
 "``type``\n"
-"    使用するプロファイラ種別。 (デフォルト値: ls)"
+"    使用するプロファイラ種別。 (デフォルト値: ls)"
 
 msgid ""
 "    ``ls``\n"
@@ -20626,12 +21391,13 @@
 
 msgid ""
 "    Valid entries for the format field are ``topic``, ``bar``, ``number``,\n"
-"    ``unit``, ``estimate``, speed, and item. item defaults to the last 20\n"
-"    characters of the item, but this can be changed by adding either ``-"
-"<num>``\n"
-"    which would take the last num characters, or ``+<num>`` for the first "
-"num\n"
-"    characters."
+"    ``unit``, ``estimate``, ``speed``, and ``item``. ``item`` defaults to "
+"the\n"
+"    last 20 characters of the item, but this can be changed by adding "
+"either\n"
+"    ``-<num>`` which would take the last num characters, or ``+<num>`` for "
+"the\n"
+"    first num characters."
 msgstr ""
 "    format 指定で有効な要素は ``topic`` (現処理内容), ``bar`` (バー表示),\n"
 "    ``number`` (終了数), ``unit`` (対象単位), ``estimate`` (残予想時間),\n"
@@ -20639,7 +21405,7 @@
 "    は対象の末尾 20 文字ですが、 ``-<num>`` (末尾 num 文字) や ``+<num>``\n"
 "    (冒頭 num 文字) 指定の追加で変更可能です。"
 
-msgid "    (default: Topic bar number estimate)"
+msgid "    (default: topic bar number estimate)"
 msgstr "    (デフォルト値: topic bar number estimate)"
 
 msgid ""
@@ -20673,6 +21439,22 @@
 "    true 設定時は、disable による禁止が無い限り、 常に進捗表示を実施。"
 
 msgid ""
+"``rebase``\n"
+"----------"
+msgstr ""
+"``rebase``\n"
+"----------"
+
+msgid ""
+"``allowdivergence``\n"
+"    Default to False, when True allow creating divergence when performing\n"
+"    rebase of obsolete changesets."
+msgstr ""
+"``allowdivergence``\n"
+"    廃止 (obsolete) リビジョンを移動する際の、 分岐許容の有無。\n"
+"    (デフォルト値: False)"
+
+msgid ""
 "``revsetalias``\n"
 "---------------"
 msgstr ""
@@ -20749,6 +21531,49 @@
 "    指示します (デフォルト値: 1024)"
 
 msgid ""
+"``bundle1``\n"
+"    Whether to allow clients to push and pull using the legacy bundle1\n"
+"    exchange format. (default: True)"
+msgstr ""
+
+msgid ""
+"``bundle1gd``\n"
+"    Like ``bundle1`` but only used if the repository is using the\n"
+"    *generaldelta* storage format. (default: True)"
+msgstr ""
+
+msgid ""
+"``bundle1.push``\n"
+"    Whether to allow clients to push using the legacy bundle1 exchange\n"
+"    format. (default: True)"
+msgstr ""
+
+msgid ""
+"``bundle1gd.push``\n"
+"    Like ``bundle1.push`` but only used if the repository is using the\n"
+"    *generaldelta* storage format. (default: True)"
+msgstr ""
+
+msgid ""
+"``bundle1.pull``\n"
+"    Whether to allow clients to pull using the legacy bundle1 exchange\n"
+"    format. (default: True)"
+msgstr ""
+
+msgid ""
+"``bundle1gd.pull``\n"
+"    Like ``bundle1.pull`` but only used if the repository is using the\n"
+"    *generaldelta* storage format. (default: True)"
+msgstr ""
+
+msgid ""
+"    Large repositories using the *generaldelta* storage format should\n"
+"    consider setting this option because converting *generaldelta*\n"
+"    repositories to the exchange format required by the bundle1 data\n"
+"    format can consume a lot of CPU."
+msgstr ""
+
+msgid ""
 "``smtp``\n"
 "--------"
 msgstr ""
@@ -20982,6 +21807,22 @@
 "    (デフォルト値: False)"
 
 msgid ""
+"``clonebundles``\n"
+"    Whether the \"clone bundles\" feature is enabled."
+msgstr ""
+
+msgid ""
+"    When enabled, :hg:`clone` may download and apply a server-advertised\n"
+"    bundle file from a URL instead of using the normal exchange mechanism."
+msgstr ""
+
+msgid "    This can likely result in faster and more reliable clones."
+msgstr ""
+
+msgid "    (default: True)"
+msgstr "    (デフォルト値: True)"
+
+msgid ""
 "``clonebundlefallback``\n"
 "    Whether failure to apply an advertised \"clone bundle\" from a server\n"
 "    should result in fallback to a regular clone."
@@ -21011,6 +21852,44 @@
 msgstr "    (デフォルト値: False)"
 
 msgid ""
+"``clonebundleprefers``\n"
+"    Defines preferences for which \"clone bundles\" to use."
+msgstr ""
+
+msgid ""
+"    Servers advertising \"clone bundles\" may advertise multiple available\n"
+"    bundles. Each bundle may have different attributes, such as the bundle\n"
+"    type and compression format. This option is used to prefer a particular\n"
+"    bundle over another."
+msgstr ""
+
+msgid "    The following keys are defined by Mercurial:"
+msgstr "    Mercurial では以下のキーを定義しています:"
+
+msgid ""
+"    BUNDLESPEC\n"
+"       A bundle type specifier. These are strings passed to :hg:`bundle -"
+"t`.\n"
+"       e.g. ``gzip-v2`` or ``bzip2-v1``."
+msgstr ""
+
+msgid ""
+"    COMPRESSION\n"
+"       The compression format of the bundle. e.g. ``gzip`` and ``bzip2``."
+msgstr ""
+
+msgid "    Server operators may define custom keys."
+msgstr ""
+
+msgid ""
+"    Example values: ``COMPRESSION=bzip2``,\n"
+"    ``BUNDLESPEC=gzip-v2, COMPRESSION=gzip``."
+msgstr ""
+
+msgid "    By default, the first bundle advertised by the server is used."
+msgstr ""
+
+msgid ""
 "``commitsubrepos``\n"
 "    Whether to commit modified subrepositories when committing the\n"
 "    parent repository. If False and one subrepository has uncommitted\n"
@@ -21046,6 +21925,15 @@
 "    (デフォルト値: ISO-8859-1)"
 
 msgid ""
+"``graphnodetemplate``\n"
+"    The template used to print changeset nodes in an ASCII revision graph.\n"
+"    (default: ``{graphnode}``)"
+msgstr ""
+"``graphnodetemplate``\n"
+"    ASCII 文字での履歴グラフ表示の際に、リビジョン表示で使用する文字\n"
+"    (デフォルト値: ``{graphnode}``)"
+
+msgid ""
 "``ignore``\n"
 "    A file to read per-user ignore patterns from. This file should be\n"
 "    in the same format as a repository-wide .hgignore file. Filenames\n"
@@ -21143,6 +22031,13 @@
 "    文字コード混在による深刻な問題を生じます。"
 
 msgid ""
+"``origbackuppath``\n"
+"    The path to a directory used to store generated .orig files. If the path "
+"is\n"
+"    not a directory, one will be created."
+msgstr ""
+
+msgid ""
 "``patch``\n"
 "    An optional external tool that ``hg import`` and some extensions\n"
 "    will use for applying patches. By default Mercurial uses an\n"
@@ -21171,54 +22066,91 @@
 msgid ""
 "``portablefilenames``\n"
 "    Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.\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"
-"    parts like ``AUX``, reserved characters like ``:``, or would cause a "
-"case\n"
-"    collision with an existing file).\n"
-"    If set to ``ignore`` (or ``false``), no warning is printed.\n"
-"    If set to ``abort``, the command is aborted.\n"
-"    On Windows, this configuration option is ignored and the command aborted."
+"    (default: ``warn``)"
 msgstr ""
 "``portablefilenames``\n"
 "    ファイル名可搬性確認の要否。\n"
 "    ``warn``, ``ignore`` または ``abort`` のいずれか。\n"
-"    (デフォルト値: ``warn``)\n"
-"    POSIX 環境における ``warn`` (または ``true``) 設定では、\n"
-"    可搬性の無い名前 (例: ``AUX`` のような予約語や、 ``:``\n"
-"    のような特殊文字を含んだり、 文字大小の問題で、\n"
-"    既存ファイルと衝突するような、 Windows 環境で利用できないファイル名)\n"
-"    を持つファイルが、 構成管理対象として追加された際に、\n"
-"    警告を発します。\n"
-"    ``ignore`` (または ``false``) 設定では、 警告が発せられません。\n"
-"    ``abort`` 設定では、 コマンドの実行が中断されます。\n"
-"    Windows 環境では、 本設定は無視され、 コマンド実行は常に中断されます。"
+"    (デフォルト値: ``warn``)"
+
+msgid ""
+"    ``warn``\n"
+"      Print a warning message on POSIX platforms, if a file with a non-"
+"portable\n"
+"      filename is added (e.g. a file with a name that can't be created on\n"
+"      Windows because it contains reserved parts like ``AUX``, reserved\n"
+"      characters like ``:``, or would cause a case collision with an "
+"existing\n"
+"      file)."
+msgstr ""
+"    ``warn``\n"
+"      可搬性の無い名前 (例: Windows 上では ``AUX`` 等の予約語や、 ``:``\n"
+"      等の特殊文字、 文字大小違いで既存ファイルと衝突するファイルは、\n"
+"      問題を生じます) のファイルが、 構成管理対象として追加された場合、\n"
+"      POSIX 環境では警告が表示されます。"
+
+msgid ""
+"    ``ignore``\n"
+"      Don't print a warning."
+msgstr ""
+"    ``ignore``\n"
+"      警告表示を抑止します。"
+
+msgid ""
+"    ``abort``\n"
+"      The command is aborted."
+msgstr ""
+"    ``abort``\n"
+"       コマンドの実行が中断されます。"
+
+msgid ""
+"    ``true``\n"
+"      Alias for ``warn``."
+msgstr ""
+"    ``true``\n"
+"      ``warn`` 設定と等価です。"
+
+msgid ""
+"    ``false``\n"
+"      Alias for ``ignore``."
+msgstr ""
+"    ``false``\n"
+"      ``ignore`` 設定と等価です。"
+
+msgid ""
+"      On Windows, this configuration option is ignored and the command "
+"aborted."
+msgstr ""
+"      Windows 環境では、 本設定に関わらず、 コマンド実行は常に中断されます。"
 
 msgid ""
 "``quiet``\n"
-"    Reduce the amount of output printed. (default: False)"
+"    Reduce the amount of output printed.\n"
+"    (default: False)"
 msgstr ""
 "``quiet``\n"
-"    コマンド実行時のメッセージ表示抑止要否の真偽値。 (デフォルト値: False)"
+"    コマンド実行時のメッセージ表示抑止要否の真偽値。\n"
+"    (デフォルト値: False)"
 
 msgid ""
 "``remotecmd``\n"
-"    Remote command to use for clone/push/pull operations. (default: ``hg``)"
+"    Remote command to use for clone/push/pull operations.\n"
+"    (default: ``hg``)"
 msgstr ""
 "``remotecmd``\n"
-"    clone/push/pull 処理における遠隔実行コマンド。 (デフォルト値: ``hg``)"
+"    clone/push/pull 処理における遠隔実行コマンド。\n"
+"    (デフォルト値: ``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. (default: True)"
+"    trusted user or group.\n"
+"    (default: True)"
 msgstr ""
 "``report_untrusted``\n"
 "    信頼できるユーザ/グループ下に無い ``.hg/hgrc``\n"
-"    の無視に対する、 警告要否の真偽値。 (デフォルト値: True)"
+"    の無視に対する、 警告要否の真偽値。\n"
+"    (デフォルト値: True)"
 
 msgid ""
 "``slash``\n"
@@ -21313,7 +22245,7 @@
 
 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"
+"    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 ""
@@ -21966,11 +22898,45 @@
 "``numcpus``\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"
+"    (default: 4 or the number of CPUs on the system, whichever is larger)"
 msgstr ""
 "``numcpus``\n"
 "    並列実施に使用可能な CPU 数。 0 又は負値は、 『デフォルト値の使用』\n"
-"    を意味します。 (デフォルト値: 4 又は使用可能 CPU 数の大きい方の値)\n"
+"    を意味します。 (デフォルト値: 4 又は使用可能 CPU 数の大きい方の値)"
+
+msgid ""
+"``backgroundclose``\n"
+"    Whether to enable closing file handles on background threads during "
+"certain\n"
+"    operations. Some platforms aren't very efficient at closing file\n"
+"    handles that have been written or appened to. By performing file "
+"closing\n"
+"    on background threads, file write rate can increase substantially.\n"
+"    (default: true on Windows, false elsewhere)"
+msgstr ""
+
+msgid ""
+"``backgroundcloseminfilecount``\n"
+"    Minimum number of files required to trigger background file closing.\n"
+"    Operations not writing this many files won't start background close\n"
+"    threads.\n"
+"    (default: 2048)"
+msgstr ""
+
+msgid ""
+"``backgroundclosemaxqueue``\n"
+"    The maximum number of opened file handles waiting to be closed in the\n"
+"    background. This option only has an effect if ``backgroundclose`` is\n"
+"    enabled.\n"
+"    (default: 384)"
+msgstr ""
+
+msgid ""
+"``backgroundclosethreadcount``\n"
+"    Number of threads to process background file closes. Only relevant if\n"
+"    ``backgroundclose`` is enabled.\n"
+"    (default: 4)\n"
+msgstr ""
 
 msgid "Some commands allow the user to specify a date, e.g.:"
 msgstr "以下のコマンドで日時指定が可能です:"
@@ -23705,13 +24671,13 @@
 msgid ""
 "Copying\n"
 "\"\"\"\"\"\"\"\n"
-"Copyright (C) 2005-2015 Matt Mackall.\n"
+"Copyright (C) 2005-2016 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
 "Copying\n"
 "\"\"\"\"\"\"\"\n"
-"Copyright (C) 2005-2015 Matt Mackall.\n"
+"Copyright (C) 2005-2016 Matt Mackall.\n"
 "本ソフトウェアは、 バージョン2またはそれ以降の GNU General\n"
 "Public License の元での自由な利用が保証されています。"
 
@@ -23769,14 +24735,14 @@
 "Copying\n"
 "=======\n"
 "This manual page is copyright 2006 Vadim Gelfer.\n"
-"Mercurial is copyright 2005-2015 Matt Mackall.\n"
+"Mercurial is copyright 2005-2016 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
 "Copying\n"
 "=======\n"
 "本マニュアルページの著作権は copyright 2006 Vadim Gelfer です。\n"
-"Mercurial の著作権は copyright 2005-2015 Matt Mackall です。\n"
+"Mercurial の著作権は copyright 2005-2016 Matt Mackall です。\n"
 "本ソフトウェアは、 バージョン2またはそれ以降の GNU General\n"
 "Public License の元での自由な利用が保証されています。"
 
@@ -23883,7 +24849,7 @@
 "is treated as an escape character."
 msgstr ""
 "無視設定ファイルは、 1行1パターンでパターンが列挙された、\n"
-"単純なテキストファイルです。 空の行は無視されます。\n"
+"単純なテキストファイルです。 空の行は無視されます。\n"
 "``#`` 文字はコメント文字、 ``\\`` 文字はエスケープ文字として扱われます。"
 
 msgid ""
@@ -24057,14 +25023,14 @@
 "Copying\n"
 "=======\n"
 "This manual page is copyright 2005 Bryan O'Sullivan.\n"
-"Mercurial is copyright 2005-2015 Matt Mackall.\n"
+"Mercurial is copyright 2005-2016 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
 "Copying\n"
 "=======\n"
 "本マニュアルの著作権は copyright 2005 Bryan O'Sullivan です。\n"
-"Mercurial の著作権は copyright 2005-2015 Matt Mackall です。\n"
+"Mercurial の著作権は copyright 2005-2016 Matt Mackall です。\n"
 "本ソフトウェアは、 バージョン2またはそれ以降の GNU General\n"
 "Public License の元での自由な利用が保証されています。"
 
@@ -24714,6 +25680,20 @@
 "実行例に関しては :hg:`help -v phase` を参照してください。"
 
 msgid ""
+"To make yours commits secret by default, put this in your\n"
+"configuration file::"
+msgstr ""
+"以下の記述を設定ファイルに追加することで、\n"
+"新規コミット時のフェーズを secret に変更できます::"
+
+msgid ""
+"  [phases]\n"
+"  new-commit = secret"
+msgstr ""
+"  [phases]\n"
+"  new-commit = secret"
+
+msgid ""
 "Phases and servers\n"
 "=================="
 msgstr ""
@@ -25881,7 +26861,7 @@
 "変更前に親リポジトリで記録されたリビジョンが持つ連携先情報は、\n"
 "無効となってしまいます。 親リポジトリの ``hgrc`` ファイルまたは Mercurial\n"
 "の設定ファイルにおいて、 連携先情報の書き換えルールを定義することで、\n"
-"この問題を解消可能です。 詳細に関しては hgrc(5) の ``[subpaths]``\n"
+"この問題を解消可能です。 詳細に関しては hgrc(5) の ``[subpaths]``\n"
 "セクションを参照してください。 (※ 訳注: :hg:`help config` でも参照可能)"
 
 msgid ""
@@ -26360,6 +27340,10 @@
 msgstr "リビジョン %s における .hgsubstate が不正です\n"
 
 #, python-format
+msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
+msgstr "http://%s%s/%s で待ち受け開始(バインド先は %s:%d)\n"
+
+#, python-format
 msgid "config file %s not found!"
 msgstr "設定ファイル %s が見つかりません!"
 
@@ -27214,10 +28198,6 @@
 msgid "diff context lines count must be an integer, not %r"
 msgstr "差分コンテキストでの行数指定が不正です: %r"
 
-#, python-format
-msgid "unsupported merge state record: %s"
-msgstr "未サポートなマージ状態が記録されています: %s"
-
 msgid "merge driver changed since merge started"
 msgstr "マージ開始後にマージドライバ設定が変更されました"
 
@@ -27229,6 +28209,10 @@
 msgstr "警告: ファイル %s の属性設定はマージできません\n"
 
 #, python-format
+msgid "%s.%s not valid ('%s' is none of %s)"
+msgstr "%s.%s は無効です (指定値: '%s' 指定可能値: %s)"
+
+#, python-format
 msgid "%s: untracked file differs\n"
 msgstr "%s: 未登録ファイルに差分あり\n"
 
@@ -27237,6 +28221,10 @@
 msgstr "指定リビジョンでの記録内容と異なる未登録ファイルが存在します"
 
 #, python-format
+msgid "%s: replacing untracked file\n"
+msgstr "%s: 未登録ファイルの内容を書き換え\n"
+
+#, python-format
 msgid "case-folding collision between %s and %s"
 msgstr "ファイル名の文字大小の問題で %s と %s が衝突します"
 
@@ -27292,6 +28280,9 @@
 msgid "getting %s to %s\n"
 msgstr "%s から %s に複製中\n"
 
+msgid "outstanding merge conflicts"
+msgstr "マージでの衝突解消が未完了です"
+
 msgid "merging with a working directory ancestor has no effect"
 msgstr "作業領域の祖先とのマージは意味がありません"
 
@@ -27793,6 +28784,9 @@
 msgid "at %s: %s"
 msgstr "文字位置: %s: %s"
 
+msgid "see hg help \"revsets.x or y\""
+msgstr "hg help \"revsets.x or y\" を参照してください"
+
 msgid "can't use a key-value pair in this context"
 msgstr "ここでは key-value ペアを使用できません"
 
@@ -28576,7 +29570,7 @@
 "    それ以外は空集合。 '.' 記述は現ブランチ名を指します。"
 
 #. i18n: "remote" is a keyword
-msgid "remote takes one, two or no arguments"
+msgid "remote takes zero, one, or two arguments"
 msgstr "remote の引数は0から2つです"
 
 #. i18n: "remote" is a keyword
@@ -28877,6 +29871,10 @@
 msgstr "リビジョン対指定の一方が無効です"
 
 #, python-format
+msgid "creating directory: %s\n"
+msgstr "ディレクトリの作成中: %s\n"
+
+#, python-format
 msgid "recording removal of %s as rename to %s (%d%% similar)\n"
 msgstr "%s の削除を %s へのファイル名変更として記録中 (類似度 %d%%)\n"
 
@@ -29059,9 +30057,6 @@
 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 を検出"
@@ -29069,6 +30064,9 @@
 msgid "malformed stream clone bundle: requirements not properly encoded"
 msgstr "不正な形式の stream clone bundle です: requirements の符号化不正"
 
+msgid "cannot apply stream clone bundle on non-empty repo"
+msgstr "stream clone bundle での複製は、空リポジトリにしか適用できません"
+
 #, python-format
 msgid "unable to apply stream clone: unsupported format: %s"
 msgstr "stream clone が適用できません: 未サポートな形式 %s"
@@ -29235,6 +30233,21 @@
 msgid "not removing repo %s because it has changes.\n"
 msgstr "変更が含まれているため、 リポジトリ %s は削除されません\n"
 
+#, python-format
+msgid "error executing git for subrepo '%s': %s"
+msgstr "サブリポジトリ '%s' での git コマンド実行に失敗しました: %s"
+
+msgid "check git is installed and in your PATH"
+msgstr "PATH から参照可能な位置への git のインストールを確認してください"
+
+#, python-format
+msgid "couldn't find 'git' or 'git.cmd' for subrepo '%s'"
+msgstr "サブリポジトリ '%s' で使用する 'git' または 'git.cmd' がありません"
+
+#, python-format
+msgid "couldn't find git for subrepo '%s'"
+msgstr "サブリポジトリ '%s' で使用する 'git' がありません"
+
 msgid "cannot retrieve git version\n"
 msgstr "git のバージョン情報が取得できません\n"
 
@@ -29613,6 +30626,13 @@
 "    登録除外ファイルの一覧。"
 
 msgid ""
+":graphnode: String. The character representing the changeset node in\n"
+"    an ASCII revision graph"
+msgstr ""
+":graphnode: 文字列。 ASCII 文字での履歴グラフ表示の際に、\n"
+"    リビジョン表示で使用する文字。"
+
+msgid ""
 ":latesttag: List of strings. The global tags on the most recent globally\n"
 "    tagged ancestor of this changeset."
 msgstr ""
@@ -29628,6 +30648,13 @@
 "    (※ 訳注: 履歴中に分岐がない場合は latesttagdistance と等価です)"
 
 msgid ""
+":namespaces: Dict of lists. Names attached to this changeset per\n"
+"    namespace."
+msgstr ""
+":namespaces: 列挙の辞書。 リビジョンに関連付けられている名前を、\n"
+"    名前空間毎に列挙したもの。"
+
+msgid ""
 ":node: String. The changeset identification hash, as a 40 hexadecimal\n"
 "    digit string."
 msgstr ":node: 文字列。 リビジョン識別用の 40 桁 16 進数ハッシュ値。"
@@ -29705,6 +30732,10 @@
 msgstr "テンプレート指定が必要です"
 
 #, python-format
+msgid "recursive reference '%s' in template"
+msgstr "テンプレートでの '%s' における再帰参照"
+
+#, python-format
 msgid "unknown function '%s'"
 msgstr "未知の関数 '%s' が指定されました"
 
@@ -29742,7 +30773,7 @@
 "    表示対象/除外対象ファイルのパターンを指定が可能です。"
 
 #. i18n: "diff" is a keyword
-msgid "diff expects one, two or no arguments"
+msgid "diff expects zero, one, or two arguments"
 msgstr "diff の引数は最大2つです"
 
 msgid ""
@@ -30059,9 +31090,6 @@
 msgid "username %s contains a newline\n"
 msgstr "ユーザ名 %s が改行を含んでいます\n"
 
-msgid "response expected"
-msgstr "何らかの入力が必要です"
-
 msgid "unrecognized response\n"
 msgstr "入力が不正です\n"
 
@@ -30072,6 +31100,15 @@
 msgid "repository %s does not exist"
 msgstr "リポジトリ %s は存在しません"
 
+#, python-format
+msgid "(paths.%s:pushurl not a URL; ignoring)\n"
+msgstr "(URL 形式でない paths.%s:pushurl を無視します)\n"
+
+#, python-format
+msgid "(\"#fragment\" in paths.%s:pushurl not supported; ignoring)\n"
+msgstr ""
+"(paths.%s:pushurl での \"#fragment\" 指定は未サポートのため無視します)\n"
+
 msgid "cannot create new union repository"
 msgstr "union 形式のリポジトリは新規作成できません"
 
@@ -30291,12 +31328,6 @@
 msgid "%.3f ns"
 msgstr "%.3f ナノ秒"
 
-msgid "cannot verify bundle or remote repos"
-msgstr "ローカルリポジトリ以外は検証できません"
-
-msgid "interrupted"
-msgstr "中断されました"
-
 #, python-format
 msgid "empty or missing %s"
 msgstr "%s は、 空か見つかりません"
@@ -30345,6 +31376,9 @@
 msgid "duplicate revision %d (%d)"
 msgstr "%d と重複するリビジョン %d があります"
 
+msgid "cannot verify bundle or remote repos"
+msgstr "ローカルリポジトリ以外は検証できません"
+
 msgid "abandoned transaction found - run hg recover\n"
 msgstr "中断トランザクションを検出 - 'hg recover' を実施してください\n"
 
@@ -30352,6 +31386,26 @@
 msgid "repository uses revlog format %d\n"
 msgstr "リポジトリは revlog 形式 %d です\n"
 
+#, python-format
+msgid "%d files, %d changesets, %d total revisions\n"
+msgstr "%d 個のファイル、 %d 件の差分情報、 合計 %d 件のリビジョン\n"
+
+#, python-format
+msgid "%d warnings encountered!\n"
+msgstr "警告が %d 件あります!\n"
+
+msgid "hint: run \"hg debugrebuildfncache\" to recover from corrupt fncache\n"
+msgstr ""
+"ヒント: fncache の修復には \"hg debugrebuildfncache\" を実施してください\n"
+
+#, python-format
+msgid "%d integrity errors encountered!\n"
+msgstr "不整合が %d 件あります!\n"
+
+#, python-format
+msgid "(first damaged changeset appears to be %d)\n"
+msgstr "(最初の不整合は %d の模様)\n"
+
 msgid "checking changesets\n"
 msgstr "リビジョンの確認中\n"
 
@@ -30446,25 +31500,12 @@
 msgid "warning: orphan revlog '%s'"
 msgstr "警告: revlog '%s' はどこからも参照されていません"
 
-#, python-format
-msgid "%d files, %d changesets, %d total revisions\n"
-msgstr "%d 個のファイル、 %d 件の差分情報、 合計 %d 件のリビジョン\n"
-
-#, python-format
-msgid "%d warnings encountered!\n"
-msgstr "警告が %d 件あります!\n"
-
-msgid "hint: run \"hg debugrebuildfncache\" to recover from corrupt fncache\n"
-msgstr ""
-"ヒント: fncache の修復には \"hg debugrebuildfncache\" を実施してください\n"
-
-#, python-format
-msgid "%d integrity errors encountered!\n"
-msgstr "不整合が %d 件あります!\n"
-
-#, python-format
-msgid "(first damaged changeset appears to be %d)\n"
-msgstr "(最初の不整合は %d の模様)\n"
+msgid ""
+"incompatible Mercurial client; bundle2 required\n"
+"(see https://www.mercurial-scm.org/wiki/IncompatibleClient)\n"
+msgstr ""
+"bundle2 未サポートの Mercurial クライアントとは互換性がありません\n"
+"(https://www.mercurial-scm.org/wiki/IncompatibleClient を参照してください)\n"
 
 msgid "look up remote revision"
 msgstr "連携先でのリビジョンの検索"
--- a/i18n/pt_BR.po	Thu Jan 14 10:03:31 2016 -0800
+++ b/i18n/pt_BR.po	Mon Feb 01 18:29:07 2016 -0600
@@ -31,8 +31,8 @@
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2015-11-01 08:48-0200\n"
-"PO-Revision-Date: 2015-11-01 15:22-0200\n"
+"POT-Creation-Date: 2016-01-31 09:42-0200\n"
+"PO-Revision-Date: 2016-02-01 12:09-0200\n"
 "Last-Translator: Wagner Bruna <wbruna@softwareexpress.com.br>\n"
 "Language-Team: Brazilian Portuguese <>\n"
 "MIME-Version: 1.0\n"
@@ -1344,6 +1344,56 @@
 msgid "censor tombstone must be no longer than censored data"
 msgstr "lápide de censura não pode ser maior que os dados censurados"
 
+msgid "command server extension for cHg (EXPERIMENTAL)"
+msgstr "extensão de servidor de comandos para o cHg (EXPERIMENTAL)"
+
+msgid ""
+"'S' channel (read/write)\n"
+"    propagate ui.system() request to client"
+msgstr ""
+"canal 'S' (leitura/escrita)\n"
+"    propaga pedido ui.system() para o cliente"
+
+msgid ""
+"'attachio' command\n"
+"    attach client's stdio passed by sendmsg()"
+msgstr ""
+
+msgid ""
+"'chdir' command\n"
+"    change current directory"
+msgstr ""
+"comando 'chdir'\n"
+"    muda o diretório atual"
+
+msgid ""
+"'getpager' command\n"
+"    checks if pager is enabled and which pager should be executed"
+msgstr ""
+"comando 'getpager'\n"
+"    verifica se um paginador está habilitado e qual paginador deve ser executado"
+
+msgid ""
+"'setenv' command\n"
+"    replace os.environ completely"
+msgstr ""
+"comando 'setenv'\n"
+"    substitui os.environ completamente"
+
+msgid ""
+"'SIGHUP' signal\n"
+"    reload configuration files\n"
+msgstr ""
+"sinal 'SIGHUP'\n"
+"    relê arquivos de configuração\n"
+
+msgid "invalid response"
+msgstr "resposta inválida"
+
+#, python-format
+msgid "abort: %s\n"
+msgstr "abortado: %s\n"
+
 msgid "command to display child changesets (DEPRECATED)"
 msgstr "comando para exibir revisões filhas (OBSOLETO)"
 
@@ -1368,15 +1418,29 @@
 "    revision is given via -r/--rev, the children of that revision will\n"
 "    be printed. If a file argument is given, revision in which the\n"
 "    file was last changed (after the working directory revision or the\n"
-"    argument to --rev if given) is printed.\n"
-"    "
+"    argument to --rev if given) is printed."
 msgstr ""
 "    Imprime os filhos das revisões do diretório de trabalho. Se uma\n"
 "    revisão for dada por -r/--rev, imprime os filhos dessa revisão.\n"
 "    Se for passado um arquivo como parâmetro, a revisão na qual esse\n"
 "    arquivo foi modificado por último (após a revisão do diretório\n"
-"    de trabalho ou da passada em --rev) será impressa.\n"
-"    "
+"    de trabalho ou da passada em --rev) será impressa."
+
+msgid "    Please use :hg:`log` instead::"
+msgstr "    Por favor use :hg:`log`::"
+
+msgid ""
+"        hg children => hg log -r 'children()'\n"
+"        hg children -r REV => hg log -r 'children(REV)'"
+msgstr ""
+"        hg children => hg log -r 'children()'\n"
+"        hg children -r REV => hg log -r 'children(REV)'"
+
+msgid "    See :hg:`help log` and :hg:`help revsets.children`."
+msgstr "    Veja :hg:`help log` e :hg:`help revsets.children`."
+
+msgid "    "
+msgstr "    "
 
 msgid "command to display statistics about repository history"
 msgstr "comando para mostrar estatísticas do histórico do repositório"
@@ -1513,8 +1577,8 @@
 msgid "skipping malformed alias: %s\n"
 msgstr "omitindo apelido mal formado: %s\n"
 
-msgid "advertise pre-generated bundles to seed clones (experimental)"
-msgstr ""
+msgid "advertise pre-generated bundles to seed clones"
+msgstr "anuncia bundles pré-gerados para facilitar clones"
 
 msgid ""
 "\"clonebundles\" is a server-side extension used to advertise the existence\n"
@@ -1572,7 +1636,7 @@
 "* 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"
+"  how to talk to through its normal URL handling facility (typically an\n"
 "  HTTP server).\n"
 "* A process for keeping the bundles manifest in sync with available bundle\n"
 "  files."
@@ -1586,7 +1650,7 @@
 msgstr ""
 
 msgid ""
-"Bundle files can be generated with the :hg:`bundle` comand. Typically\n"
+"Bundle files can be generated with the :hg:`bundle` command. Typically\n"
 ":hg:`bundle --all` is used to produce a bundle of the entire repository."
 msgstr ""
 
@@ -1603,13 +1667,6 @@
 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"
@@ -1662,6 +1719,12 @@
 msgstr ""
 
 msgid ""
+"   :hg:`debugbundle --spec` can be used to print the bundle specification\n"
+"   string for a bundle file. The output of this command can be used verbatim\n"
+"   for the value of ``BUNDLESPEC`` (it is already escaped)."
+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."
@@ -1675,7 +1738,8 @@
 
 msgid ""
 "   **Use of this key is highly recommended**, as it allows clients to\n"
-"   easily skip unsupported bundles."
+"   easily skip unsupported bundles. If this key is not defined, an old\n"
+"   client may attempt to apply a bundle that it is incapable of reading."
 msgstr ""
 
 msgid ""
@@ -1728,54 +1792,7 @@
 "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\""
+"Mercurial server when the bundle hosting service fails.\n"
 msgstr ""
 
 msgid "colorize output from some commands"
@@ -3964,12 +3981,6 @@
 msgid "cleaning up temp directory\n"
 msgstr "limpando o diretório temporário\n"
 
-msgid "CMD"
-msgstr "COMANDO"
-
-msgid "comparison program to run"
-msgstr "programa de comparação a executar"
-
 msgid "OPT"
 msgstr "OPÇÃO"
 
@@ -3985,6 +3996,12 @@
 msgid "compare patches for two revisions"
 msgstr "compara patches para duas revisões"
 
+msgid "CMD"
+msgstr "COMANDO"
+
+msgid "comparison program to run"
+msgstr "programa de comparação a executar"
+
 msgid "hg extdiff [OPT]... [FILE]..."
 msgstr "hg extdiff [OPÇÃO]... [ARQUIVO]..."
 
@@ -4325,10 +4342,11 @@
 
 msgid ""
 "The functionality of this extension has been include in core Mercurial\n"
-"since version 2.3."
+"since version 2.3. Please use :hg:`log -G ...` instead."
 msgstr ""
 "A funcionalidade desta extensão foi incluída no Mercurial\n"
-"a partir da versão 2.3."
+"a partir da versão 2.3. Por favor use :hg:`log -G ...` em\n"
+"seu lugar."
 
 msgid ""
 "This extension adds a --graph option to the incoming, outgoing and log\n"
@@ -4398,11 +4416,16 @@
 
 msgid ""
 "    Nodes printed as an @ character are parents of the working\n"
-"    directory.\n"
-"    "
+"    directory."
 msgstr ""
 "    Nós impressos como um caractere @ são pais do diretório de\n"
-"    trabalho.\n"
+"    trabalho.    "
+
+msgid ""
+"    This is an alias to :hg:`log -G`.\n"
+"    "
+msgstr ""
+"    É um apelido para :hg:`log -G`.\n"
 "    "
 
 msgid "hooks for integrating with the CIA.vc notification service"
@@ -4936,6 +4959,13 @@
 "origem, você pode adicionar uma opção ``--force``."
 
 msgid ""
+"Config\n"
+"------"
+msgstr ""
+"Configuração\n"
+"------------"
+
+msgid ""
 "Histedit rule lines are truncated to 80 characters by default. You\n"
 "can customize this behavior by setting a different length in your\n"
 "configuration file::"
@@ -4946,39 +4976,56 @@
 
 msgid ""
 "  [histedit]\n"
-"  linelen = 120      # truncate rule lines at 120 characters\n"
+"  linelen = 120      # truncate rule lines at 120 characters"
+msgstr ""
+"  [histedit]\n"
+"  linelen = 120      # trunca linhas de edição em 120 caracteres"
+
+msgid ""
+"``hg histedit`` attempts to automatically choose an appropriate base\n"
+"revision to use. To change which base revision is used, define a\n"
+"revset in your configuration file::"
+msgstr ""
+"``hg histedit`` tenta automaticamente escolher uma revisão base\n"
+"apropriada. Para mudar a revisão base usada, defina um revset em\n"
+"seu arquivo de configuração::"
+
+msgid ""
+"  [histedit]\n"
+"  defaultrev = only(.) & draft()"
 msgstr ""
 "  [histedit]\n"
-"  linelen = 120      # trunca linhas de edição em 120 caracteres\n"
-
-#. i18n: command names and abbreviations must remain untranslated
-#, python-format
-msgid ""
-"# Edit history between %s and %s\n"
-"#\n"
-"# Commits are listed from least to most recent\n"
-"#\n"
-"# Commands:\n"
-"#  p, pick = use commit\n"
-"#  e, edit = use commit, but stop for amending\n"
-"#  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 commit message without changing commit content\n"
-"#\n"
-msgstr ""
-"# Editar o histórico entre %s e %s\n"
-"#\n"
-"# Revisões são listadas da menos para a mais recente\n"
-"#\n"
-"# Comandos:\n"
-"#  p, pick = use a revisão\n"
-"#  e, edit = use a revisão, mas pare para emendar\n"
-"#  f, fold = use a revisão, mas combine com a revisão acima\n"
-"#  r, roll = como fold, mas descarta a descrição da revisão\n"
-"#  d, drop = remova a revisão do histórico\n"
-"#  m, mess = edite a mensagem sem mudar o conteúdo da revisão\n"
-"# #\n"
+"  defaultrev = only(.) & draft()"
+
+msgid ""
+"By default each edited revision needs to be present in histedit commands.\n"
+"To remove revision you need to use ``drop`` operation. You can configure\n"
+"the drop to be implicit for missing commits by adding:"
+msgstr ""
+"Por padrão cada revisão editada precisa estar presente nos\n"
+"comandos histedit.\n"
+"Para remover uma revisão, você precisa usar a operação ``drop``.\n"
+"Você pode configurar a remoção como implícita para revisões\n"
+"faltando adicionando:"
+
+msgid ""
+"  [histedit]\n"
+"  dropmissing = True"
+msgstr ""
+"  [histedit]\n"
+"  dropmissing = True"
+
+#, python-format
+msgid "Edit history between %s and %s"
+msgstr "Edita histórico entre %s e %s"
+
+#, python-format
+msgid "Commits are listed from least to most recent"
+msgstr "Revisões são listadas da mais antiga para a mais recente"
+
+#, python-format
+msgid "Commands:\n"
+msgstr "Comandos:\n"
 
 msgid "no histedit in progress"
 msgstr "nenhuma edição de histórico em andamento"
@@ -4987,8 +5034,12 @@
 msgid "unknown changeset %s listed"
 msgstr "revisão desconhecida %s listada"
 
-msgid "Fix up the change and run hg histedit --continue"
-msgstr "Conserte a mudança e execute hg histedit --continue"
+#, python-format
+msgid "Fix up the change (%s %s)"
+msgstr "Corrija a mudança (%s %s)"
+
+msgid "hg histedit --continue to resume"
+msgstr "hg histedit --continue para retomar"
 
 #, python-format
 msgid "%s: empty changeset\n"
@@ -4998,12 +5049,30 @@
 msgid "cannot fold into public change %s"
 msgstr "não é possível combinar com a revisão pública %s"
 
-msgid ""
-"Make changes as needed, you may commit or record as needed now.\n"
-"When you are finished, run hg histedit --continue to resume."
-msgstr ""
-"Faça mudanças conforme for necessário, consolidando ou gravando usando record.\n"
-"Quando tiver terminado, execute hg histedit --continue para retomar."
+msgid "working copy has pending changes"
+msgstr "a cópia de trabalho possui mudanças pendentes"
+
+msgid ""
+"amend, commit, or revert them and run histedit --continue, or abort with "
+"histedit --abort"
+msgstr ""
+"emende, consolide ou reverta as mudanças e use 'hg histedit --continue', ou "
+"aborte com 'hg histedit --abort'"
+
+msgid "use commit"
+msgstr "usa a revisão"
+
+msgid "use commit, but stop for amending"
+msgstr "usa a revisão, mas interrompe para emendar"
+
+#, python-format
+msgid "Editing (%s), you may commit or record as needed now."
+msgstr ""
+"Editando (%s), você pode consolidar ou usar record agora conforme "
+"necessário."
+
+msgid "use commit, but combine it with the one above"
+msgstr "usa a revisão, mas combina com a acima"
 
 #, python-format
 msgid ""
@@ -5012,6 +5081,27 @@
 "%s: não é possível combinar - a cópia de trabalho não é um descendente da "
 "revisão anterior %s\n"
 
+msgid "fold subclass used for when multiple folds happen in a row"
+msgstr ""
+
+msgid ""
+"    We only want to fire the editor for the folded message once when\n"
+"    (say) four changes are folded down into a single change. This is\n"
+"    similar to rollup, but we should preserve both messages so that\n"
+"    when the last fold operation runs we can show the user all the\n"
+"    commit messages in their editor.\n"
+"    "
+msgstr ""
+
+msgid "like fold, but discard this commit's description"
+msgstr "como fold, mas descarta a descrição da revisão"
+
+msgid "remove commit from history"
+msgstr "remove a revisão do histórico"
+
+msgid "edit commit message without changing commit content"
+msgstr "edita a mensagem de consolidação sem mudar o conteúdo da revisão"
+
 #, python-format
 msgid "comparing with %s\n"
 msgstr "comparando com %s\n"
@@ -5049,48 +5139,182 @@
 msgid "first revision to be edited"
 msgstr "primeira revisão a ser editada"
 
-msgid "ANCESTOR | --outgoing [URL]"
-msgstr "ANCESTRAL | --outgoing [URL]"
+msgid "[OPTIONS] ([ANCESTOR] | --outgoing [URL])"
+msgstr "[OPÇÕES] ([ANCESTRAL] | --outgoing [URL])"
 
 msgid "interactively edit changeset history"
 msgstr "edição interativa de histórico de revisões"
 
 msgid ""
-"    This command edits changesets between ANCESTOR and the parent of\n"
-"    the working directory."
-msgstr ""
-"    Este comando edita revisões entre ANCESTRAL e o pai do diretório\n"
-"    de trabalho."
-
-msgid ""
-"    With --outgoing, this edits changesets not found in the\n"
-"    destination repository. If URL of the destination is omitted, the\n"
-"    'default-push' (or 'default') path will be used."
-msgstr ""
-"    Com --outgoing, edita revisões não encontradas no repositório de\n"
-"    destino. Se a URL do destino for omitida, o caminho definido em\n"
-"    'default-push' (ou 'default') será usado."
-
-msgid ""
-"    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"
-"    os usuários: por exemplo, se vários ramos possuírem revisões a\n"
-"    serem enviadas."
-
-msgid ""
-"    Use \"min(outgoing() and ::.)\" or similar revset specification\n"
-"    instead of --outgoing to specify edit target revision exactly in\n"
-"    such ambiguous situation. See :hg:`help revsets` for detail about\n"
-"    selecting revisions."
-msgstr ""
-"    Ao invés de --outgoing, use \"min(outgoing() and ::.)\" ou outro\n"
-"    revset semelhante para especificar com exatidão as revisões a serem\n"
-"    editadas nessas situações.Veja :hg:`help revsets` para detalhes sobre\n"
-"    seleção de revisões."
+"    This command lets you edit a linear series of changesets (up to\n"
+"    and including the working directory, which should be clean).\n"
+"    You can::"
+msgstr ""
+"    Este comando possibilita a edição de uma série linear\n"
+"    de revisões (até e incluindo o diretório de trabalho,\n"
+"    que deve estar limpo).\n"
+"    Você pode usar::"
+
+msgid "    - `pick` to [re]order a changeset"
+msgstr "    - `pick` para [re]ordenar uma revisão"
+
+msgid "    - `drop` to omit changeset"
+msgstr "    - `drop` para omitir revisões"
+
+msgid "    - `mess` to reword the changeset commit message"
+msgstr "    - `mess` para reescrever a mensagem de consolidação"
+
+msgid "    - `fold` to combine it with the preceding changeset"
+msgstr "    - `fold` para combinar a revisão com a anterior"
+
+msgid "    - `roll` like fold, but discarding this commit's description"
+msgstr "    - `roll` como `fold`, mas descartando a descrição da revisão"
+
+msgid "    - `edit` to edit this changeset"
+msgstr "    - `edit` para editar a revisão"
+
+msgid "    There are a number of ways to select the root changset::"
+msgstr "    Há diversas maneiras de selecionar a revisão raiz::"
+
+msgid "    - Specify ANCESTOR directly"
+msgstr "    - Especificar ANCESTRAL diretamente"
+
+msgid ""
+"    - Use --outgoing -- it will be the first linear changeset not\n"
+"      included in destination. (See :hg:\"help default-push\")"
+msgstr ""
+"    - Usar --outgoing -- será a primeira revisão linear não\n"
+"      incluída no destino. (veja :hg:\"help default-push\")"
+
+msgid ""
+"    - Otherwise, the value from the \"histedit.defaultrev\" config option\n"
+"      is used as a revset to select the base revision when ANCESTOR is not\n"
+"      specified. The first revision returned by the revset is used. By\n"
+"      default, this selects the editable history that is unique to the\n"
+"      ancestry of the working directory."
+msgstr ""
+"    - Caso contrário, o valor da opção de configuração \"histedit.defaultrev\"\n"
+"      será usado para selecionar a revisão base quando o ANCESTRAL não\n"
+"      for especificado.\n"
+"      Será usada a primeira revisão retorjnada pelo revset.\n"
+"      Por padrão, isto seleciona o histórico editável que for único para\n"
+"      os ancestrais do diretório de trabalho."
+
+msgid ""
+"       If you use --outgoing, this command will abort if there are ambiguous\n"
+"       outgoing revisions. For example, if there are multiple branches\n"
+"       containing outgoing revisions."
+msgstr ""
+"       Se você usar --outgoing, este comando abortará se houverem\n"
+"       revisões ambíguas a serem enviadas.\n"
+"       Por exemplo, se houverem múltiplos ramos contendo\n"
+"       revisões a serem enviadas."
+
+msgid ""
+"       Use \"min(outgoing() and ::.)\" or similar revset specification\n"
+"       instead of --outgoing to specify edit target revision exactly in\n"
+"       such ambiguous situation. See :hg:`help revsets` for detail about\n"
+"       selecting revisions."
+msgstr ""
+"       Ao invés de --outgoing, use \"min(outgoing() and ::.)\" ou outro\n"
+"       revset semelhante para especificar com exatidão as revisões a serem\n"
+"       editadas nessas situações.Veja :hg:`help revsets` para detalhes sobre\n"
+"       seleção de revisões."
+
+msgid "       Examples:"
+msgstr "       Exemplos:"
+
+msgid ""
+"         - A number of changes have been made.\n"
+"           Revision 3 is no longer needed."
+msgstr ""
+"         - Algumas mudanças são feitas.\n"
+"           A revisão 3 não é mais necessária."
+
+msgid "           Start history editing from revision 3::"
+msgstr "           Inicia a edição de histórico a partir da revisão 3::"
+
+msgid "             hg histedit -r 3"
+msgstr "             hg histedit -r 3"
+
+msgid ""
+"           An editor opens, containing the list of revisions,\n"
+"           with specific actions specified::"
+msgstr ""
+"           É aberto um editor contendo a lista de revisões,\n"
+"           com ações específicas descritas::"
+
+msgid ""
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 0a9639fcda9d 5 Morgify the cromulancy"
+msgstr ""
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 0a9639fcda9d 5 Morgify the cromulancy"
+
+msgid ""
+"           Additional information about the possible actions\n"
+"           to take appears below the list of revisions."
+msgstr ""
+"           Informações adicionais sobre as ações possíveis a serem\n"
+"           tomadas aparecem abaixo da lista de revisões."
+
+msgid ""
+"           To remove revision 3 from the history,\n"
+"           its action (at the beginning of the relevant line)\n"
+"           is changed to 'drop'::"
+msgstr ""
+"           Para remover a revisão 3 do histórico,\n"
+"           sua ação (no começo da linha relevante)\n"
+"           é modificada para 'drop'::"
+
+msgid ""
+"             drop 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 0a9639fcda9d 5 Morgify the cromulancy"
+msgstr ""
+"             drop 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 0a9639fcda9d 5 Morgify the cromulancy"
+
+msgid ""
+"         - A number of changes have been made.\n"
+"           Revision 2 and 4 need to be swapped."
+msgstr ""
+"         - Algumas mudanças são feitas.\n"
+"           As revisões 2 e 4 precisam ser trocadas."
+
+msgid "           Start history editing from revision 2::"
+msgstr "           Começa a edição de histórico a partir da revisão 2::"
+
+msgid "             hg histedit -r 2"
+msgstr "             hg histedit -r 2"
+
+msgid ""
+"             pick 252a1af424ad 2 Blorb a morgwazzle\n"
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog"
+msgstr ""
+"             pick 252a1af424ad 2 Blorb a morgwazzle\n"
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog"
+
+msgid ""
+"           To swap revision 2 and 4, its lines are swapped\n"
+"           in the editor::"
+msgstr ""
+"           Para trocar as revisões 2 e 4, suas linhas são trocadas\n"
+"           no editor::"
+
+msgid ""
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 252a1af424ad 2 Blorb a morgwazzle"
+msgstr ""
+"             pick 8ef592ce7cc4 4 Bedazzle the zerlog\n"
+"             pick 5339bf82f0ca 3 Zworgle the foobar\n"
+"             pick 252a1af424ad 2 Blorb a morgwazzle"
 
 msgid ""
 "    Returns 0 on success, 1 if user intervention is required (not only\n"
@@ -5145,8 +5369,11 @@
 msgid "%s is not an ancestor of working directory"
 msgstr "%s não é um ancestral do diretório de trabalho"
 
-msgid "working copy still dirty"
-msgstr "a cópia de trabalho ainda está suja"
+msgid "editing"
+msgstr "editando"
+
+msgid "changes"
+msgstr "mudanças"
 
 msgid "cannot edit history that would orphan nodes"
 msgstr "não é possível editar histórico de forma a produzir nós órfãos"
@@ -5165,23 +5392,39 @@
 msgid "malformed line \"%s\""
 msgstr "linha malformada \"%s\""
 
-msgid "may not use changesets other than the ones listed"
-msgstr "não é possível usar revisões além das listadas"
+#, python-format
+msgid "unknown action \"%s\""
+msgstr "ação desconhecida \"%s\""
+
+msgid "warning: histedit rules saved to: .hg/histedit-last-edit.txt\n"
+msgstr "aviso: regras de histedit gravadas em: .hg/histedit-last-edit.txt\n"
+
+#, python-format
+msgid "unknown constraint \"%s\""
+msgstr "restrição desconhecida \"%s\""
+
+#, python-format
+msgid "%s \"%s\" changeset was not a candidate"
+msgstr "%s revisão \"%s\" não foi um candidato"
+
+msgid "only use listed changesets"
+msgstr "usa apenas revisões listadas"
+
+#, python-format
+msgid "%s \"%s\" changeset was not an edited list candidate"
+msgstr "%s revisão \"%s\" não foi um candidato editado na lista"
 
 #, python-format
 msgid "duplicated command for changeset %s"
 msgstr "comando duplicado para a revisão %s"
 
 #, python-format
-msgid "unknown action \"%s\""
-msgstr "ação desconhecida \"%s\""
-
-#, python-format
 msgid "missing rules for changeset %s"
 msgstr "regras faltando para a revisão %s"
 
-msgid "do you want to use the drop action?"
-msgstr "você gostaria de usar a ação drop?"
+#, python-format
+msgid "use \"drop %s\" to discard, see also: \"hg help -e histedit.config\""
+msgstr "use \"drop %s\" para descartar, veja também: \"hg help -e histedit.config\""
 
 #, python-format
 msgid "histedit: moving bookmarks %s from %s to %s\n"
@@ -5206,6 +5449,12 @@
 msgid "use 'hg histedit --continue' or 'hg histedit --abort'"
 msgstr "use 'hg histedit --continue' ou 'hg histedit --abort'"
 
+msgid "hg histedit --continue"
+msgstr "hg histedit --continue"
+
+msgid "checkout changeset and apply further changesets from there"
+msgstr "atualiza para a revisão e aplica mudanças seguintes a partir dela"
+
 msgid "expand keywords in tracked files"
 msgstr "expande palavras chave em arquivos rastreados"
 
@@ -5986,6 +6235,14 @@
 msgid "%s: data corruption in %s with hash %s\n"
 msgstr "%s: corrupção de dados em %s com hash %s\n"
 
+#, python-format
+msgid "%s: largefile %s not available from local store\n"
+msgstr "%s: largefile %s não está disponível no armazenamento local\n"
+
+#, python-format
+msgid "%s: file not found!"
+msgstr "%s: arquivo não encontrado!"
+
 msgid "finding outgoing largefiles"
 msgstr "encontrando largefiles a serem enviados"
 
@@ -7768,12 +8025,8 @@
 msgid "mq:     (empty queue)\n"
 msgstr "mq:           (fila vazia)\n"
 
-msgid ""
-"``mq()``\n"
-"    Changesets managed by MQ."
-msgstr ""
-"``mq()``\n"
-"    Revisões gerenciadas pela MQ."
+msgid "Changesets managed by MQ."
+msgstr "Revisões gerenciadas pela MQ."
 
 msgid "mq takes no arguments"
 msgstr "mq não tem argumentos"
@@ -8195,13 +8448,22 @@
 "usuário."
 
 msgid ""
-"The --pager=... option can also be used to control when the pager is\n"
-"used. Use a boolean value like yes, no, on, off, or use auto for\n"
-"normal behavior."
-msgstr ""
-"A opção --pager=... pode também ser usada para controlar em que momentos\n"
-"o pager será usado. Use um valor booleano como yes, no, on, off, ou use\n"
-"auto para comportamento normal."
+"To control whether the pager is used at all for an individual command,\n"
+"you can use --pager=<value>::"
+msgstr ""
+"Para controlar o uso do pager para comandos individuais,\n"
+"você pode usar --pager=<value>::"
+
+msgid ""
+"  - use as needed: `auto`.\n"
+"  - require the pager: `yes` or `on`.\n"
+"  - suppress the pager: `no` or `off` (any unrecognized value\n"
+"  will also work)."
+msgstr ""
+"  - usará se precisar: `auto`.\n"
+"  - requer o pager: `yes` ou `on`.\n"
+"  - suprime o pager: `no` ou `off` (ou qualquer valor não\n"
+"  reconhecido)."
 
 msgid "when to paginate (boolean, always, auto, or never)"
 msgstr ""
@@ -8298,6 +8560,22 @@
 "mais detalhes."
 
 msgid ""
+"By default, :hg:`email` will prompt for a ``To`` or ``CC`` header if\n"
+"you do not supply one via configuration or the command line.  You can\n"
+"override this to never prompt by configuring an empty value::"
+msgstr ""
+"Por padrão, :hg:`email` solicitará um cabeçalho ``To`` ou ``CC`` se\n"
+"um não for fornecido pela configuração ou linha de comando. Você pode\n"
+"evitar essa solicitação configurando um valor vazio::"
+
+msgid ""
+"  [email]\n"
+"  cc ="
+msgstr ""
+"  [email]\n"
+"  cc ="
+
+msgid ""
 "You can control the default inclusion of an introduction message with the\n"
 "``patchbomb.intro`` configuration option. The configuration is always\n"
 "overwritten by command line flags like --intro and --desc::"
@@ -8674,17 +8952,6 @@
 msgid "writing"
 msgstr "escrevendo"
 
-msgid "show progress bars for some actions (DEPRECATED)"
-msgstr "mostra barras de progresso para algumas ações (OBSOLETO)"
-
-msgid ""
-"This extension has been merged into core, you can remove it from your config.\n"
-"See hg help config.progress for configuration options.\n"
-msgstr ""
-"Esta extensão foi integrada ao Mercurial, você pode removê-la de sua\n"
-"configuração.\n"
-"Veja hg help config.progress para opções de configuração.\n"
-
 msgid "command to delete untracked files from the working directory"
 msgstr "comando para apagar do diretório de trabalho arquivos não rastreados"
 
@@ -8872,22 +9139,11 @@
 "    mestra de desenvolvimento."
 
 msgid ""
-"    You should not rebase changesets that have already been shared\n"
-"    with others. Doing so will force everybody else to perform the\n"
-"    same rebase or they will end up with duplicated changesets after\n"
-"    pulling in your rebased changesets."
-msgstr ""
-"    Você não deve rebasear revisões que já foram compartilhadas com\n"
-"    outros desenvolvedores. A não ser que todos realizem a mesma\n"
-"    operação rebase, eles ainda terão as revisões originais em seus\n"
-"    repositórios, que aparecerão como duplicatas das revisões rebaseadas."
-
-msgid ""
-"    In its default configuration, Mercurial will prevent you from\n"
-"    rebasing published changes. See :hg:`help phases` for details."
-msgstr ""
-"    Em sua configuração padrão, o Mercurial impede que revisões\n"
-"    públicas sejam rebaseadas. Veja :hg:`help phases` para mais detalhes."
+"    Published commits cannot be rebased (see :hg:`help phases`).\n"
+"    To copy commits, see :hg:`help graft`."
+msgstr ""
+"    Revisões públicas não podem ser rebaseadas (veja :hg:`help phases`).\n"
+"    Para copiar revisões, veja :hg:`help graft`."
 
 msgid ""
 "    If you don't specify a destination changeset (``-d/--dest``),\n"
@@ -8900,79 +9156,65 @@
 "    atual (a revisão de destino não é modificada pelo rebaseamento, mas\n"
 "    novas revisões são acrescentadas como seus descendentes)."
 
-msgid ""
-"    You can specify which changesets to rebase in two ways: as a\n"
-"    \"source\" changeset or as a \"base\" changeset. Both are shorthand\n"
-"    for a topologically related set of changesets (the \"source\n"
-"    branch\"). If you specify source (``-s/--source``), rebase will\n"
-"    rebase that changeset and all of its descendants onto dest. If you\n"
-"    specify base (``-b/--base``), rebase will select ancestors of base\n"
-"    back to but not including the common ancestor with dest. Thus,\n"
-"    ``-b`` is less precise but more convenient than ``-s``: you can\n"
-"    specify any changeset in the source branch, and rebase will select\n"
-"    the whole branch. If you specify neither ``-s`` nor ``-b``, rebase\n"
-"    uses the parent of the working directory as the base."
-msgstr ""
-"    Você pode especificar quais revisões rebasear de duas maneiras:\n"
-"    revisão de \"origem\" ou revisão \"base\". Ambas são formas de\n"
-"    especificar um conjunto de revisões topologicamente relacionadas (o\n"
-"    \"ramo de origem\"). Se você especificar a revisão de origem (com\n"
-"    ``-s/--source``), o comando rebase irá rebasear tal revisão e todos\n"
-"    os seus descendentes para o destino. Se você especificar a revisão\n"
-"    base (com ``-b/--base``), o comando rebase selecionará ancestrais\n"
-"    dessa revisão base até, mas sem incluir, seu ancestral comum com o\n"
-"    destino. Assim, ``-b`` é menos preciso, mas mais conveniente, que\n"
-"    ``-s``: você pode especificar qualquer revisão no ramo de origem,\n"
-"    e rebase irá selecionar o ramo completo. Se você não especificar\n"
-"    nem ``-s`` nem ``-b``, rebase usará o pai do diretório de trabalho\n"
-"    como revisão base."
-
-msgid ""
-"    For advanced usage, a third way is available through the ``--rev``\n"
-"    option. It allows you to specify an arbitrary set of changesets to\n"
-"    rebase. Descendants of revs you specify with this option are not\n"
-"    automatically included in the rebase."
-msgstr ""
-"    Um modo avançado adicional está disponível através da opção\n"
-"    ``--rev``. Ele possibilita a especificação de um conjunto\n"
-"    arbitrário de revisões a serem rebaseadas. Os descendentes\n"
-"    das revisões especificadas dessa maneira não serão\n"
-"    automaticamente incluídos no rebaseamento."
-
-msgid ""
-"    By default, rebase recreates the changesets in the source branch\n"
-"    as descendants of dest and then destroys the originals. Use\n"
-"    ``--keep`` to preserve the original source changesets. Some\n"
-"    changesets in the source branch (e.g. merges from the destination\n"
-"    branch) may be dropped if they no longer contribute any change."
-msgstr ""
-"    Por padrão, rebase recria as revisões do ramo de origem como\n"
-"    descendentes do destino, e destrói as originais. Use a opção\n"
-"    ``--keep`` para preservar as revisões originais. Algumas revisões\n"
-"    no ramo de origem (por exemplo, mesclagens com o ramo de destino)\n"
-"    podem ser descartadas se elas não contribuírem mais com nenhuma\n"
-"    mudança."
-
-msgid ""
-"    One result of the rules for selecting the destination changeset\n"
-"    and source branch is that, unlike ``merge``, rebase will do\n"
-"    nothing if you are at the branch tip of a named branch\n"
-"    with two heads. You need to explicitly specify source and/or\n"
-"    destination (or ``update`` to the other head, if it's the head of\n"
-"    the intended source branch)."
-msgstr ""
-"    Um resultado das regras de seleção da revisão de destino é que, ao\n"
+msgid "    Here are the ways to select changesets::"
+msgstr "    Estas são as maneiras de selecionar revisões::"
+
+msgid "      1. Explicitly select them using ``--rev``."
+msgstr "      1. Seleção explícita usando ``--rev``."
+
+msgid ""
+"      2. Use ``--source`` to select a root changeset and include all of its\n"
+"      descendants."
+msgstr ""
+"      2. Use ``--source`` para selecionar uma revisão raiz e incluir\n"
+"      todos os seus descendentes."
+
+msgid ""
+"      3. Use ``--base`` to select a changeset; rebase will find ancestors\n"
+"      and their descendants which are not also ancestors of the destination."
+msgstr ""
+"      3. Use ``--base`` para selecionar uma revisão; rebase encontrará\n"
+"      os ancestrais e seus descendentes que também não forem ancestrais\n"
+"      do destino."
+
+msgid ""
+"      4. If you do not specify any of ``--rev``, ``source``, or ``--base``,\n"
+"      rebase will use ``--base .`` as above."
+msgstr ""
+"      4. Se você não especificar ``--rev``, ``source`` ou ``--base``,\n"
+"      rebase usará ``--base .`` como acima."
+
+msgid ""
+"    Rebase will destroy original changesets unless you use ``--keep``.\n"
+"    It will also move your bookmarks (even if you do)."
+msgstr ""
+"    Rebase destruirá as revisões originais a não ser que você use\n"
+"    ``--keep``.\n"
+"    Ele também moverá marcadores, mesmo com ``--keep``."
+
+msgid ""
+"    Some changesets may be dropped if they do not contribute changes\n"
+"    (e.g. merges from the destination branch)."
+msgstr ""
+"    Algumas revisões poderão ser descartadas se elas não contribuírem\n"
+"    com mudanças (como mesclagens a partir do ramo de destino)."
+
+msgid ""
+"    Unlike ``merge``, rebase will do nothing if you are at the branch tip of\n"
+"    a named branch with two heads. You will need to explicitly specify source\n"
+"    and/or destination."
+msgstr ""
+"    Ao\n"
 "    contrário de ``merge``, rebase não fará nada se você estiver na\n"
 "    revisão mais recente de um ramo nomeado com duas ou mais\n"
 "    cabeças. Nesse caso você precisa especificar explicitamente a origem\n"
-"    e/ou o destino (ou fazer um ``update`` para outra cabeça, se for a\n"
-"    cabeça do ramo de origem desejado)."
-
-msgid ""
-"    If a rebase is interrupted to manually resolve a merge, it can be\n"
+"    e/ou o destino."
+
+msgid ""
+"    If a rebase is interrupted to manually resolve a conflict, it can be\n"
 "    continued with --continue/-c or aborted with --abort/-a."
 msgstr ""
-"    Se um rebaseamento for interrompido para resolver uma mesclagem\n"
+"    Se um rebaseamento for interrompido para resolver um conflito\n"
 "    manualmente, pode ser continuado com --continue/-c ou abortado com\n"
 "    --abort/-a."
 
@@ -9034,9 +9276,6 @@
 "    Devolve 0 para indicar sucesso, 1 se não houver nada para rebasear\n"
 "    ou se houverem conflitos não resolvidos."
 
-msgid "    "
-msgstr "    "
-
 #, python-format
 msgid ""
 "interactive history editing is supported by the 'histedit' extension (see "
@@ -9123,6 +9362,23 @@
 msgid "use --keep to keep original changesets"
 msgstr "use --keep para manter as revisões originais"
 
+msgid "this rebase will cause divergence"
+msgstr "este rebaseamento causará divergências"
+
+msgid "to force the rebase please set rebase.allowdivergence=True"
+msgstr "para forçar o rebaseamento configure rebase.allowdivergence=True"
+
+msgid "all requested changesets have equivalents or were marked as obsolete"
+msgstr ""
+"todas as revisões pedidas possuem equivalentes ou foram marcadas como "
+"obsoletas"
+
+msgid ""
+"to force the rebase, set the config experimental.rebaseskipobsolete to False"
+msgstr ""
+"para forçar o rebaseamento, configure experimental.rebaseskipobsolete como "
+"False"
+
 msgid "nothing to rebase\n"
 msgstr "nada para rebasear\n"
 
@@ -9165,6 +9421,10 @@
 msgstr "nota: omitindo rebaseamento de %s, que já está no destino como %s\n"
 
 #, python-format
+msgid "note: not rebasing %s, it has no successor\n"
+msgstr "nota: omitindo rebaseamento de %s, que não possui sucessor\n"
+
+#, python-format
 msgid "already rebased %s as %s\n"
 msgstr "revisão %s já rebaseada como %s\n"
 
@@ -9257,6 +9517,9 @@
 msgid "use 'hg rebase --continue' or 'hg rebase --abort'"
 msgstr "use 'hg rebase --continue' ou 'hg rebase --abort'"
 
+msgid "hg rebase --continue"
+msgstr "hg rebase --continue"
+
 msgid "commands to interactively select changes for commit/qrefresh"
 msgstr ""
 "comandos para selecionar interativamente mudanças em um commit ou qrefresh"
@@ -9881,6 +10144,9 @@
 "marca arquivos novos/ausentes como adicionados/removidos antes da operação "
 "shelve"
 
+msgid "store unknown files in the shelve"
+msgstr "armazena arquivos desconhecidos na shelve"
+
 msgid "delete all shelved changes"
 msgstr "remove todas as mudanças engavetadas"
 
@@ -9985,6 +10251,9 @@
 msgid "use 'hg unshelve --continue' or 'hg unshelve --abort'"
 msgstr "use 'hg unshelve --continue' ou 'hg unshelve --abort'"
 
+msgid "hg unshelve --continue"
+msgstr "hg unshelve --continue"
+
 msgid "strip changesets and their descendants from history"
 msgstr "remove do histórico revisões e seus descendentes"
 
@@ -10149,8 +10418,8 @@
 msgid "can only omit patchfile if merging"
 msgstr "só é possível omitir arquivo de patch em uma mesclagem"
 
-msgid "fix up the merge and run hg transplant --continue"
-msgstr "conserte a mesclagem e execute hg transplant --continue"
+msgid "fix up the working directory and run hg transplant --continue"
+msgstr "conserte o diretório de trabalho e execute hg transplant --continue"
 
 #, python-format
 msgid "skipping emptied changeset %s\n"
@@ -10332,7 +10601,7 @@
 msgid "--continue is incompatible with --branch, --all and --merge"
 msgstr "--continue é incompatível com --branch, --all e --merge"
 
-msgid "no source URL, branch revision or revision list provided"
+msgid "no source URL, branch revision, or revision list provided"
 msgstr "URL de origem, nome de ramo ou lista de revisões não fornecidas"
 
 msgid "--all requires a branch revision"
@@ -10344,18 +10613,18 @@
 msgid "no revision checked out"
 msgstr "nenhuma revisão posicionada"
 
+msgid "no transplant to continue"
+msgstr "não há um transplante em andamento"
+
 msgid "outstanding uncommitted merges"
 msgstr "mesclagens pendentes não consolidadas"
 
 msgid "outstanding local changes"
 msgstr "alterações locais pendentes"
 
-msgid ""
-"``transplanted([set])``\n"
-"    Transplanted changesets in set, or all transplanted changesets."
-msgstr ""
-"``transplanted([set])``\n"
-"    Revisões transplantadas no conjunto, ou todas as revisões transplantadas."
+msgid "Transplanted changesets in set, or all transplanted changesets."
+msgstr ""
+"Revisões transplantadas no conjunto, ou todas as revisões transplantadas."
 
 msgid ""
 ":transplanted: String. The node identifier of the transplanted\n"
@@ -10712,6 +10981,13 @@
 msgid "Seek failed\n"
 msgstr "Seek falhou\n"
 
+msgid ""
+"bundle contains tree manifests, but local repo is non-empty and does not use"
+" tree manifests"
+msgstr ""
+"o bundle contém manifestos de árvore, mas o repositório local não está  "
+"vazio e não usa manifestos de árvore"
+
 #, python-format
 msgid "remote-changegroup: missing \"%s\" param"
 msgstr "remote-changegroup: faltando parâmetro \"%s\""
@@ -10798,6 +11074,9 @@
 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 "received dir revlog group is empty"
+msgstr "grupo de revlog de diretório recebido vazio"
+
 msgid "bundling"
 msgstr "criando bundle"
 
@@ -10970,9 +11249,6 @@
 msgid "child process failed to start"
 msgstr "processo filho falhou ao iniciar"
 
-msgid "applied to working directory"
-msgstr "aplicado no diretório de trabalho"
-
 msgid "not a Mercurial patch"
 msgstr "não é um patch do Mercurial"
 
@@ -10989,6 +11265,9 @@
 msgid "patch is damaged or loses information"
 msgstr "o patch está danificado ou perde informação"
 
+msgid "applied to working directory"
+msgstr "aplicado no diretório de trabalho"
+
 #. i18n: refers to a short changeset id
 #, python-format
 msgid "created %s"
@@ -11223,6 +11502,16 @@
 msgid "use 'hg update' to get a consistent checkout"
 msgstr "use 'hg update' para obter uma cópia de trabalho consistente"
 
+msgid "hg graft --continue"
+msgstr "hg graft --continue"
+
+#, python-format
+msgid "continue: %s\n"
+msgstr "continue: %s\n"
+
+msgid "hg commit"
+msgstr "hg commit"
+
 #, python-format
 msgid "can't close already inactivated backup: dirstate%s"
 msgstr "não é possível fechar um backup já desativado: dirstate%s"
@@ -11383,6 +11672,15 @@
 msgid "recurse into subrepositories"
 msgstr "trabalha em sub-repositórios recursivamente"
 
+msgid "open changelog"
+msgstr "abre o changelog"
+
+msgid "open manifest"
+msgstr "abre o manifesto"
+
+msgid "open directory manifest"
+msgstr "abre o manifesto do diretório"
+
 msgid "[OPTION]... [FILE]..."
 msgstr "[OPÇÃO]... [ARQUIVO]..."
 
@@ -11404,36 +11702,62 @@
 "    consolidação. Para desfazer uma adição antes disso, veja\n"
 "    :hg:`forget`."
 
-msgid "    If no names are given, add all files to the repository."
+msgid ""
+"    If no names are given, add all files to the repository (except\n"
+"    files matching ``.hgignore``)."
 msgstr ""
 "    Se nomes não forem dados, adiciona todos os arquivos ao\n"
-"    repositório."
-
-msgid ""
-"       An example showing how new (unknown) files are added\n"
-"       automatically by :hg:`add`::"
-msgstr ""
-"       Um exemplo que mostra como novos arquivos (desconhecidos) são\n"
-"       adicionados automaticamente por :hg:`add`::"
-
-msgid ""
-"         $ ls\n"
-"         foo.c\n"
-"         $ hg status\n"
-"         ? foo.c\n"
-"         $ hg add\n"
-"         adding foo.c\n"
-"         $ hg status\n"
-"         A foo.c"
-msgstr ""
-"         $ ls\n"
-"         foo.c\n"
-"         $ hg status\n"
-"         ? foo.c\n"
-"         $ hg add\n"
-"         adicionando foo.c\n"
-"         $ hg status\n"
-"         A foo.c"
+"    repositório (excetuando arquivos especificados em ``.hgignore``)."
+
+msgid ""
+"         - New (unknown) files are added\n"
+"           automatically by :hg:`add`::"
+msgstr ""
+"         - Novos arquivos (desconhecidos) são\n"
+"           adicionados automaticamente por :hg:`add`::"
+
+msgid ""
+"             $ ls\n"
+"             foo.c\n"
+"             $ hg status\n"
+"             ? foo.c\n"
+"             $ hg add\n"
+"             adding foo.c\n"
+"             $ hg status\n"
+"             A foo.c"
+msgstr ""
+"             $ ls\n"
+"             foo.c\n"
+"             $ hg status\n"
+"             ? foo.c\n"
+"             $ hg add\n"
+"             adicionando foo.c\n"
+"             $ hg status\n"
+"             A foo.c"
+
+msgid "         - Specific files to be added can be specified::"
+msgstr "         - Arquivos específicos podem ser adicionados::"
+
+msgid ""
+"             $ ls\n"
+"             bar.c  foo.c\n"
+"             $ hg status\n"
+"             ? bar.c\n"
+"             ? foo.c\n"
+"             $ hg add bar.c\n"
+"             $ hg status\n"
+"             A bar.c\n"
+"             ? foo.c"
+msgstr ""
+"             $ ls\n"
+"             bar.c  foo.c\n"
+"             $ hg status\n"
+"             ? bar.c\n"
+"             ? foo.c\n"
+"             $ hg add bar.c\n"
+"             $ hg status\n"
+"             A bar.c\n"
+"             ? foo.c"
 
 msgid ""
 "    Returns 0 if all files are successfully added.\n"
@@ -11453,11 +11777,12 @@
 "    repositório todos os arquivos ausentes."
 
 msgid ""
-"    New files are ignored if they match any of the patterns in\n"
-"    ``.hgignore``. As with add, these changes take effect at the next\n"
-"    commit."
-msgstr ""
-"    Novos arquivos são ignorados se casarem com qualquer dos padrões\n"
+"    Unless names are given, new files are ignored if they match any of\n"
+"    the patterns in ``.hgignore``. As with add, these changes take\n"
+"    effect at the next commit."
+msgstr ""
+"    A não ser que nomes sejam fornecidos,\n"
+"    novos arquivos são ignorados se casarem com qualquer dos padrões\n"
 "    em ``.hgignore.`` Assim como em add, estas mudanças fazem efeito na\n"
 "    próxima consolidação."
 
@@ -11486,6 +11811,82 @@
 "    de modo que apenas\n"
 "    renomeações idênticas aos originais serão detectadas."
 
+msgid ""
+"         - A number of files (bar.c and foo.c) are new,\n"
+"           while foobar.c has been removed (without using :hg:`remove`)\n"
+"           from the repository::"
+msgstr ""
+"         - Alguns arquivos (bar.c e foo.c) são novos,\n"
+"           enquanto foobar.c foi removido (sem usar :hg:`remove`)\n"
+"           do repositório::"
+
+msgid ""
+"             $ ls\n"
+"             bar.c foo.c\n"
+"             $ hg status\n"
+"             ! foobar.c\n"
+"             ? bar.c\n"
+"             ? foo.c\n"
+"             $ hg addremove\n"
+"             adding bar.c\n"
+"             adding foo.c\n"
+"             removing foobar.c\n"
+"             $ hg status\n"
+"             A bar.c\n"
+"             A foo.c\n"
+"             R foobar.c"
+msgstr ""
+"             $ ls\n"
+"             bar.c foo.c\n"
+"             $ hg status\n"
+"             ! foobar.c\n"
+"             ? bar.c\n"
+"             ? foo.c\n"
+"             $ hg addremove\n"
+"             adicionando bar.c\n"
+"             adicionando foo.c\n"
+"             removendo foobar.c\n"
+"             $ hg status\n"
+"             A bar.c\n"
+"             A foo.c\n"
+"             R foobar.c"
+
+msgid ""
+"         - A file foobar.c was moved to foo.c without using :hg:`rename`.\n"
+"           Afterwards, it was edited slightly::"
+msgstr ""
+"         - Um arquivo foobar.c foi movido para foo.c sem usar :hg:`rename`.\n"
+"           Em seguida, foi levemente modificado::"
+
+msgid ""
+"             $ ls\n"
+"             foo.c\n"
+"             $ hg status\n"
+"             ! foobar.c\n"
+"             ? foo.c\n"
+"             $ hg addremove --similarity 90\n"
+"             removing foobar.c\n"
+"             adding foo.c\n"
+"             recording removal of foobar.c as rename to foo.c (94% similar)\n"
+"             $ hg status -C\n"
+"             A foo.c\n"
+"               foobar.c\n"
+"             R foobar.c"
+msgstr ""
+"             $ ls\n"
+"             foo.c\n"
+"             $ hg status\n"
+"             ! foobar.c\n"
+"             ? foo.c\n"
+"             $ hg addremove --similarity 90\n"
+"             removendo foobar.c\n"
+"             adicionando foo.c\n"
+"             gravando remoção de foobar.c como renomeação para foo.c (94% de similaridade)\n"
+"             $ hg status -C\n"
+"             A foo.c\n"
+"               foobar.c\n"
+"             R foobar.c"
+
 msgid "similarity must be a number"
 msgstr "similaridade deve ser um número"
 
@@ -11524,10 +11925,10 @@
 
 msgid ""
 "    List changes in files, showing the revision id responsible for\n"
-"    each line"
+"    each line."
 msgstr ""
 "    Lista as mudanças em arquivos, mostrando o identificador de\n"
-"    revisão responsável por cada linha"
+"    revisão responsável por cada linha."
 
 msgid ""
 "    This command is useful for discovering when a change was made and\n"
@@ -11537,6 +11938,13 @@
 "    e por quem."
 
 msgid ""
+"    If you include --file, --user, or --date, the revision number is\n"
+"    suppressed unless you also include --number."
+msgstr ""
+"    Se você incluir --file, --user ou --date, o número de revisão\n"
+"    será suprimido, a não ser que você também inclua --number."
+
+msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
@@ -11587,10 +11995,10 @@
 
 msgid ""
 "    The archive type is automatically detected based on file\n"
-"    extension (or override using -t/--type)."
+"    extension (to override, use -t/--type)."
 msgstr ""
 "    O tipo de arquivo é detectado automaticamente com base na extensão\n"
-"    do arquivo (ou forçado através de -t/--type)."
+"    do arquivo (para forçar um tipo, use -t/--type)."
 
 msgid "      - create a zip file containing the 1.0 release::"
 msgstr "      - cria um arquivo zip contendo a versão 1.0::"
@@ -11653,8 +12061,11 @@
 msgid "merge with old dirstate parent after backout"
 msgstr "mesclar com pai do dirstate anterior após o backout"
 
-msgid "commit if no conflicts were encountered"
-msgstr "consolida se conflitos não forem encontrados"
+msgid "commit if no conflicts were encountered (DEPRECATED)"
+msgstr "consolida se conflitos não forem encontrados (OBSOLETO)"
+
+msgid "do not commit"
+msgstr "não consolida"
 
 msgid "parent to choose when backing out merge (DEPRECATED)"
 msgstr "pai a ser escolhido ao fazer o backout de mesclagem (OBSOLETO)"
@@ -11670,29 +12081,59 @@
 
 msgid ""
 "    Prepare a new changeset with the effect of REV undone in the\n"
-"    current working directory."
+"    current working directory. If no conflicts were encountered,\n"
+"    it will be committed immediately."
 msgstr ""
 "    Prepara no diretório de trabalho atual uma nova revisão que desfaz\n"
-"    o efeito da revisão REV."
+"    o efeito da revisão REV. Se conflitos não forem encontrados, a nova\n"
+"    revisão será consolidada imediatamente."
 
 msgid ""
 "    If REV is the parent of the working directory, then this new changeset\n"
-"    is committed automatically. Otherwise, hg needs to merge the\n"
-"    changes and the merged result is left uncommitted."
+"    is committed automatically (unless --no-commit is specified)."
 msgstr ""
 "    Se REV for o pai do diretório de trabalho, a nova revisão será\n"
-"    consolidada automaticamente. Caso contrário, o Mercurial precisará\n"
-"    mesclar as mudanças, e o resultado da mesclagem deve ser consolidado\n"
-"    manualmente."
-
-msgid ""
-"      backout cannot be used to fix either an unwanted or\n"
-"      incorrect merge."
-msgstr ""
-"      backout não pode ser usado para corrigir uma mesclagem\n"
+"    consolidada automaticamente (a não ser que --no-commit seja\n"
+"    especificado)."
+
+msgid ""
+"       :hg:`backout` cannot be used to fix either an unwanted or\n"
+"       incorrect merge."
+msgstr ""
+"      :hg:`backout` não pode ser usado para corrigir uma mesclagem\n"
 "      incorreta ou indesejada."
 
 msgid ""
+"      - Reverse the effect of the parent of the working directory.\n"
+"        This backout will be committed immediately::"
+msgstr ""
+"      - Reverte o efeito do pai do diretório de trabalho.\n"
+"        Este backout será consolidado imediatamente::"
+
+msgid "          hg backout -r ."
+msgstr "          hg backout -r ."
+
+msgid "      - Reverse the effect of previous bad revision 23::"
+msgstr "      - Reverte o efeito da revisão ruim anterior 23::"
+
+msgid "          hg backout -r 23"
+msgstr "          hg backout -r 23"
+
+msgid ""
+"      - Reverse the effect of previous bad revision 23 and\n"
+"        leave changes uncommitted::"
+msgstr ""
+"      - Reverte o efeito da revisão ruim anterior 23 e\n"
+"        não consolida as mudanças::"
+
+msgid ""
+"          hg backout -r 23 --no-commit\n"
+"          hg commit -m \"Backout revision 23\""
+msgstr ""
+"          hg backout -r 23 --no-commit\n"
+"          hg commit -m \"Backout da revisão 23\""
+
+msgid ""
 "      By default, the pending changeset will have one parent,\n"
 "      maintaining a linear history. With --merge, the pending\n"
 "      changeset will instead have two parents: the old parent of the\n"
@@ -11730,6 +12171,9 @@
 "    ou se houverem conflitos não resolvidos.\n"
 "    "
 
+msgid "cannot use --commit with --no-commit"
+msgstr "não é possível usar --commit com --no-commit"
+
 msgid "please specify just one revision"
 msgstr "por favor especifique apenas uma revisão"
 
@@ -12212,13 +12656,13 @@
 msgid ""
 "    Use the command :hg:`update` to switch to an existing branch. Use\n"
 "    :hg:`commit --close-branch` to mark this branch head as closed.\n"
-"    When all heads of the branch are closed, the branch will be\n"
+"    When all heads of a branch are closed, the branch will be\n"
 "    considered closed."
 msgstr ""
 "    Use o comando :hg:`update` para alternar para um ramo existente.\n"
 "    Use :hg:`commit --close-branch` para marcar esta cabeça de ramo como\n"
 "    fechada.\n"
-"    O ramo será considerado fechado se todas as suas cabeças estiverem\n"
+"    Um ramo será considerado fechado se todas as suas cabeças estiverem\n"
 "    fechadas."
 
 #, python-format
@@ -12303,29 +12747,32 @@
 msgstr "cria um arquivo de changegroup (coleção de revisões)"
 
 msgid ""
-"    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository."
-msgstr ""
-"    Gera um arquivo de changegroup contendo revisões não\n"
-"    encontradas no outro repositório."
-
-msgid ""
-"    If you omit the destination repository, then hg assumes the\n"
-"    destination will have all the nodes you specify with --base\n"
-"    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null)."
-msgstr ""
-"    Se você omitir o repositório de destino, o Mercurial assume que o\n"
-"    destino terá todos os nós especificados por um ou mais parâmetros\n"
-"    --base. Para criar um bundle contendo todas as revisões, use\n"
-"    -a/--all (ou --base null)."
+"    Generate a changegroup file collecting changesets to be added\n"
+"    to a repository."
+msgstr ""
+"    Gera um arquivo de changegroup contendo revisões para serem\n"
+"    adicionadas a outro repositório."
+
+msgid ""
+"    To create a bundle containing all changesets, use -a/--all\n"
+"    (or --base null). Otherwise, hg assumes the destination will have\n"
+"    all the nodes you specify with --base parameters. Otherwise, hg\n"
+"    will assume the repository has all the nodes in destination, or\n"
+"    default-push/default if no destination is specified."
+msgstr ""
+"    Para criar um bundle contendo todas as revisões, use -a/--all\n"
+"    (ou --base null). Caso contrário, o Mercurial assume que o\n"
+"    destino terá todos os nós que você especificar com parâmetros\n"
+"    --base. Sem parâmetros --base, po Mercurial assume que o\n"
+"    repositório possui todos os nós do destino, ou\n"
+"    default-push/default se um destino não for especificado."
 
 msgid ""
 "    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)."
+"    available formats 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"
@@ -12361,6 +12808,9 @@
 "    Devolve 0 indicando sucesso, 1 se não foram encontradas mudanças.\n"
 "    "
 
+msgid "no commits to bundle"
+msgstr "nenhuma revisão a ser incluída no bundle"
+
 msgid "see \"hg help bundle\" for supported values for --type"
 msgstr "veja \"hg help bundle\" para valores suportados em --type"
 
@@ -12370,6 +12820,12 @@
 msgid "use \"hg debugcreatestreamclonebundle\""
 msgstr "use \"hg debugcreatestreamclonebundle\""
 
+msgid "--all is incompatible with specifying a destination"
+msgstr "--all é incompatível com uma especificação de destino"
+
+msgid "ignoring --base because --all was specified\n"
+msgstr "ignorando --base porque --all foi especificada\n"
+
 msgid "--base is incompatible with specifying a destination"
 msgstr "--base é incompatível com uma especificação de destino"
 
@@ -12428,7 +12884,7 @@
 msgstr ""
 "o clone irá conter um diretório de trabalho vazio (apenas o repositório)"
 
-msgid "revision, tag or branch to check out"
+msgid "revision, tag, or branch to check out"
 msgstr "revisão, etiqueta ou ramo a ser obtido"
 
 msgid "include the specified changeset"
@@ -12471,23 +12927,6 @@
 "    ``.hg/hgrc`` não serão criados no repositório remoto."
 
 msgid ""
-"    To pull only a subset of changesets, specify one or more revisions\n"
-"    identifiers with -r/--rev or branches with -b/--branch. The\n"
-"    resulting clone will contain only the specified changesets and\n"
-"    their ancestors. These options (or 'clone src#rev dest') imply\n"
-"    --pull, even for local source repositories. Note that specifying a\n"
-"    tag will include the tagged changeset but not the changeset\n"
-"    containing the tag."
-msgstr ""
-"    Para trazer apenas um subconjunto de revisões, especifique um\n"
-"    ou mais identificadores de revisão com -r/--rev ou ramos com\n"
-"    -b/--branch. O clone resultante conterá apenas as revisões\n"
-"    especificadas e seus ancestrais. Estas opções (ou\n"
-"    'clone origem#rev dest') implicam --pull, mesmo para repositórios\n"
-"    locais. Note que especificar uma etiqueta incluirá a revisão\n"
-"    etiquetada mas não incluirá a revisão que define a etiqueta em si."
-
-msgid ""
 "    If the source repository has a bookmark called '@' set, that\n"
 "    revision will be checked out in the new repository by default."
 msgstr ""
@@ -12503,6 +12942,27 @@
 "    -U/--noupdate para criar um clone sem um diretório de trabalho."
 
 msgid ""
+"    To pull only a subset of changesets, specify one or more revisions\n"
+"    identifiers with -r/--rev or branches with -b/--branch. The\n"
+"    resulting clone will contain only the specified changesets and\n"
+"    their ancestors. These options (or 'clone src#rev dest') imply\n"
+"    --pull, even for local source repositories."
+msgstr ""
+"    Para trazer apenas um subconjunto de revisões, especifique um\n"
+"    ou mais identificadores de revisão com -r/--rev ou ramos com\n"
+"    -b/--branch. O clone resultante conterá apenas as revisões\n"
+"    especificadas e seus ancestrais. Estas opções (ou\n"
+"    'clone origem#rev dest') implicam --pull, mesmo para repositórios\n"
+"    locais."
+
+msgid ""
+"       Specifying a tag will include the tagged changeset but not the\n"
+"       changeset containing the tag."
+msgstr ""
+"       Especificar uma etiqueta incluirá a revisão\n"
+"       etiquetada mas não incluirá a revisão que define a etiqueta em si."
+
+msgid ""
 "      For efficiency, hardlinks are used for cloning whenever the\n"
 "      source and destination are on the same filesystem (note this\n"
 "      applies only to the repository data, not to the working\n"
@@ -12578,6 +13038,27 @@
 "      h) a cabeça mais recente do ramo default\n"
 "      i) a tip"
 
+msgid ""
+"      When cloning from servers that support it, Mercurial may fetch\n"
+"      pre-generated data from a server-advertised URL. When this is done,\n"
+"      hooks operating on incoming changesets and changegroups may fire twice,\n"
+"      once for the bundle fetched from the URL and another for any additional\n"
+"      data not fetched from this URL. In addition, if an error occurs, the\n"
+"      repository may be rolled back to a partial clone. This behavior may\n"
+"      change in future releases. See :hg:`help -e clonebundles` for more."
+msgstr ""
+"      Ao clonar de servidores que oferecem esse suporte, o Mercurial\n"
+"      pode obter bundles pré-gerados a partir de uma URL anunciada\n"
+"      pelo servidor.\n"
+"      Quando isso for feito, ganchos executados ao receber revisões\n"
+"      podem disparar duas vezes, uma para o bundle obtido da URL\n"
+"      e uma para dados adicionais não presentes nessa URL.\n"
+"      Adicionalmente, se ocorrer um erro, pode ser executado um\n"
+"      rollback no repositório para um clone parcial.\n"
+"      Este comportamento pode ser alterado em versões posteriores\n"
+"      do Mercurial.\n"
+"      Veja :hg:`help -e clonebundles` para mais informações."
+
 msgid "      - clone a remote repository to a new directory named hg/::"
 msgstr ""
 "      - clona um repositório remoto para um novo diretório chamado hg/::"
@@ -12727,11 +13208,29 @@
 "    Não é possível emendar revisões públicas (veja :hg:`help phases`)\n"
 "    ou revisões que contenham filhas."
 
-msgid ""
-"    Returns 0 on success, 1 if nothing changed.\n"
-"    "
-msgstr ""
-"    Devolve 0 para indicar sucesso, 1 se nada mudou.\n"
+msgid "    Returns 0 on success, 1 if nothing changed."
+msgstr "    Devolve 0 para indicar sucesso, 1 se nada mudou."
+
+msgid "      - commit all files ending in .py::"
+msgstr "      - consolida todos os arquivos terminados em .py::"
+
+msgid "          hg commit --include \"set:**.py\""
+msgstr "          hg commit --include \"set:**.py\""
+
+msgid "      - commit all non-binary files::"
+msgstr "      - consolida todos os arquivos não binários::"
+
+msgid "          hg commit --exclude \"set:binary()\""
+msgstr "          hg commit --exclude \"set:binary()\""
+
+msgid "      - amend the current commit and set the date to now::"
+msgstr "      - emenda a consolidação atual e usa a data atual::"
+
+msgid ""
+"          hg commit --amend --date now\n"
+"    "
+msgstr ""
+"          hg commit --amend --date now\n"
 "    "
 
 msgid "cannot amend with --subrepos"
@@ -12968,6 +13467,9 @@
 msgid "show all details"
 msgstr "mostra todos os detalhes"
 
+msgid "print the bundlespec of the bundle"
+msgstr "imprime o bundlespec de um bundle"
+
 msgid "lists the contents of a bundle"
 msgstr "lista o conteúdo de um bundle"
 
@@ -13070,15 +13572,6 @@
 msgid "need repo for changelog dag"
 msgstr "é necessário um repositório para o DAG do changelog"
 
-msgid "open changelog"
-msgstr "abre o changelog"
-
-msgid "open manifest"
-msgstr "abre o manifesto"
-
-msgid "open directory manifest"
-msgstr "abre o manifesto do diretório"
-
 msgid "-c|-m|FILE REV"
 msgstr "-c|-m|ARQUIVO REV"
 
@@ -13163,8 +13656,24 @@
 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"
+msgid ""
+"display the combined ignore pattern and information about ignored files"
+msgstr ""
+"exibe o padrão combinado de arquivos ignorados e informações sobre arquivos "
+"ignorados"
+
+msgid "    With no argument display the combined ignore pattern."
+msgstr "    Sem parâmetros, exibe o padrão combinado de arquivos ignorados."
+
+msgid ""
+"    Given space separated file names, shows if the given file is ignored and\n"
+"    if so, show the ignore rule (file and line number) that matched it.\n"
+"    "
+msgstr ""
+"    Dados nomes de arquivo separados por espaços, mostra se o\n"
+"    arquivo pedido é ignorado, e se for, mostra a regra de\n"
+"    .hgignore correspondente (arquivo e número da linha).\n"
+"    "
 
 msgid "no ignore patterns found"
 msgstr "nenhum padrão de arquivos ignorados encontrado"
@@ -13182,9 +13691,64 @@
 msgid "unknown format %d"
 msgstr "formato desconhecido %d"
 
+msgid "-c|-m|FILE"
+msgstr "-c|-m|ARQUIVO"
+
 msgid "dump an index DAG as a graphviz dot file"
 msgstr "extrai os dados de um índice DAG como um arquivo .dot do graphviz"
 
+msgid "dump information about delta chains in a revlog"
+msgstr "extrai informações sobre cadeias de delta em um revlog"
+
+msgid "    Output can be templatized. Available template keywords are:"
+msgstr ""
+"    A saída pode ser customizada com modelos. As palavras chave disponíveis "
+"são:"
+
+msgid ""
+"       rev          revision number\n"
+"       chainid      delta chain identifier (numbered by unique base)\n"
+"       chainlen     delta chain length to this revision\n"
+"       prevrev      previous revision in delta chain\n"
+"       deltatype    role of delta / how it was computed\n"
+"       compsize     compressed size of revision\n"
+"       uncompsize   uncompressed size of revision\n"
+"       chainsize    total size of compressed revisions in chain\n"
+"       chainratio   total chain size divided by uncompressed revision size\n"
+"                    (new delta chains typically start at ratio 2.00)\n"
+"       lindist      linear distance from base revision in delta chain to end\n"
+"                    of this revision\n"
+"       extradist    total size of revisions not part of this delta chain from\n"
+"                    base of delta chain to end of this revision; a measurement\n"
+"                    of how much extra data we need to read/seek across to read\n"
+"                    the delta chain for this revision\n"
+"       extraratio   extradist divided by chainsize; another representation of\n"
+"                    how much unrelated data is needed to load this delta chain\n"
+"    "
+msgstr ""
+"       rev          número da revisão\n"
+"       chainid      identificador de cadeia de deltas (numerado por base única)\n"
+"       chainlen     comprimento da cadeia de deltas para esta revisão\n"
+"       prevrev      revisão anterior na cadeia de deltas\n"
+"       deltatype    tipo de delta / como foi computado\n"
+"       compsize     tamanho comprimido da revisão\n"
+"       uncompsize   tamanho não comprimido da revisão\n"
+"       chainsize    tamanho total das revisões comprimidas na cadeia\n"
+"       chainratio   tamanho total da cadeia dividido pelo tamanho não\n"
+"                    comprimido da revisão\n"
+"                    (novas cadeias de deltas tipicamente começam em 2.00)\n"
+"       lindist      distância linear da revisão base na cadeia de deltas\n"
+"                    até o final desta revisão\n"
+"       extradist    tamanho total de revisões que não fazem parte desta\n"
+"                    cadeia de deltas da base da cadeia de deltas até o\n"
+"                    fim desta revisão; uma medida de quantos dados\n"
+"                    extras em leitura ou posicionamento são necessários\n"
+"                    para ler a cadeia de deltas para esta revisão\n"
+"       extraratio   extradist dividido por chainsize; outra representação\n"
+"                    de quantos dados não relacionados são necessários para\n"
+"                    carregar esta cadeia de deltas\n"
+"    "
+
 msgid "test Mercurial installation"
 msgstr "testa a instalação do Mercurial"
 
@@ -13513,9 +14077,6 @@
 msgid "dump index data"
 msgstr "imprime diretamente dados do índice"
 
-msgid "-c|-m|FILE"
-msgstr "-c|-m|ARQUIVO"
-
 msgid "show data and statistics about a revlog"
 msgstr "mostra dados e estatísticas sobre um revlog"
 
@@ -13662,15 +14223,28 @@
 "    \"unified diff\"."
 
 msgid ""
-"       diff may generate unexpected results for merges, as it will\n"
+"       :hg:`diff` may generate unexpected results for merges, as it will\n"
 "       default to comparing against the working directory's first\n"
 "       parent changeset if no revisions are specified."
 msgstr ""
-"       diff pode gerar resultados inesperados para mesclagens, já\n"
+"       :hg:`diff` pode gerar resultados inesperados para mesclagens, já\n"
 "       que por padrão irá comparar com o primeiro pai do diretório de\n"
 "       trabalho se uma revisão não for especificada."
 
 msgid ""
+"    When two revision arguments are given, then changes are shown\n"
+"    between those revisions. If only one revision is specified then\n"
+"    that revision is compared to the working directory, and, when no\n"
+"    revisions are specified, the working directory files are compared\n"
+"    to its first parent."
+msgstr ""
+"    Quando dois argumentos de revisão forem dados, serão exibidas as\n"
+"    mudanças entre essas revisões. Se apenas uma revisão for\n"
+"    especificada, tal revisão será comparada com o diretório de\n"
+"    trabalho, e se nenhuma revisão for especificada, os arquivos do\n"
+"    diretório de trabalho serão comparados com seu primeiro pai."
+
+msgid ""
 "    Alternatively you can specify -c/--change with a revision to see\n"
 "    the changes in that changeset relative to its first parent."
 msgstr ""
@@ -13768,11 +14342,11 @@
 "    e comentário de consolidação."
 
 msgid ""
-"       export may generate unexpected diff output for merge\n"
+"       :hg:`export` may generate unexpected diff output for merge\n"
 "       changesets, as it will compare the merge changeset against its\n"
 "       first parent only."
 msgstr ""
-"       export pode gerar saída de diff inesperada para revisões\n"
+"       :hg:`export` pode gerar saída de diff inesperada para revisões\n"
 "       de mesclagem, já que irá comparar a revisão de mesclagem\n"
 "       apenas com seu primeiro pai."
 
@@ -14003,8 +14577,8 @@
 msgid "record the current user as committer"
 msgstr "grava o usuário atual como autor da consolidação"
 
-msgid "[OPTION]... [-r] REV..."
-msgstr "[OPÇÃO]... [-r] REV..."
+msgid "[OPTION]... [-r REV]... REV..."
+msgstr "[OPÇÃO]... [-r REV]... REV..."
 
 msgid "copy changes from other branches onto the current branch"
 msgstr "copia mudanças de outros ramos para o ramo atual"
@@ -14056,11 +14630,11 @@
 "    opção -c/--continue."
 
 msgid ""
-"      The -c/--continue option does not reapply earlier options, except\n"
-"      for --force."
-msgstr ""
-"      A opção -c/--continue não reaplica opções anteriores,\n"
-"      exceto --force"
+"       The -c/--continue option does not reapply earlier options, except\n"
+"       for --force."
+msgstr ""
+"       A opção -c/--continue não reaplica opções anteriores,\n"
+"       exceto --force"
 
 msgid ""
 "      - copy a single change to the stable branch and edit its description::"
@@ -14095,6 +14669,12 @@
 msgid "          hg log --debug -r ."
 msgstr "          hg log --debug -r ."
 
+msgid "      - show revisions sorted by date::"
+msgstr "      - mostra revisões ordenadas por data::"
+
+msgid "          hg log -r 'sort(all(), date)'"
+msgstr "          hg log -r 'sort(all(), date)'"
+
 msgid ""
 "    See :hg:`help revisions` and :hg:`help revsets` for more about\n"
 "    specifying revisions."
@@ -14109,6 +14689,13 @@
 "    Devolve 0 para indicar sucesso.\n"
 "    "
 
+msgid ""
+"warning: inconsistent use of --rev might give unexpected revision "
+"ordering!\n"
+msgstr ""
+"aviso: o uso inconsistente de --rev pode gerar uma ordem inesperada de "
+"revisões!\n"
+
 msgid "can't specify --continue and revisions"
 msgstr "não é possível especificar --continue e revisões"
 
@@ -14147,8 +14734,9 @@
 msgid "grafting %s\n"
 msgstr "enxertando %s\n"
 
-msgid "use hg resolve and hg graft --continue"
-msgstr "use hg resolve e hg graft --continue"
+#, python-format
+msgid "use hg resolve and hg graft --continue%s"
+msgstr "use hg resolve e hg graft --continue%s"
 
 #, python-format
 msgid "note: graft of %d:%s created no changes to commit\n"
@@ -14310,8 +14898,11 @@
 msgid "show topics matching keyword"
 msgstr "mostra os tópicos que correspondem à palavra chave"
 
-msgid "[-eck] [TOPIC]"
-msgstr "[-eck] [TÓPICO]"
+msgid "show help for specific platform(s)"
+msgstr "mostra ajuda para plataformas específicas"
+
+msgid "[-ecks] [TOPIC]"
+msgstr "[-ecks] [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"
@@ -14408,6 +14999,13 @@
 msgid "          hg id -r tip http://selenic.com/hg/"
 msgstr "          hg id -r tip http://selenic.com/hg/"
 
+msgid ""
+"    See :hg:`log` for generating more information about specific revisions,\n"
+"    including full hash identifiers."
+msgstr ""
+"    Veja :hg:`log` para gerar mais informações sobre revisões específicas,\n"
+"    incluindo identificadores completos."
+
 msgid "can't query remote revision number, branch, or tags"
 msgstr ""
 "não é possível consultar o número de revisão, ramo ou etiquetas remotos"
@@ -14460,18 +15058,39 @@
 "    (se --no-commit não for especificado)."
 
 msgid ""
-"    Because import first applies changes to the working directory,\n"
-"    import will abort if there are outstanding changes."
-msgstr ""
-"    Como o comando import primeiro aplica as mudanças ao diretório\n"
-"    de trabalho, ele abortará se houverem mudanças não consolidadas."
+"    To read a patch from standard input, use \"-\" as the patch name. If\n"
+"    a URL is specified, the patch will be downloaded from there."
+msgstr ""
+"    Para ler um patch da entrada padrão, use \"-\" como nome do\n"
+"    patch. Se uma URL for especificada, o patch será obtido a partir\n"
+"    dela."
+
+msgid ""
+"    Import first applies changes to the working directory (unless\n"
+"    --bypass is specified), import will abort if there are outstanding\n"
+"    changes."
+msgstr ""
+"    O comando import primeiro aplica as mudanças ao diretório de\n"
+"    trabalho (a não ser que --bypass seja especificado); ele abortará\n"
+"    se houverem mudanças não consolidadas."
+
+msgid ""
+"    Use --bypass to apply and commit patches directly to the\n"
+"    repository, without affecting the working directory. Without\n"
+"    --exact, patches will be applied on top of the working directory\n"
+"    parent revision."
+msgstr ""
+"    Use --bypass para aplicar e consolidar patches diretamente no\n"
+"    repositório, sem alterar arquivos no diretório de trabalho. Sem\n"
+"    --exact, patches serão aplicados sobre a revisão do pai do\n"
+"    diretório de trabalho."
 
 msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
 "    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
-"    text/plain body parts before first diff are added to commit\n"
+"    text/plain body parts before first diff are added to the commit\n"
 "    message."
 msgstr ""
 "    Você pode importar um patch direto de uma mensagem de e-mail. São\n"
@@ -14507,33 +15126,13 @@
 "    caracteres ou outras deficiências no formato de texto de patch."
 
 msgid ""
-"    Use --bypass to apply and commit patches directly to the\n"
-"    repository, not touching the working directory. Without --exact,\n"
-"    patches will be applied on top of the working directory parent\n"
-"    revision."
-msgstr ""
-"    Use --bypass para aplicar e consolidar patches diretamente no\n"
-"    repositório, sem alterar arquivos no diretório de trabalho. Sem\n"
-"    --exact, patches serão aplicados sobre a revisão do pai do\n"
-"    diretório de trabalho."
-
-msgid ""
-"    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as :hg:`addremove`."
-msgstr ""
-"    Com -s/--similarity, hg irá tentar determinar renomeações e\n"
-"    cópias no patch do mesmo modo que :hg:`addremove`."
-
-msgid ""
 "    Use --partial to ensure a changeset will be created from the patch\n"
 "    even if some hunks fail to apply. Hunks that fail to apply will be\n"
 "    written to a <target-file>.rej file. Conflicts can then be resolved\n"
 "    by hand before :hg:`commit --amend` is run to update the created\n"
 "    changeset. This flag exists to let people import patches that\n"
 "    partially apply without losing the associated metadata (author,\n"
-"    date, description, ...). Note that when none of the hunk applies\n"
-"    cleanly, :hg:`import --partial` will create an empty changeset,\n"
-"    importing only the patch metadata."
+"    date, description, ...)."
 msgstr ""
 "    Use --partial para garantir que uma revisão seja criada a partir\n"
 "    do patch, mesmo que alguns trechos não possam ser aplicados. Trechos\n"
@@ -14542,9 +15141,21 @@
 "    criada poderá em seguida ser ajustada usando :hg:`commit --amend`.\n"
 "    Esta flag permite que patches que só apliquem parcialmente sejam\n"
 "    importados preservando seus metadados associados (autor,\n"
-"    data, descrição, ...). Note que, se nenhum dos trechos puder ser\n"
-"    aplicado, :hg:`import --partial` criará uma revisão vazia,\n"
-"    importando apenas os metadados do patch."
+"    data, descrição, ...)."
+
+msgid ""
+"       When no hunks apply cleanly, :hg:`import --partial` will create\n"
+"       an empty changeset, importing only the patch metadata."
+msgstr ""
+"       Se nenhum dos trechos puder ser aplicado, :hg:`import --partial`\n"
+"       criará uma revisão vazia, importando apenas os metadados do patch."
+
+msgid ""
+"    With -s/--similarity, hg will attempt to discover renames and\n"
+"    copies in the patch in the same way as :hg:`addremove`."
+msgstr ""
+"    Com -s/--similarity, hg irá tentar determinar renomeações e\n"
+"    cópias no patch do mesmo modo que :hg:`addremove`."
 
 msgid ""
 "    It is possible to use external patch programs to perform the patch\n"
@@ -14560,17 +15171,6 @@
 "    Veja :hg:`help config` para mais informações sobre arquivos\n"
 "    de configuração e como usar essas opções."
 
-msgid ""
-"    To read a patch from standard input, use \"-\" as the patch name. If\n"
-"    a URL is specified, the patch will be downloaded from it.\n"
-"    See :hg:`help dates` for a list of formats valid for -d/--date."
-msgstr ""
-"    Para ler um patch da entrada padrão, use \"-\" como nome do\n"
-"    patch. Se uma URL for especificada, o patch será obtido a partir\n"
-"    dela. Veja :hg:`help dates` para uma lista de formatos válidos\n"
-"    para -d/--date.\n"
-"    "
-
 msgid "      - import a traditional patch from a website and detect renames::"
 msgstr ""
 "      - importa um patch tradicional de um servidor web e detecta\n"
@@ -14899,22 +15499,22 @@
 "    das linhas abaixo é um pai da mesclagem 'o' na mesma linha."
 
 msgid ""
-"       log -p/--patch may generate unexpected diff output for merge\n"
+"       :hg:`log --patch` may generate unexpected diff output for merge\n"
 "       changesets, as it will only compare the merge changeset against\n"
 "       its first parent. Also, only files different from BOTH parents\n"
 "       will appear in files:."
 msgstr ""
-"       log -p/--patch pode gerar saídas de diff inesperadas para\n"
+"       :hg:`log --patch` pode gerar saídas de diff inesperadas para\n"
 "       mesclagens, pois irá comparar a revisão de mesclagem apenas\n"
 "       com seu primeiro pai. Além disso, apenas arquivos diferentes\n"
 "       de AMBOS os pais aparecerão na lista de arquivos."
 
 msgid ""
-"       for performance reasons, log FILE may omit duplicate changes\n"
+"       For performance reasons, :hg:`log FILE` may omit duplicate changes\n"
 "       made on branches and will not show removals or mode changes. To\n"
 "       see all such changes, use the --removed switch."
 msgstr ""
-"       por razões de desempenho, log ARQUIVO pode omitir mudanças\n"
+"       Por razões de desempenho, :hg:`log ARQUIVO` pode omitir mudanças\n"
 "       duplicadas feitas em outros ramos, e não mostra remoções nem\n"
 "       mudanças de atributos.\n"
 "       Para ver todas as mudanças, use a opção --removed."
@@ -14963,6 +15563,12 @@
 msgid "          hg log -k bug --template \"{rev}\\n\""
 msgstr "          hg log -k bug --template \"{rev}\\n\""
 
+msgid "      - the full hash identifier of the working directory parent::"
+msgstr "      - o identificador completo do pai do diretório de trabalho::"
+
+msgid "          hg log -r . --template \"{node}\\n\""
+msgstr "          hg log -r . --template \"{node}\\n\""
+
 msgid "      - list available log templates::"
 msgstr "      - lista os modelos de saída de log disponíveis::"
 
@@ -14992,6 +15598,13 @@
 msgstr "          hg log -r \"last(tagged())::\" --template \"{desc|firstline}\\n\""
 
 msgid ""
+"    See :hg:`help revisions` and :hg:`help revsets` for more about\n"
+"    specifying and ordering revisions."
+msgstr ""
+"    Veja :hg:`help revisions` e :hg:`help revsets` para mais\n"
+"    informações sobre a especificação e ordenação de revisões."
+
+msgid ""
 "    See :hg:`help templates` for more about pre-packaged styles and\n"
 "    specifying custom templates."
 msgstr ""
@@ -15091,9 +15704,10 @@
 "    contrário, uma revisão com a qual mesclar deve ser fornecida\n"
 "    explicitamente."
 
-msgid "    :hg:`resolve` must be used to resolve unresolved files."
-msgstr ""
-"    :hg:`resolve` deve ser usado para resolver arquivos não resolvidos."
+msgid "    See :hg:`help resolve` for information on handling file conflicts."
+msgstr ""
+"    Veja :hg:`help resolve` para informações sobre gerenciamento de "
+"conflitos de arquivo."
 
 msgid ""
 "    To undo an uncommitted merge, use :hg:`update --clean .` which\n"
@@ -15206,6 +15820,20 @@
 "    arquivo foi mudado por último (anterior à revisão do diretório de\n"
 "    trabalho ou ao argumento --rev, se passado)."
 
+msgid "    This command is equivalent to::"
+msgstr "    Este comando é equivalente a::"
+
+msgid ""
+"        hg log -r \"p1()+p2()\" or\n"
+"        hg log -r \"p1(REV)+p2(REV)\" or\n"
+"        hg log -r \"max(::p1() and file(FILE))+max(::p2() and file(FILE))\" or\n"
+"        hg log -r \"max(::p1(REV) and file(FILE))+max(::p2(REV) and file(FILE))\""
+msgstr ""
+"        hg log -r \"p1()+p2()\" ou\n"
+"        hg log -r \"p1(REV)+p2(REV)\" ou\n"
+"        hg log -r \"max(::p1() and file(FILE))+max(::p2() and file(FILE))\" ou\n"
+"        hg log -r \"max(::p1(REV) and file(FILE))+max(::p2(REV) and file(FILE))\""
+
 msgid "    See :hg:`summary` and :hg:`help revsets` for related information."
 msgstr ""
 "    Veja :hg:`summary` e :hg:`help revsets` para informações relacionadas."
@@ -15250,10 +15878,7 @@
 "    When ``default-push`` is set, it will be used for push and\n"
 "    ``default`` will be used for pull; otherwise ``default`` is used\n"
 "    as the fallback for both.  When cloning a repository, the clone\n"
-"    source is written as ``default`` in ``.hg/hgrc``.  Note that\n"
-"    ``default`` and ``default-push`` apply to all inbound (e.g.\n"
-"    :hg:`incoming`) and outbound (e.g. :hg:`outgoing`, :hg:`email` and\n"
-"    :hg:`bundle`) operations."
+"    source is written as ``default`` in ``.hg/hgrc``."
 msgstr ""
 "    Os nomes de caminho ``default`` e ``default-push`` têm significado\n"
 "    especial. Ao realizar uma operação pull ou push, eles são usados como\n"
@@ -15261,10 +15886,16 @@
 "    na linha de comando. Se ``default-push`` estiver definido, será o valor\n"
 "    usado para push, e ``default`` será usado para pull; caso contrário,\n"
 "    ``default`` será usado para ambos. Ao clonar um repositório, a origem\n"
-"    é definida como ``default`` no ``.hg/hgrc`` do novo clone. Note que\n"
-"    ``default`` e ``default-push`` são usados por todas as operações de\n"
-"    entrada (por exemplo, :hg:`incoming`) e de saída (por exemplo,\n"
-"    :hg:`outgoing`, :hg:`email` e :hg:`bundle`)."
+"    é definida como ``default`` no ``.hg/hgrc`` do novo clone."
+
+msgid ""
+"       ``default`` and ``default-push`` apply to all inbound (e.g.\n"
+"       :hg:`incoming`) and outbound (e.g. :hg:`outgoing`, :hg:`email`\n"
+"       and :hg:`bundle`) operations."
+msgstr ""
+"       ``default`` e ``default-push`` são usados por todas as operações de\n"
+"       entrada (por exemplo, :hg:`incoming`) e de saída (por exemplo,\n"
+"       :hg:`outgoing`, :hg:`email` e :hg:`bundle`)."
 
 msgid "    See :hg:`help urls` for more information."
 msgstr "    Veja :hg:`help urls` para mais informações."
@@ -15342,12 +15973,8 @@
 msgstr "nenhuma fase mudou\n"
 
 #, python-format
-msgid "not updating: %s\n"
-msgstr "atualização não realizada: %s\n"
-
-#, python-format
-msgid "(%s)\n"
-msgstr "(%s)\n"
+msgid "not updating: %s"
+msgstr "atualização não realizada: %s"
 
 msgid "(run 'hg heads' to see heads, 'hg merge' to merge)\n"
 msgstr "(execute 'hg heads' para ver cabeças, 'hg merge' para mesclar)\n"
@@ -15465,13 +16092,13 @@
 "    forçar outras mudanças."
 
 msgid ""
-"      Extra care should be taken with the -f/--force option,\n"
-"      which will push all new heads on all branches, an action which will\n"
-"      almost always cause confusion for collaborators."
-msgstr ""
-"      Cuidado extra deve ser tomado ao usar a opção -f/--force,\n"
-"      que enviará todas as novas cabeças em todos os ramos, o que\n"
-"      quase sempre confunde os outros colaboradores."
+"       Extra care should be taken with the -f/--force option,\n"
+"       which will push all new heads on all branches, an action which will\n"
+"       almost always cause confusion for collaborators."
+msgstr ""
+"       Cuidado extra deve ser tomado ao usar a opção -f/--force,\n"
+"       que enviará todas as novas cabeças em todos os ramos, o que\n"
+"       quase sempre confunde os outros colaboradores."
 
 msgid ""
 "    If -r/--rev is used, the specified revision and all its ancestors\n"
@@ -15612,11 +16239,11 @@
 "      ========= == == == =="
 
 msgid ""
-"      Note that remove never deletes files in Added [A] state from the\n"
-"      working directory, not even if option --force is specified."
-msgstr ""
-"      Note que remove nunca apaga do diretório de trabalho arquivos no\n"
-"      estado adicionado [A], nem mesmo se a opção --force for especificada."
+"         :hg:`remove` never deletes files in Added [A] state from the\n"
+"         working directory, not even if ``--force`` is specified."
+msgstr ""
+"         :hg:`remove` nunca apaga do diretório de trabalho arquivos no\n"
+"         estado adicionado [A], nem mesmo se a opção --force for especificada."
 
 msgid ""
 "    Returns 0 on success, 1 if any warnings encountered.\n"
@@ -15736,14 +16363,14 @@
 "      ``R`` resolvido."
 
 msgid ""
-"    Note that Mercurial will not let you commit files with unresolved\n"
-"    merge conflicts. You must use :hg:`resolve -m ...` before you can\n"
-"    commit after a conflicting merge."
-msgstr ""
-"    Note que o Mercurial não deixará que você faça a consolidação de\n"
-"    arquivos com conflitos de mesclagem não resolvidos. Você precisa\n"
-"    primeiro usar ``hg resolve -m ...`` para indicar os conflitos como\n"
-"    resolvidos."
+"       Mercurial will not let you commit files with unresolved merge\n"
+"       conflicts. You must use :hg:`resolve -m ...` before you can\n"
+"       commit after a conflicting merge."
+msgstr ""
+"       O Mercurial não deixará que você faça a consolidação de\n"
+"       arquivos com conflitos de mesclagem não resolvidos. Você precisa\n"
+"       primeiro usar ``hg resolve -m ...`` para indicar os conflitos como\n"
+"       resolvidos."
 
 msgid ""
 "    Returns 0 on success, 1 if any files fail a resolve attempt.\n"
@@ -15767,11 +16394,11 @@
 
 #, python-format
 msgid "not marking %s as it is driver-resolved\n"
-msgstr ""
+msgstr "não marcando %s pois é resolvida por um driver\n"
 
 #, python-format
 msgid "not unmarking %s as it is driver-resolved\n"
-msgstr ""
+msgstr "não desmarcando %s pois é resolvida por um driver\n"
 
 msgid "arguments do not match paths that need resolving\n"
 msgstr "os argumentos não correspondem a caminhos que necessitem de resolução\n"
@@ -16090,10 +16717,6 @@
 msgid "cannot use --stdio with --cmdserver"
 msgstr "não se pode usar --stdio com --cmdserver"
 
-#, python-format
-msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
-msgstr "ouvindo em http://%s%s/%s (associado a %s:%d)\n"
-
 msgid "show status of all files"
 msgstr "mostra status de todos os arquivos"
 
@@ -16149,12 +16772,12 @@
 "    com -u/--unknown (desconhecidos) ou -i/--ignored (ignorados)."
 
 msgid ""
-"       status may appear to disagree with diff if permissions have\n"
+"       :hg:`status` may appear to disagree with diff if permissions have\n"
 "       changed or a merge has occurred. The standard diff format does\n"
 "       not report permission changes and diff only reports changes\n"
 "       relative to one merge parent."
 msgstr ""
-"       o comando status pode aparentemente discordar do comando\n"
+"       :hg:`status` pode aparentemente discordar do comando\n"
 "       diff se ocorrer uma mudança de permissões ou uma mesclagem. O\n"
 "       formato diff padrão não informa mudanças de permissão e o\n"
 "       comando diff informa apenas mudanças relativas a um pai da\n"
@@ -16271,6 +16894,11 @@
 msgstr "marcadores:  "
 
 #, python-format
+msgid "warning: merge state has unsupported record types: %s\n"
+msgstr ""
+"aviso: o estado de mesclagem possui tipos de registro não suportados: %s\n"
+
+#, python-format
 msgid "%d modified"
 msgstr "%d modificados"
 
@@ -16306,6 +16934,9 @@
 msgid "%d subrepos"
 msgstr "%d sub-repositórios"
 
+msgid " (graft in progress)"
+msgstr " (enxerto em andamento)"
+
 msgid " (interrupted update)"
 msgstr " (update interrompido)"
 
@@ -16355,6 +16986,18 @@
 msgid "phases: %s\n"
 msgstr "fases: %s\n"
 
+#, python-format
+msgid "unstable: %d changesets"
+msgstr "instáveis: %d revisões"
+
+#, python-format
+msgid "divergent: %d changesets"
+msgstr "divergentes: %d revisões"
+
+#, python-format
+msgid "bumped: %d changesets"
+msgstr "colididas: %d revisões"
+
 msgid "1 or more incoming"
 msgstr "1 ou mais a serem recebidas"
 
@@ -16494,11 +17137,14 @@
 
 msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
-"    switch is used, a third column \"local\" is printed for local tags."
+"    switch is used, a third column \"local\" is printed for local tags.\n"
+"    When the -q/--quiet switch is used, only the tag name is printed."
 msgstr ""
 "    Lista tanto etiquetas regulares como locais. Se a opção\n"
 "    -v/--verbose for usada, uma terceira coluna \"local\" é impressa\n"
-"    para etiquetas locais."
+"    para etiquetas locais.\n"
+"    Se for usada a opção -q/--quiet, será impresso apenas o nome da\n"
+"    etiqueta."
 
 msgid "[-p] [-g]"
 msgstr "[-p] [-g]"
@@ -16721,11 +17367,11 @@
 msgstr "(veja https://mercurial-scm.org para mais informações)"
 
 msgid ""
-"Copyright (C) 2005-2015 Matt Mackall and others\n"
+"Copyright (C) 2005-2016 Matt Mackall and others\n"
 "This is free software; see the source for copying conditions. There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
-"Copyright (C) 2005-2015 Matt Mackall e outros\n"
+"Copyright (C) 2005-2016 Matt Mackall e outros\n"
 "Este software é livre; veja os fontes para condições de cópia. Não\n"
 "há garantias, nem mesmo de adequação para qualquer propósito em\n"
 "particular.\n"
@@ -16741,10 +17387,6 @@
 msgid "unknown command %s"
 msgstr "comando %s desconhecido"
 
-#, python-format
-msgid "abort: %s\n"
-msgstr "abortado: %s\n"
-
 msgid "unsupported platform"
 msgstr "plataforma não suportada"
 
@@ -16841,9 +17483,6 @@
 msgid "copy failed: %s is not a file or a symbolic link\n"
 msgstr "cópia falhou: %s não é um arquivo ou um link simbólico\n"
 
-msgid "the python curses/wcurses module is not available/installed"
-msgstr "o módulo curses/wcurses do Python não está disponível"
-
 msgid "confirm"
 msgstr "confirmar"
 
@@ -17067,6 +17706,14 @@
 msgstr "novas cabeças remotas no ramo '%s':\n"
 
 #, python-format
+msgid "(did you mean %s?)\n"
+msgstr "(você quis dizer %s?)\n"
+
+#, python-format
+msgid "(did you mean one of %s?)\n"
+msgstr "(você quis dizer: %s?)\n"
+
+#, python-format
 msgid "hg: parse error at %s: %s\n"
 msgstr "hg: erro de análise da entrada em %s: %s\n"
 
@@ -17078,12 +17725,8 @@
 msgstr "hg: erro de análise da entrada: %s\n"
 
 #, python-format
-msgid "(did you mean %r?)\n"
-msgstr "(você quis dizer %r?)\n"
-
-#, python-format
-msgid "(did you mean one of %s?)\n"
-msgstr "(você quis dizer: %s?)\n"
+msgid "(%s)\n"
+msgstr "(%s)\n"
 
 msgid "entering debugger - type c to continue starting hg or h for help\n"
 msgstr ""
@@ -17310,11 +17953,23 @@
 msgid "unrecognized profiler '%s' - ignored\n"
 msgstr "profiler '%s' não reconhecido - ignorado\n"
 
+msgid "response expected"
+msgstr "resposta esperada"
+
 #, python-format
 msgid "unknown identifier: %s"
 msgstr "identificador desconhecido: %s"
 
 #, python-format
+msgid "unsupported merge state records: %s"
+msgstr "registros de estado de mesclagem não suportados: %s"
+
+msgid ""
+"see https://mercurial-scm.org/wiki/MergeStateRecords for more information"
+msgstr ""
+"veja https://mercurial-scm.org/wiki/MergeStateRecords para mais informações"
+
+#, python-format
 msgid "invalid bundle specification: missing \"=\" in parameter: %s"
 msgstr "especificação de bundle inválida: faltando \"=\" no parâmetro: %s"
 
@@ -17349,6 +18004,24 @@
 msgstr "%s: versão de bundle %s desconhecida"
 
 #, python-format
+msgid "unknown compression algorithm: %s"
+msgstr "algoritmo de compressão desconhecido: %s"
+
+#, python-format
+msgid "changegroup version %s does not have a known bundlespec"
+msgstr "changegroup na versão %s não possui um bundlespec conhecido"
+
+msgid "try upgrading your Mercurial client"
+msgstr "tente atualizar seu cliente Mercurial"
+
+msgid "could not identify changegroup version in bundle"
+msgstr "não foi possível identificar a versão do changegroup no bundle"
+
+#, python-format
+msgid "unknown bundle type: %s"
+msgstr "tipo de bundle desconhecido: %s"
+
+#, python-format
 msgid "updating bookmark %s failed!\n"
 msgstr "a atualização do marcador %s falhou!\n"
 
@@ -17444,32 +18117,38 @@
 
 msgid "no clone bundles available on remote; falling back to regular clone\n"
 msgstr ""
+"nenhum bundle para clonagem disponível no remoto; será realizada uma "
+"clonagem regular\n"
 
 msgid ""
 "no compatible clone bundles available on server; falling back to regular "
 "clone\n"
 msgstr ""
+"nenhum bundle para clonagem compatível disponível no remoto; será realizada "
+"uma clonagem regular\n"
 
 msgid "(you may want to report this to the server operator)\n"
-msgstr ""
+msgstr "(você pode querer informar o operador do servidor)\n"
 
 #, python-format
 msgid "applying clone bundle from %s\n"
 msgstr "aplicando clone bundle de %s\n"
 
 msgid "finished applying clone bundle\n"
-msgstr ""
+msgstr "aplicação do bundle de clonagem encerrada\n"
 
 msgid "falling back to normal clone\n"
 msgstr "tentando uma clonagem normal\n"
 
 msgid "error applying bundle"
-msgstr ""
+msgstr "erro ao aplicar bundle"
 
 msgid ""
 "if this error persists, consider contacting the server operator or disable "
-"clone bundles via \"--config experimental.clonebundles=false\""
-msgstr ""
+"clone bundles via \"--config ui.clonebundles=false\""
+msgstr ""
+"se este erro persistir, considere contactar o operador do servidor ou "
+"desabilitar bundles de clonagem usando \"--config ui.clonebundles=false\""
 
 #, python-format
 msgid "HTTP error fetching bundle: %s\n"
@@ -17480,6 +18159,14 @@
 msgstr "erro ao obter bundle: %s\n"
 
 #, python-format
+msgid ""
+"(third party extension %s requires version %s or newer of Mercurial; "
+"disabling)\n"
+msgstr ""
+"(a extensão de terceiros %s requer a versão %s ou superior do Mercurial; "
+"desabilitando)\n"
+
+#, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
 msgstr "*** falha ao importar a extensão %s de %s: %s\n"
 
@@ -17525,11 +18212,27 @@
 
 #, python-format
 msgid ""
-" no tool found to merge %s\n"
-"keep (l)ocal or take (o)ther?$$ &Local $$ &Other"
-msgstr ""
-" nenhuma ferramenta encontrada para mesclar %s\n"
-"manter o arquivo (l)ocal ou usar o (o)utro?$$ &Local $$ &Outro"
+"local changed %s which remote deleted\n"
+"use (c)hanged version, (d)elete, or leave (u)nresolved?$$ &Changed $$ &Delete $$ &Unresolved"
+msgstr ""
+"local alterou %s, que a remota removeu\n"
+"use (c) a versão alterada, (d) apague ou (u) deixe não resolvida?$$ (&C) alterada $$ (&D) apague $$ (&U) não resolvida"
+
+#, python-format
+msgid ""
+"remote changed %s which local deleted\n"
+"use (c)hanged version, leave (d)eleted, or leave (u)nresolved?$$ &Changed $$ &Deleted $$ &Unresolved"
+msgstr ""
+"remota mudou %s, apagada pela local\n"
+"use (c) a versão alterada, (d) deixe apagada ou (u) deixe não resolvida?$$ (&C) alterada $$ (&D) deixe apagada $$ (&U) deixe não resolvida"
+
+#, python-format
+msgid ""
+"no tool found to merge %s\n"
+"keep (l)ocal, take (o)ther, or leave (u)nresolved?$$ &Local $$ &Other $$ &Unresolved"
+msgstr ""
+"nenhuma ferramenta encontrada para mesclar %s\n"
+"manter o arquivo (l)ocal, usar o (o)utro ou (u) deixar não resolvido? ?$$ &Local $$ &Outro $$ (&U) não resolvido"
 
 msgid ""
 "``:local``\n"
@@ -17566,6 +18269,12 @@
 "aviso: a ferramenta interna %s não é capaz de mesclar links simbólicos para "
 "%s\n"
 
+#, python-format
+msgid "warning: internal %s cannot merge change/delete conflict for %s\n"
+msgstr ""
+"aviso: a ferramenta interna %s não é capaz de mesclar o conflito entre "
+"mudança e remoção para %s\n"
+
 msgid ""
 "``:union``\n"
 "Uses the internal non-interactive simple merge algorithm for merging\n"
@@ -17612,10 +18321,6 @@
 "    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"
@@ -17667,6 +18372,10 @@
 "    no mesmo diretório de ``a.txt``."
 
 #, python-format
+msgid "warning: %s cannot merge change/delete conflict for %s\n"
+msgstr "aviso: %s não pode mesclar o conflito entre mudança e remoção para %s\n"
+
+#, python-format
 msgid "merging %s failed!\n"
 msgstr "mesclagem de %s falhou!\n"
 
@@ -17705,6 +18414,9 @@
 msgid "can't use a list in this context"
 msgstr "não se pode usar uma lista nesse contexto"
 
+msgid "see hg help \"filesets.x or y\""
+msgstr "veja hg help \"filesets.x or y\""
+
 msgid ""
 "``modified()``\n"
 "    File that is modified according to :hg:`status`."
@@ -17740,16 +18452,27 @@
 
 msgid ""
 "``deleted()``\n"
-"    File that is deleted according to :hg:`status`."
+"    Alias for ``missing()``."
 msgstr ""
 "``deleted()``\n"
-"    Arquivo apagado de acordo com :hg:`status`."
+"    Apelido para ``missing()``."
 
 #. i18n: "deleted" is a keyword
 msgid "deleted takes no arguments"
 msgstr "deleted não tem argumentos"
 
 msgid ""
+"``missing()``\n"
+"    File that is missing according to :hg:`status`."
+msgstr ""
+"``missing()``\n"
+"    Arquivo faltando, de acordo com :hg:`status`."
+
+#. i18n: "missing" is a keyword
+msgid "missing takes no arguments"
+msgstr "missing não tem argumentos"
+
+msgid ""
 "``unknown()``\n"
 "    File that is unknown according to :hg:`status`. These files will only be\n"
 "    considered if this predicate is used."
@@ -18027,6 +18750,15 @@
 msgid " ([+] can be repeated)"
 msgstr " ([+] pode ser repetido)"
 
+msgid "container for exchange of repository data"
+msgstr "contêiner para troca de dados de repositório"
+
+msgid "representation of revlog data"
+msgstr "representação de dados de revlog"
+
+msgid "revision storage mechanism"
+msgstr "mecanismo de armazenamento de revisões"
+
 msgid "Configuration Files"
 msgstr "Arquivos de Configuração"
 
@@ -18084,6 +18816,9 @@
 msgid "Using Mercurial from scripts and automation"
 msgstr "Uso do Mercurial em scripts e automação"
 
+msgid "Technical implementation topics"
+msgstr "Tópicos técnicos sobre implementação"
+
 #, python-format
 msgid ""
 "\n"
@@ -18291,11 +19026,11 @@
 "informações sobre como e onde modificar configurações."
 
 msgid ""
-"Format\n"
-"======"
-msgstr ""
-"Formato\n"
-"======="
+"Structure\n"
+"========="
+msgstr ""
+"Estrutura\n"
+"========="
 
 msgid ""
 "The configuration files use a simple ini-file format. A configuration\n"
@@ -18332,18 +19067,28 @@
 msgid ""
 "Mercurial reads configuration data from several files, if they exist.\n"
 "These files do not exist by default and you will have to create the\n"
-"appropriate configuration files yourself: global configuration like\n"
-"the username setting is typically put into\n"
-"``%USERPROFILE%\\mercurial.ini`` or ``$HOME/.hgrc`` and local\n"
-"configuration is put into the per-repository ``<repo>/.hg/hgrc`` file."
+"appropriate configuration files yourself:"
 msgstr ""
 "O Mercurial lê dados de configuração de diversos arquivos, se existirem.\n"
 "Estes arquivos por padrão não existem, e você mesmo precisa criar os\n"
-"arquivos de configuração apropriados: configurações globais, como por\n"
-"exemplo seu nome de usuário, são tipicamente colocadas em\n"
-"``%USERPROFILE%\\mercurial.ini`` ou ``$HOME/.hgrc``, e configurações\n"
-"específicas de um repositório são colocadas no arquivo\n"
-"``<repositório>/.hg/hgrc``."
+"arquivos de configuração apropriados:"
+
+msgid ""
+"Local configuration is put into the per-repository ``<repo>/.hg/hgrc`` file."
+msgstr ""
+"Configurações locais específicas de um repositório são colocadas no\n"
+"arquivo ``<repositório>/.hg/hgrc``."
+
+msgid "Global configuration like the username setting is typically put into:"
+msgstr ""
+"Configurações globais, como por exemplo seu nome de usuário, são\n"
+"tipicamente colocadas em:"
+
+msgid "  ``%USERPROFILE%\\mercurial.ini``"
+msgstr "  ``%USERPROFILE%\\mercurial.ini``"
+
+msgid "  ``$HOME/.hgrc``"
+msgstr "  ``$HOME/.hgrc``"
 
 msgid ""
 "The names of these files depend on the system on which Mercurial is\n"
@@ -18410,6 +19155,9 @@
 "   A chave de registro ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Mercurial``\n"
 "   será usada ao rodar um Python 32 bits em um Windows 64 bits."
 
+msgid "  On Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``."
+msgstr "  No Windows 9x, ``%HOME%`` é substituída por ``%APPDATA%``."
+
 msgid "  On Plan9, the following files are consulted:"
 msgstr "  Em Plan9, os seguintes arquvos são consultados:"
 
@@ -18434,30 +19182,33 @@
 "Per-repository configuration options only apply in a\n"
 "particular repository. This file is not version-controlled, and\n"
 "will not get transferred during a \"clone\" operation. Options in\n"
-"this file override options in all other configuration files. On\n"
-"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\n"
-":hg:`help config.trusted` for more details."
+"this file override options in all other configuration files."
 msgstr ""
 "Configurações específicas por repositório só se aplicam a um\n"
 "repositório em particular. Este arquivo\n"
 "não é versionado, e não é transferido durante uma operação\n"
 "\"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 :hg:`help config.trusted`\n"
-"para maiores detalhes."
-
-msgid ""
-"Per-user configuration file(s) are for the user running Mercurial. On\n"
-"Windows 9x, ``%HOME%`` is replaced by ``%APPDATA%``. Options in these\n"
-"files apply to all Mercurial commands executed by this user in any\n"
+"arquivo de configuração."
+
+msgid ""
+"  On 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\n"
+"  :hg:`help config.trusted` for more details."
+msgstr ""
+"  No Plan 9 e em Unix, a maior parte deste arquivo\n"
+"  será ignorada se ele não pertencer a um usuário ou grupo\n"
+"  confiável; veja :hg:`help config.trusted`\n"
+"  para maiores detalhes."
+
+msgid ""
+"Per-user configuration file(s) are for the user running Mercurial.  Options\n"
+"in these files apply to all Mercurial commands executed by this user in any\n"
 "directory. Options in these files override per-system and per-installation\n"
 "options."
 msgstr ""
 "Arquivos de configuração por usuário são específicos do usuário que\n"
 "executa o Mercurial.\n"
-"No Windows 9x, ``%HOME%`` é substituído por ``%APPDATA%``. Opções nestes\n"
+"Opções nestes\n"
 "arquivos se aplicam a todos os comandos do Mercurial executados por este\n"
 "usuário em qualquer diretório. Opções nestes arquivos sobrepõe opções\n"
 "por sistema e por instalação."
@@ -18465,18 +19216,22 @@
 msgid ""
 "Per-installation configuration files are searched for in the\n"
 "directory where Mercurial is installed. ``<install-root>`` is the\n"
-"parent directory of the **hg** executable (or symlink) being run. For\n"
-"example, if installed in ``/shared/tools/bin/hg``, Mercurial will look\n"
-"in ``/shared/tools/etc/mercurial/hgrc``. Options in these files apply\n"
-"to all Mercurial commands executed by any user in any directory."
+"parent directory of the **hg** executable (or symlink) being run."
 msgstr ""
 "Arquivos de configuração por instalação são procurados no diretório onde\n"
 "o Mercurial está instalado. ``<install-root>`` é o diretório pai do\n"
-"executável **hg** (ou link simbólico) executado.\n"
-"Por exemplo, se instalado em ``/shared/tools/bin/hg``, o Mercurial\n"
-"procurará em ``/shared/tools/etc/mercurial/hgrc``.\n"
-"Opções nestes arquivos se aplicam a todos os comandos do Mercurial\n"
-"executados por qualquer usuário em qualquer diretório."
+"executável **hg** (ou link simbólico) executado."
+
+msgid ""
+"  For example, if installed in ``/shared/tools/bin/hg``, Mercurial\n"
+"  will look in ``/shared/tools/etc/mercurial/hgrc``. Options in these\n"
+"  files apply to all Mercurial commands executed by any user in any\n"
+"  directory."
+msgstr ""
+"  Por exemplo, se instalado em ``/shared/tools/bin/hg``, o Mercurial\n"
+"  procurará em ``/shared/tools/etc/mercurial/hgrc``.\n"
+"  Opções nestes arquivos se aplicam a todos os comandos do Mercurial\n"
+"  executados por qualquer usuário em qualquer diretório."
 
 msgid ""
 "Per-installation configuration files are for the system on\n"
@@ -19370,14 +20125,14 @@
 "arquivo temporário vazio, no qual os dados devam ser escritos pelo comando."
 
 msgid ""
-"   The tempfile mechanism is recommended for Windows systems,\n"
-"   where the standard shell I/O redirection operators often have\n"
-"   strange effects and may corrupt the contents of your files."
-msgstr ""
-"   O mecanismo tempfile é recomendado para sistemas Windows,\n"
-"   no qual os operadores padrão do shell de redirecionamento de comandos\n"
-"   por vezes causam efeitos estranhos e podem corromper o conteúdo de\n"
-"   seus arquivos."
+"     The tempfile mechanism is recommended for Windows systems,\n"
+"     where the standard shell I/O redirection operators often have\n"
+"     strange effects and may corrupt the contents of your files."
+msgstr ""
+"     O mecanismo tempfile é recomendado para sistemas Windows,\n"
+"     no qual os operadores padrão do shell de redirecionamento de comandos\n"
+"     por vezes causam efeitos estranhos e podem corromper o conteúdo de\n"
+"     seus arquivos."
 
 msgid ""
 "This filter mechanism is used internally by the ``eol`` extension to\n"
@@ -19685,13 +20440,66 @@
 "----------"
 
 msgid ""
+"``usegeneraldelta``\n"
+"    Enable or disable the \"generaldelta\" repository format which improves\n"
+"    repository compression by allowing \"revlog\" to store delta against arbitrary\n"
+"    revision instead of the previous stored one. This provides significant\n"
+"    improvement for repositories with branches."
+msgstr ""
+"``usegeneraldelta``\n"
+"    Habilita ou desabilita o formato de repositório \"generaldelta\"\n"
+"    que melhora a compressão do repositório permitindo que o\n"
+"    \"revlog\" armazene deltas em relação a revisões arbitrárias, ao\n"
+"    invés de em relação à revisão anterior. Isto traz melhorias\n"
+"    significativas para repositórios com ramos."
+
+msgid ""
+"    Repositories with this on-disk format require Mercurial version 1.9."
+msgstr "    Repositórios com este formato requerem a versão 1.9 do Mercurial."
+
+msgid "    Enabled by default."
+msgstr "    Habilitado por padrão."
+
+msgid ""
+"``dotencode``\n"
+"    Enable or disable the \"dotencode\" repository format which enhances\n"
+"    the \"fncache\" repository format (which has to be enabled to use\n"
+"    dotencode) to avoid issues with filenames starting with ._ on\n"
+"    Mac OS X and spaces on Windows."
+msgstr ""
+"``dotencode``\n"
+"    Habilita ou desabilita o formato de repositório \"dotencode\", que\n"
+"    aprimora o formato \"fncache\" (que deve ser habilitado para o uso de\n"
+"    dotencode) para evitar problemas com nomes de arquivo iniciados por\n"
+"    ._ no Mac OS X e espaços no Windows."
+
+msgid ""
+"    Repositories with this on-disk format require Mercurial version 1.7."
+msgstr "    Repositórios com este formato requerem a versão 1.7 do Mercurial."
+
+msgid ""
+"``usefncache``\n"
+"    Enable or disable the \"fncache\" repository format which enhances\n"
+"    the \"store\" repository format (which has to be enabled to use\n"
+"    fncache) to allow longer filenames and avoids using Windows\n"
+"    reserved names, e.g. \"nul\"."
+msgstr ""
+"``usefncache``\n"
+"    Habilita ou desabilita o formato de repositório \"fncache\", que\n"
+"    aprimora o formato \"store\" (que deve ser habilitado para o uso de\n"
+"    fncache) para permitir nomes de arquivo mais longos e evitar o uso\n"
+"    de nomes de arquivo reservados, como \"nul\"."
+
+msgid ""
+"    Repositories with this on-disk format require Mercurial version 1.1."
+msgstr "    Repositórios com este formato requerem a versão 1.1 do Mercurial."
+
+msgid ""
 "``usestore``\n"
 "    Enable or disable the \"store\" repository format which improves\n"
 "    compatibility with systems that fold case or otherwise mangle\n"
-"    filenames. Enabled by default. Disabling this option will allow\n"
-"    you to store longer filenames in some situations at the expense of\n"
-"    compatibility and ensures that the on-disk format of newly created\n"
-"    repositories will be compatible with Mercurial before version 0.9.4."
+"    filenames. Disabling this option will allow you to store longer filenames\n"
+"    in some situations at the expense of compatibility."
 msgstr ""
 "``usestore``\n"
 "    Habilita ou desabilita o formato de repositório \"store\", que melhora\n"
@@ -19699,45 +20507,12 @@
 "    arquivo, por exemplo alterando maiúsculas e minúsculas.\n"
 "    Habilitado por padrão. Desabilitar esta opção permite o armazenamento\n"
 "    de nomes de arquivo mais longos em algumas situações, em prejuízo\n"
-"    da compatibilidade, e garante que o formato em disco de repositórios\n"
-"    criados recentemente seja compatível com versões do Mercurial\n"
-"    anteriores à 0.9.4."
-
-msgid ""
-"``usefncache``\n"
-"    Enable or disable the \"fncache\" repository format which enhances\n"
-"    the \"store\" repository format (which has to be enabled to use\n"
-"    fncache) to allow longer filenames and avoids using Windows\n"
-"    reserved names, e.g. \"nul\". Enabled by default. Disabling this\n"
-"    option ensures that the on-disk format of newly created\n"
-"    repositories will be compatible with Mercurial before version 1.1."
-msgstr ""
-"``usefncache``\n"
-"    Habilita ou desabilita o formato de repositório \"fncache\", que\n"
-"    aprimora o formato \"store\" (que deve ser habilitado para o uso de\n"
-"    fncache) para permitir nomes de arquivo mais longos e evitar o uso\n"
-"    de nomes de arquivo reservados, como \"nul\". Habilitado por padrão.\n"
-"    Desabilitar esta opção garante que o formato em disco de repositórios\n"
-"    criados recentemente seja compatível com versões do Mercurial\n"
-"    anteriores à 1.1."
-
-msgid ""
-"``dotencode``\n"
-"    Enable or disable the \"dotencode\" repository format which enhances\n"
-"    the \"fncache\" repository format (which has to be enabled to use\n"
-"    dotencode) to avoid issues with filenames starting with ._ on\n"
-"    Mac OS X and spaces on Windows. Enabled by default. Disabling this\n"
-"    option ensures that the on-disk format of newly created\n"
-"    repositories will be compatible with Mercurial before version 1.7."
-msgstr ""
-"``dotencode``\n"
-"    Habilita ou desabilita o formato de repositório \"dotencode\", que\n"
-"    aprimora o formato \"fncache\" (que deve ser habilitado para o uso de\n"
-"    dotencode) para evitar problemas com nomes de arquivo iniciados por\n"
-"    ._ no Mac OS X e espaços no Windows. Habilitado por padrão.\n"
-"    Desabilitar esta opção garante que o formato em disco de repositórios\n"
-"    criados recentemente seja compatível com versões do Mercurial\n"
-"    anteriores à 1.7."
+"    da compatibilidade."
+
+msgid ""
+"    Repositories with this on-disk format require Mercurial version 0.9.4."
+msgstr ""
+"    Repositórios com este formato requerem a versão 0.9.4 do Mercurial."
 
 msgid ""
 "``graph``\n"
@@ -19803,7 +20578,7 @@
 "hooks can be run for the same action by appending a suffix to the\n"
 "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"
+"by adding a prefix of ``priority.`` to the hook name on a new line\n"
 "and setting the priority. The default priority is 0."
 msgstr ""
 "Hooks, ou ganchos, são comandos ou funções Python automaticamente\n"
@@ -19812,7 +20587,7 @@
 "da adição de um sufixo à ação.\n"
 "Um gancho definido para o sistema todo pode ser sobreposto alterando\n"
 "seu valor ou definindo-o para uma string vazia.\n"
-"Ganchos podem ser priorizados adicionando-se um prefixo ``priority``\n"
+"Ganchos podem ser priorizados adicionando-se um prefixo ``priority.``\n"
 "ao nome do gancho em uma nova linha e atribuindo a prioridade.\n"
 "A prioridade padrão é 0."
 
@@ -19851,14 +20626,15 @@
 
 msgid ""
 "``changegroup``\n"
-"  Run after a changegroup has been added via push, pull or unbundle.\n"
-"  ID of the first new changeset is in ``$HG_NODE``. URL from which\n"
-"  changes came is in ``$HG_URL``."
+"  Run after a changegroup has been added via push, pull or unbundle.  ID of the\n"
+"  first new changeset is in ``$HG_NODE`` and last in ``$HG_NODE_LAST``. URL\n"
+"  from which changes came is in ``$HG_URL``."
 msgstr ""
 "``changegroup``\n"
 "  Executado após um changegroup ser adicionado em operações push, pull\n"
 "  ou unbundle.\n"
-"  O ID da primeira revisão nova é passado em ``$HG_NODE``.\n"
+"  O ID da primeira revisão nova é passado em ``$HG_NODE``,\n"
+"  e o da última em ``$HG_NODE_LAST``.\n"
 "  A URL de origem das mudanças é passada em ``$HG_URL``."
 
 msgid ""
@@ -19922,7 +20698,7 @@
 "  command line are passed as ``$HG_ARGS``. Parsed command line arguments\n"
 "  are passed as ``$HG_PATS`` and ``$HG_OPTS``. These contain string\n"
 "  representations of the data internally passed to <command>. ``$HG_OPTS``\n"
-"  is a  dictionary of options (with unspecified options set to their\n"
+"  is a dictionary of options (with unspecified options set to their\n"
 "  defaults). ``$HG_PATS`` is a list of arguments. If the hook returns\n"
 "  failure, the command doesn't execute and Mercurial returns the failure\n"
 "  code."
@@ -20047,17 +20823,16 @@
 
 msgid ""
 "``pretxnclose``\n"
-"  Run right before the transaction is actually finalized. Any\n"
-"  repository change will be visible to the hook program. This lets you\n"
-"  validate the transaction content or change it. Exit status 0 allows\n"
-"  the commit to proceed. Non-zero status will cause the transaction to\n"
-"  be rolled back. The reason for the transaction opening will be in\n"
-"  ``$HG_TXNNAME`` and a unique identifier for the transaction will be in\n"
-"  ``HG_TXNID``. The rest of the available data will vary according the\n"
-"  transaction type. New changesets will add ``$HG_NODE`` (id of the\n"
-"  first added changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables,\n"
-"  bookmarks and phases changes will set ``HG_BOOKMARK_MOVED`` and\n"
-"  ``HG_PHASES_MOVED`` to ``1``, etc."
+"  Run right before the transaction is actually finalized. Any repository change\n"
+"  will be visible to the hook program. This lets you validate the transaction\n"
+"  content or change it. Exit status 0 allows the commit to proceed. Non-zero\n"
+"  status will cause the transaction to be rolled back. The reason for the\n"
+"  transaction opening will be in ``$HG_TXNNAME`` and a unique identifier for\n"
+"  the transaction will be in ``HG_TXNID``. The rest of the available data will\n"
+"  vary according the transaction type. New changesets will add ``$HG_NODE`` (id\n"
+"  of the first added changeset), ``$HG_NODE_LAST`` (id of the last added\n"
+"  changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables, bookmarks and phases\n"
+"  changes will set ``HG_BOOKMARK_MOVED`` and ``HG_PHASES_MOVED`` to ``1``, etc."
 msgstr ""
 "``pretxnclose``\n"
 "  Executado imediatamente antes de a transação ser finalizada.\n"
@@ -20069,7 +20844,8 @@
 "  identificador único para a transação será passado em ``HG_TXNID``.\n"
 "  Outros dados estarão disponíveis dependendo do tipo da transação.\n"
 "  Novas revisões adicionarão ``$HG_NODE`` (id da primeira revisão\n"
-"  adicionada), ``$HG_URL`` e ``$HG_SOURCE``, mudanças de marcadores\n"
+"  adicionada), ``$HG_NODE_LAST`` (id da última revisão adicionada),\n"
+"  ``$HG_URL`` e ``$HG_SOURCE``, mudanças de marcadores\n"
 "  e fases definirão ``HG_BOOKMARK_MOVED`` e ``HG_PHASES_MOVED`` como\n"
 "  ``1``, etc."
 
@@ -20099,21 +20875,21 @@
 
 msgid ""
 "``pretxnchangegroup``\n"
-"  Run after a changegroup has been added via push, pull or unbundle,\n"
-"  but before the transaction has been committed. Changegroup is\n"
-"  visible to hook program. This lets you validate incoming changes\n"
-"  before accepting them. Passed the ID of the first new changeset in\n"
-"  ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero\n"
-"  status will cause the transaction to be rolled back and the push,\n"
-"  pull or unbundle will fail. URL that was source of changes is in\n"
-"  ``$HG_URL``."
+"  Run after a changegroup has been added via push, pull or unbundle, but before\n"
+"  the transaction has been committed. Changegroup is visible to hook program.\n"
+"  This lets you validate incoming changes before accepting them. Passed the ID\n"
+"  of the first new changeset in ``$HG_NODE`` and last in ``$HG_NODE_LAST``.\n"
+"  Exit status 0 allows the transaction to commit. Non-zero status will cause\n"
+"  the transaction to be rolled back and the push, pull or unbundle will fail.\n"
+"  URL that was source of changes is in ``$HG_URL``."
 msgstr ""
 "``pretxnchangegroup``\n"
 "  Executado após um changegroup ser adicionado em uma operação\n"
 "  push, pull ou unbundle, mas antes da transação ser completada.\n"
 "  O changegroup é visível para o programa do gancho.\n"
 "  Isto permite que as novas mudanças sejam validadas antes de serem\n"
-"  aceitas. O ID da primeira nova revisão é passado em ``$HG_NODE``.\n"
+"  aceitas. O ID da primeira nova revisão é passado em ``$HG_NODE``\n"
+"  e o da última em ``$HG_NODE_LAST``.\n"
 "  O status de saída 0 permite que a transação seja completada. Status\n"
 "  de saída diferentes de 0 farão com que a transação seja desfeita,\n"
 "  e a operação push, pull ou unbundle falhará.\n"
@@ -20362,6 +21138,53 @@
 "    entradas em ``http_proxy.no``. (padrão: False)"
 
 msgid ""
+"``merge``\n"
+"---------"
+msgstr ""
+"``merge``\n"
+"---------"
+
+msgid "This section specifies behavior during merges and updates."
+msgstr ""
+"Esta seção especifica o comportamento durante mesclagens e atualizações."
+
+msgid ""
+"``checkignored``\n"
+"   Controls behavior when an ignored file on disk has the same name as a tracked\n"
+"   file in the changeset being merged or updated to, and has different\n"
+"   contents. Options are ``abort``, ``warn`` and ``ignore``. With ``abort``,\n"
+"   abort on such files. With ``warn``, warn on such files and back them up as\n"
+"   .orig. With ``ignore``, don't print a warning and back them up as\n"
+"   .orig. (default: ``abort``)"
+msgstr ""
+"``checkignored``\n"
+"   Controla o comportamento quando um arquivo ignorado no disco\n"
+"   possuir o mesmo nome que um arquivo rastreado na revisão sendo\n"
+"   mesclada ou atualizada, e possuir conteúdo diferente.\n"
+"   As opções são ``abort``, ``warn`` e ``ignore``.\n"
+"   Com ``abort``, aborta ao encontrar tais arquivos.\n"
+"   Com ``warn``, emite um aviso e cria uma cópia desses arquivos\n"
+"   com a extensão .orig.\n"
+"   Com ``ignore``, não emite um aviso e cria uma cópia com a\n"
+"   extensão .orig.\n"
+"   (padrão: ``abort``)"
+
+msgid ""
+"``checkunknown``\n"
+"   Controls behavior when an unknown file that isn't ignored has the same name\n"
+"   as a tracked file in the changeset being merged or updated to, and has\n"
+"   different contents. Similar to ``merge.checkignored``, except for files that\n"
+"   are not ignored. (default: ``abort``)"
+msgstr ""
+"``checkunknown``\n"
+"   Controla o comportamento quando um arquivo desconhecido que não\n"
+"   for ignorado tiver o mesmo nome que um arquivo rastreado na\n"
+"   revisão sendo mesclada ou atualizada, e possuir conteúdo diferente.\n"
+"   Opera de forma similar a ``merge.checkignored``, mas para arquivos\n"
+"   que não são ignorados.\n"
+"   (padrão: ``abort``)"
+
+msgid ""
 "``merge-patterns``\n"
 "------------------"
 msgstr ""
@@ -20463,15 +21286,20 @@
 
 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)"
+"  Either just the name of the executable or its pathname."
 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)"
+"  Pode ser apenas o nome do executável ou seu caminho completo."
+
+msgid ""
+"    On Windows, the path can use environment variables with ${ProgramFiles}\n"
+"    syntax."
+msgstr ""
+"    No Windows, o caminho pode usar variáveis de ambiente com a sintaxe\n"
+"    ${ProgramFiles}."
+
+msgid "  (default: the tool name)"
+msgstr "  (padrão: o próprio nome da ferramenta)"
 
 msgid ""
 "``args``\n"
@@ -20577,53 +21405,53 @@
 "  (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)"
-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: None)"
-
-msgid ""
-"``regkeyalt``\n"
-"  An alternate Windows registry key to try if the first key is not\n"
-"  found.  The alternate key uses the same ``regname`` and ``regappend``\n"
-"  semantics of the primary key.  The most common use for this key\n"
-"  is to search for 32bit applications on 64bit operating systems.\n"
-"  (default: None)"
-msgstr ""
-"``regkeyalt``\n"
-"  Uma chave alternativa de registro do Windows a ser tentada caso a primeira\n"
-"  chave não seja encontrada. A chave alternativa usa as mesmas semânticas\n"
-"  ``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)"
-
-msgid ""
-"``regname``\n"
-"  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.\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)"
-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)"
+"  ``regkey``\n"
+"    Windows registry key which describes install location of this\n"
+"    tool. Mercurial will search for this key first under\n"
+"    ``HKEY_CURRENT_USER`` and then under ``HKEY_LOCAL_MACHINE``.\n"
+"    (default: None)"
+msgstr ""
+"  ``regkey``\n"
+"    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: None)"
+
+msgid ""
+"  ``regkeyalt``\n"
+"    An alternate Windows registry key to try if the first key is not\n"
+"    found.  The alternate key uses the same ``regname`` and ``regappend``\n"
+"    semantics of the primary key.  The most common use for this key\n"
+"    is to search for 32bit applications on 64bit operating systems.\n"
+"    (default: None)"
+msgstr ""
+"  ``regkeyalt``\n"
+"    Uma chave alternativa de registro do Windows a ser tentada caso a primeira\n"
+"    chave não seja encontrada. A chave alternativa usa as mesmas semânticas\n"
+"    ``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)"
+
+msgid ""
+"  ``regname``\n"
+"    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.\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)"
+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)"
 
 msgid ""
 "\n"
@@ -20686,64 +21514,94 @@
 "``paths``\n"
 "---------"
 
-msgid ""
-"Assigns symbolic names to repositories. The left side is the\n"
-"symbolic name, and the right gives the directory or URL that is the\n"
-"location of the repository. Default paths can be declared by setting\n"
-"the following entries."
-msgstr ""
-"Atribui nomes simbólicos para repositórios. O lado esquerdo é o\n"
-"nome simbólico, e o direito o diretório ou URL onde se localiza o\n"
-"repositório. Caminhos padrão podem ser declarados definindo as\n"
-"seguintes entradas."
+msgid "Assigns symbolic names and behavior to repositories."
+msgstr "Atribui nomes simbólicos para repositórios."
+
+msgid ""
+"Options are symbolic names defining the URL or directory that is the\n"
+"location of the repository. Example::"
+msgstr ""
+"As opções são nomes simbólicos definindo a URL ou o\n"
+"diretório onde o repositório se localiza. Exemplo::"
+
+msgid ""
+"    [paths]\n"
+"    my_server = https://example.com/my_repo\n"
+"    local_path = /home/me/repo"
+msgstr ""
+"    [paths]\n"
+"    my_server = https://example.com/my_repo\n"
+"    local_path = /home/me/repo"
+
+msgid ""
+"These symbolic names can be used from the command line. To pull\n"
+"from ``my_server``: :hg:`pull my_server`. To push to ``local_path``:\n"
+":hg:`push local_path`."
+msgstr ""
+"Estes nomes simbólicos podem ser usados na linha de comando.\n"
+"Para trazer revisões de ``my_server``: :hg:`pull my_server`.\n"
+"Para enviar revisões para ``local_path``: :hg:`push local_path`."
+
+msgid ""
+"Options containing colons (``:``) denote sub-options that can influence\n"
+"behavior for that specific path. Example::"
+msgstr ""
+"Opções contendo dois pontos (``:``) denotam sub-opções que\n"
+"podem influenciar o comportamento para tal caminho específico.\n"
+"Exemplo::"
+
+msgid ""
+"    [paths]\n"
+"    my_server = https://example.com/my_path\n"
+"    my_server:pushurl = ssh://example.com/my_path"
+msgstr ""
+"    [paths]\n"
+"    my_server = https://example.com/my_path\n"
+"    my_server:pushurl = ssh://example.com/my_path"
+
+msgid "The following sub-options can be defined:"
+msgstr "As seguintes sub-opções podem ser definidas:"
+
+msgid ""
+"``pushurl``\n"
+"   The URL to use for push operations. If not defined, the location\n"
+"   defined by the path's main entry is used."
+msgstr ""
+"``pushurl``\n"
+"   A URL usada para operações push. Se não definida, será usada a\n"
+"   localização definida pela entrada principal do caminho."
+
+msgid "The following special named paths exist:"
+msgstr "Existem os seguintes caminhos com nomes especiais:"
 
 msgid ""
 "``default``\n"
-"    Directory or URL to use when pulling if no source is specified.\n"
-"    (default: repository from which the current repository was cloned)"
+"   The URL or directory to use when no source or remote is specified."
 msgstr ""
 "``default``\n"
-"    Diretório ou URL a ser usado para um pull se a origem não\n"
-"    for especificada.\n"
-"    (padrão: o repositório do qual o repositório local foi clonado)"
+"    Diretório ou URL a ser usado se a origem ou o remoto não\n"
+"    forem especificados."
+
+msgid ""
+"   :hg:`clone` will automatically define this path to the location the\n"
+"   repository was cloned from."
+msgstr ""
+"   :hg:`clone` automaticamente definirá este caminho com o\n"
+"   local de onde o repositório foi criado."
 
 msgid ""
 "``default-push``\n"
-"    Optional. Directory or URL to use when pushing if no destination\n"
-"    is specified."
+"   (deprecated) The URL or directory for the default :hg:`push` location.\n"
+"   ``default:pushurl`` should be used instead."
 msgstr ""
 "``default-push``\n"
-"    Opcional. Diretório ou URL a ser usado para um push se o destino\n"
-"    não for especificado."
-
-msgid ""
-"Custom paths can be defined by assigning the path to a name that later can be\n"
-"used from the command line. Example::"
-msgstr ""
-"Um caminho personalizado podem ser definido atribuindo o caminho a\n"
-"um nome que mais tarde poderá ser usado na linha de comando. Exemplo::"
-
-msgid ""
-"    [paths]\n"
-"    my_path = http://example.com/path"
-msgstr ""
-"    [paths]\n"
-"    my_path = http://example.com/path"
-
-msgid "To push to the path defined in ``my_path`` run the command::"
-msgstr ""
-"Para enviar revisões para o caminho definido em ``my_path`` execute o "
-"comando::"
-
-msgid "    hg push my_path"
-msgstr "    hg push my_path"
-
-msgid ""
-"\n"
+"   (obsoleto) A URL ou diretório para o local padrão de :hg:`push`.\n"
+"   ``default:pushurl`` deve ser usado em seu lugar."
+
+msgid ""
 "``phases``\n"
 "----------"
 msgstr ""
-"\n"
 "``phases``\n"
 "----------"
 
@@ -21000,21 +21858,21 @@
 
 msgid ""
 "    Valid entries for the format field are ``topic``, ``bar``, ``number``,\n"
-"    ``unit``, ``estimate``, speed, and item. item defaults to the last 20\n"
-"    characters of the item, but this can be changed by adding either ``-<num>``\n"
-"    which would take the last num characters, or ``+<num>`` for the first num\n"
-"    characters."
-msgstr ""
-"    Entradas válidas para o campo format são topic (tópico),\n"
-"    bar (barra), number (número), unit (unidade), estimate\n"
-"    (estimativa), speed (velocidade) e item (item).\n"
-"    Por padrão, item são os últimos 20 caracteres do item,\n"
+"    ``unit``, ``estimate``, ``speed``, and ``item``. ``item`` defaults to the\n"
+"    last 20 characters of the item, but this can be changed by adding either\n"
+"    ``-<num>`` which would take the last num characters, or ``+<num>`` for the\n"
+"    first num characters."
+msgstr ""
+"    Entradas válidas para o campo format são ``topic`` (tópico),\n"
+"    ``bar`` (barra), ``number`` (número), ``unit`` (unidade), ``estimate``\n"
+"    (estimativa), ``speed`` (velocidade) e ``item`` (item).\n"
+"    Por padrão, ``item`` são os últimos 20 caracteres do item,\n"
 "    mas isto pode ser modificado adicionando ``-<num>``, que\n"
 "    consideraria os últimos num caracteres, ou ``+<num>``\n"
 "    para os primeiros num caracteres."
 
-msgid "    (default: Topic bar number estimate)"
-msgstr "    (padrão: Topic bar number estimate)"
+msgid "    (default: topic bar number estimate)"
+msgstr "    (padrão: topic bar number estimate)"
 
 msgid ""
 "``width``\n"
@@ -21048,6 +21906,23 @@
 "    que 'disable' seja 'true'."
 
 msgid ""
+"``rebase``\n"
+"----------"
+msgstr ""
+"``rebase``\n"
+"----------"
+
+msgid ""
+"``allowdivergence``\n"
+"    Default to False, when True allow creating divergence when performing\n"
+"    rebase of obsolete changesets."
+msgstr ""
+"``allowdivergence``\n"
+"    Se True, permite a criação de divergência ao realizar um rebase\n"
+"    de revisões obsoletas.\n"
+"    (padrão: False)"
+
+msgid ""
 "``revsetalias``\n"
 "---------------"
 msgstr ""
@@ -21129,6 +22004,76 @@
 "    (padrão: 1024)"
 
 msgid ""
+"``bundle1``\n"
+"    Whether to allow clients to push and pull using the legacy bundle1\n"
+"    exchange format. (default: True)"
+msgstr ""
+"``bundle1``\n"
+"    Permite que clientes façam push e pull usando o formato legado\n"
+"    bundle1. \n"
+"    (padrão: True)"
+
+msgid ""
+"``bundle1gd``\n"
+"    Like ``bundle1`` but only used if the repository is using the\n"
+"    *generaldelta* storage format. (default: True)"
+msgstr ""
+"``bundle1gd``\n"
+"    Como ``bundle1`` mas usado apenas se o repositório usar o formato\n"
+"    *generaldelta*.\n"
+"    (padrão: True)"
+
+msgid ""
+"``bundle1.push``\n"
+"    Whether to allow clients to push using the legacy bundle1 exchange\n"
+"    format. (default: True)"
+msgstr ""
+"``bundle1.push``\n"
+"    Permite que clientes façam push usando o formato de troca legado bundle1.\n"
+"    (padrão: True)"
+
+msgid ""
+"``bundle1gd.push``\n"
+"    Like ``bundle1.push`` but only used if the repository is using the\n"
+"    *generaldelta* storage format. (default: True)"
+msgstr ""
+"``bundle1gd.push``\n"
+"    Como ``bundle1.push``, mas usado apenas se o repositório usar o\n"
+"    formato de armazenamento *generaldelta*.\n"
+"    (padrão: True)"
+
+msgid ""
+"``bundle1.pull``\n"
+"    Whether to allow clients to pull using the legacy bundle1 exchange\n"
+"    format. (default: True)"
+msgstr ""
+"``bundle1.pull``\n"
+"    Permite que clientes façam pull usando o formato de troca legado bundle1.\n"
+"    (padrão: True)"
+
+msgid ""
+"``bundle1gd.pull``\n"
+"    Like ``bundle1.pull`` but only used if the repository is using the\n"
+"    *generaldelta* storage format. (default: True)"
+msgstr ""
+"``bundle1gd.pull``\n"
+"    Como ``bundle1.pull``, mas usado apenas se o repositório usar o\n"
+"    formato de armazenamento *generaldelta*.\n"
+"    (padrão: True)"
+
+msgid ""
+"    Large repositories using the *generaldelta* storage format should\n"
+"    consider setting this option because converting *generaldelta*\n"
+"    repositories to the exchange format required by the bundle1 data\n"
+"    format can consume a lot of CPU."
+msgstr ""
+"    Em repositórios grandes que usem o formato *generaldelta*\n"
+"    deve-se considerar o uso desta opção, pois converter\n"
+"    repositórios *generaldelta* para o formato de troca\n"
+"    necessário para o formato de dados bundle1 pode consumir\n"
+"    bastante CPU."
+
+msgid ""
 "``smtp``\n"
 "--------"
 msgstr ""
@@ -21360,6 +22305,27 @@
 "    (padrão: False)"
 
 msgid ""
+"``clonebundles``\n"
+"    Whether the \"clone bundles\" feature is enabled."
+msgstr ""
+"``clonebundles``\n"
+"    Habilita a funcionalidade \"clone bundles\"."
+
+msgid ""
+"    When enabled, :hg:`clone` may download and apply a server-advertised\n"
+"    bundle file from a URL instead of using the normal exchange mechanism."
+msgstr ""
+"    Se habilitado, :hg:`clone` pode baixar e aplicar um bundle\n"
+"    anunciado pelo servidor a partir de uma URL ao invés de usar\n"
+"    o mecanismo normal de troca."
+
+msgid "    This can likely result in faster and more reliable clones."
+msgstr "    Isto provavelmente resulta em clones mais rápidos e confiáveis."
+
+msgid "    (default: True)"
+msgstr "    (padrão: True)"
+
+msgid ""
 "``clonebundlefallback``\n"
 "    Whether failure to apply an advertised \"clone bundle\" from a server\n"
 "    should result in fallback to a regular clone."
@@ -21391,6 +22357,57 @@
 msgstr "    (padrão: False)"
 
 msgid ""
+"``clonebundleprefers``\n"
+"    Defines preferences for which \"clone bundles\" to use."
+msgstr ""
+"``clonebundleprefers``\n"
+"    Define preferências sobre quais \"clone bundles\" usar."
+
+msgid ""
+"    Servers advertising \"clone bundles\" may advertise multiple available\n"
+"    bundles. Each bundle may have different attributes, such as the bundle\n"
+"    type and compression format. This option is used to prefer a particular\n"
+"    bundle over another."
+msgstr ""
+"    Servidores que anunciam \"clone bundles\" podem anunciar múltiplos\n"
+"    bundles disponíveis. Cada bundle pode ter diferentes atributos,\n"
+"    tais como tipo de bundle e formato de compressão. Esta opção\n"
+"    é usada para preferir um bundle em particular."
+
+msgid "    The following keys are defined by Mercurial:"
+msgstr "    As seguintes chaves são definidas pelo Mercurial:"
+
+msgid ""
+"    BUNDLESPEC\n"
+"       A bundle type specifier. These are strings passed to :hg:`bundle -t`.\n"
+"       e.g. ``gzip-v2`` or ``bzip2-v1``."
+msgstr ""
+"    BUNDLESPEC\n"
+"       Um especificador de tipo de bundle. Estas são strings passadas\n"
+"       para :hg:`bundle -t`.\n"
+"       Por exemplo, ``gzip-v2`` ou ``bzip2-v1``."
+
+msgid ""
+"    COMPRESSION\n"
+"       The compression format of the bundle. e.g. ``gzip`` and ``bzip2``."
+msgstr ""
+"    COMPRESSION\n"
+"       O formato de compressão do bundle. Por exemplo, ``gzip`` e ``bzip2``."
+
+msgid "    Server operators may define custom keys."
+msgstr "    Operadores de servidor podem definir chaves personalizadas."
+
+msgid ""
+"    Example values: ``COMPRESSION=bzip2``,\n"
+"    ``BUNDLESPEC=gzip-v2, COMPRESSION=gzip``."
+msgstr ""
+"    Exemplos de valores: ``COMPRESSION=bzip2``,\n"
+"    ``BUNDLESPEC=gzip-v2, COMPRESSION=gzip``."
+
+msgid "    By default, the first bundle advertised by the server is used."
+msgstr "    Por padrão, o primeiro bundle anunciado pelo servidor será usado."
+
+msgid ""
 "``commitsubrepos``\n"
 "    Whether to commit modified subrepositories when committing the\n"
 "    parent repository. If False and one subrepository has uncommitted\n"
@@ -21430,6 +22447,15 @@
 "    changelog usando UTF-8. (padrão: ISO-8859-1)"
 
 msgid ""
+"``graphnodetemplate``\n"
+"    The template used to print changeset nodes in an ASCII revision graph.\n"
+"    (default: ``{graphnode}``)"
+msgstr ""
+"``graphnodetemplate``\n"
+"    O modelo usado para imprimir nós de revisão em um grafo ASCII de revisões.\n"
+"    (padrão: ``{graphnode}``)"
+
+msgid ""
 "``ignore``\n"
 "    A file to read per-user ignore patterns from. This file should be\n"
 "    in the same format as a repository-wide .hgignore file. Filenames\n"
@@ -21529,6 +22555,15 @@
 "    de conflitos podem causar problemas sérios."
 
 msgid ""
+"``origbackuppath``\n"
+"    The path to a directory used to store generated .orig files. If the path is\n"
+"    not a directory, one will be created."
+msgstr ""
+"``origbackuppath``\n"
+"    Caminho para um diretório usado para armazenar arquivos .orig\n"
+"    gerados. Se o caminho não for um diretório ele será criado."
+
+msgid ""
 "``patch``\n"
 "    An optional external tool that ``hg import`` and some extensions\n"
 "    will use for applying patches. By default Mercurial uses an\n"
@@ -21561,41 +22596,77 @@
 msgid ""
 "``portablefilenames``\n"
 "    Check for portable filenames. Can be ``warn``, ``ignore`` or ``abort``.\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"
-"    parts like ``AUX``, reserved characters like ``:``, or would cause a case\n"
-"    collision with an existing file).\n"
-"    If set to ``ignore`` (or ``false``), no warning is printed.\n"
-"    If set to ``abort``, the command is aborted.\n"
-"    On Windows, this configuration option is ignored and the command aborted."
+"    (default: ``warn``)"
 msgstr ""
 "``portablefilenames``\n"
 "    Verifica a portabilidade de nomes de arquivos. Pode ser ``warn``\n"
 "    (avisar), ``ignore`` (ignorar) ou ``abort`` (abortar).\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"
-"    não pode ser criado em Windows por conter partes reservadas (como\n"
-"    ``AUX``), caracteres reservados (como ``:``) ou que causaria uma\n"
-"    colisão de maiúsculas e minúsculas com um arquivo existente).\n"
-"    Com o valor ``ignore`` (ou ``false``), nenhum aviso é emitido.\n"
-"    Com o valor ``abort``, o comando é abortado.\n"
-"    No Windows, esta configuração é ignorada, e o comando é sempre\n"
-"    abortado."
+"    (padrão: ``warn``)"
+
+msgid ""
+"    ``warn``\n"
+"      Print a warning message on POSIX platforms, if a file with a non-portable\n"
+"      filename is added (e.g. a file with a name that can't be created on\n"
+"      Windows because it contains reserved parts like ``AUX``, reserved\n"
+"      characters like ``:``, or would cause a case collision with an existing\n"
+"      file)."
+msgstr ""
+"    ``warn``\n"
+"      Imprime um aviso em plataformas POSIX platforms se um arquivo\n"
+"      com um nome de arquivo não portável for adicionado (por exemplo,\n"
+"      um arquivo com um nome que não pode ser criado em Windows por\n"
+"      conter partes reservadas como ``AUX``, caracteres reservados\n"
+"      como ``:``, ou causaria um conflito de maiúsculas e minúsculas\n"
+"      com um arquivo existente)."
+
+msgid ""
+"    ``ignore``\n"
+"      Don't print a warning."
+msgstr ""
+"    ``ignore``\n"
+"      Não imprime um aviso."
+
+msgid ""
+"    ``abort``\n"
+"      The command is aborted."
+msgstr ""
+"    ``abort``\n"
+"      O comando é abortado."
+
+msgid ""
+"    ``true``\n"
+"      Alias for ``warn``."
+msgstr ""
+"    ``true``\n"
+"      Apelido para ``warn``."
+
+msgid ""
+"    ``false``\n"
+"      Alias for ``ignore``."
+msgstr ""
+"    ``false``\n"
+"      Apelido para ``ignore``."
+
+msgid ""
+"      On Windows, this configuration option is ignored and the command "
+"aborted."
+msgstr ""
+"      No Windows, esta configuração é ignorada, e o comando é sempre\n"
+"      abortado."
 
 msgid ""
 "``quiet``\n"
-"    Reduce the amount of output printed. (default: False)"
+"    Reduce the amount of output printed.\n"
+"    (default: False)"
 msgstr ""
 "``quiet``\n"
-"    Reduz a quantidade de saída impressa. (padrão: False)"
+"    Reduz a quantidade de saída impressa.\n"
+"    (padrão: False)"
 
 msgid ""
 "``remotecmd``\n"
-"    Remote command to use for clone/push/pull operations. (default: ``hg``)"
+"    Remote command to use for clone/push/pull operations.\n"
+"    (default: ``hg``)"
 msgstr ""
 "``remotecmd``\n"
 "    Comando remoto a ser usado para operações clone/push/pull.\n"
@@ -21604,7 +22675,8 @@
 msgid ""
 "``report_untrusted``\n"
 "    Warn if a ``.hg/hgrc`` file is ignored due to not being owned by a\n"
-"    trusted user or group. (default: True)"
+"    trusted user or group.\n"
+"    (default: True)"
 msgstr ""
 "``report_untrusted``\n"
 "    Avisa se um arquivo ``.hg/hgrc`` for ignorado por não pertencer a um\n"
@@ -21708,7 +22780,7 @@
 
 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"
+"    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 ""
@@ -22403,12 +23475,68 @@
 "``numcpus``\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"
+"    (default: 4 or the number of CPUs on the system, whichever is larger)"
 msgstr ""
 "``numcpus``\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"
+"    (padrão: o maior valor entre 4 e o número de CPUs no sistema)"
+
+msgid ""
+"``backgroundclose``\n"
+"    Whether to enable closing file handles on background threads during certain\n"
+"    operations. Some platforms aren't very efficient at closing file\n"
+"    handles that have been written or appened to. By performing file closing\n"
+"    on background threads, file write rate can increase substantially.\n"
+"    (default: true on Windows, false elsewhere)"
+msgstr ""
+"``backgroundclose``\n"
+"    Habilita fechamento de arquivos em threads de segundo plano\n"
+"    durante certas operações.\n"
+"    Algumas plataformas não são muito eficientes ao fechar\n"
+"    manipuladores de arquivos após escritas.\n"
+"    Fechar esses manipuladores em segundo plano pode melhorar\n"
+"    substancialmente o ritmo de fechamento de arquivos.\n"
+"    (padrão: True no Windows, False em outras plataformas)"
+
+msgid ""
+"``backgroundcloseminfilecount``\n"
+"    Minimum number of files required to trigger background file closing.\n"
+"    Operations not writing this many files won't start background close\n"
+"    threads.\n"
+"    (default: 2048)"
+msgstr ""
+"``backgroundcloseminfilecount``\n"
+"    Número mínimo de arquivos necessários para disparar o fechamento\n"
+"    de arquivos em segundo plano.\n"
+"    Operações que não escreverem mais do que esse número não\n"
+"    iniciarão as threads de fechamento.\n"
+"    (padrão: 2048)"
+
+msgid ""
+"``backgroundclosemaxqueue``\n"
+"    The maximum number of opened file handles waiting to be closed in the\n"
+"    background. This option only has an effect if ``backgroundclose`` is\n"
+"    enabled.\n"
+"    (default: 384)"
+msgstr ""
+"``backgroundclosemaxqueue``\n"
+"    O número máximo de manipuladores de arquivo abertos\n"
+"    esperando para serem fechados em segundo plano.\n"
+"    Esta opção tem efeito apenas se ``backgroundclose`` for\n"
+"    habilitada.\n"
+"    (padrão: 384)"
+
+msgid ""
+"``backgroundclosethreadcount``\n"
+"    Number of threads to process background file closes. Only relevant if\n"
+"    ``backgroundclose`` is enabled.\n"
+"    (default: 4)\n"
+msgstr ""
+"``backgroundclosethreadcount``\n"
+"    Número de threads que fecham arquivos em segundo plano. Relevante\n"
+"    apenas se ``backgroundclose`` for habilitado.\n"
+"    (padrão: 4)\n"
 
 msgid "Some commands allow the user to specify a date, e.g.:"
 msgstr "Alguns comandos permitem ao usuário especificar uma data, como:"
@@ -24210,13 +25338,13 @@
 msgid ""
 "Copying\n"
 "\"\"\"\"\"\"\"\n"
-"Copyright (C) 2005-2015 Matt Mackall.\n"
+"Copyright (C) 2005-2016 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
 "Cópia\n"
 "\"\"\"\"\"\n"
-"Copyright (C) 2005-2015 Matt Mackall.\n"
+"Copyright (C) 2005-2016 Matt Mackall.\n"
 "Garante-se livre uso deste software nos termos da licença\n"
 "GNU General Public License, versão 2 ou qualquer versão posterior."
 
@@ -24274,14 +25402,14 @@
 "Copying\n"
 "=======\n"
 "This manual page is copyright 2006 Vadim Gelfer.\n"
-"Mercurial is copyright 2005-2015 Matt Mackall.\n"
+"Mercurial is copyright 2005-2016 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
 "Cópia\n"
 "=====\n"
 "Esta página de manual: copyright 2006 Vadim Gelfer.\n"
-"Mercurial: copyright 2005-2015 Matt Mackall.\n"
+"Mercurial: copyright 2005-2016 Matt Mackall.\n"
 "Garante-se livre uso deste software nos termos da licença\n"
 "GNU General Public License, versão 2 ou qualquer versão posterior."
 
@@ -24557,14 +25685,14 @@
 "Copying\n"
 "=======\n"
 "This manual page is copyright 2005 Bryan O'Sullivan.\n"
-"Mercurial is copyright 2005-2015 Matt Mackall.\n"
+"Mercurial is copyright 2005-2016 Matt Mackall.\n"
 "Free use of this software is granted under the terms of the GNU General\n"
 "Public License version 2 or any later version."
 msgstr ""
 "Cópia\n"
 "=====\n"
 "Esta página de manual: copyright 2005 Bryan O'Sullivan.\n"
-"Mercurial: copyright 2005-2015 Matt Mackall.\n"
+"Mercurial: copyright 2005-2016 Matt Mackall.\n"
 "Garante-se livre uso deste software nos termos da licença\n"
 "GNU General Public License, versão 2 ou qualquer versão posterior."
 
@@ -25227,6 +26355,20 @@
 "Veja :hg:`help -v phase` para alguns exemplos."
 
 msgid ""
+"To make yours commits secret by default, put this in your\n"
+"configuration file::"
+msgstr ""
+"Para colocar suas consolidações na fase secret por padrão,\n"
+"coloque isto em seu arquivo de configuração::"
+
+msgid ""
+"  [phases]\n"
+"  new-commit = secret"
+msgstr ""
+"  [phases]\n"
+"  new-commit = secret"
+
+msgid ""
 "Phases and servers\n"
 "=================="
 msgstr ""
@@ -26952,6 +28094,10 @@
 msgstr ".hgsubstate está corrompido na revisão %s\n"
 
 #, python-format
+msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
+msgstr "ouvindo em http://%s%s/%s (associado a %s:%d)\n"
+
+#, python-format
 msgid "config file %s not found!"
 msgstr "arquivo de configuração %s não encontrado!"
 
@@ -27719,7 +28865,7 @@
 msgstr "conflitos de mesclagem não resolvidos (veja \"hg help resolve\")"
 
 msgid "driver-resolved merge conflicts"
-msgstr ""
+msgstr "conflitos de mesclagem gerenciados por driver"
 
 msgid "run \"hg resolve --all\" to resolve"
 msgstr "execute \"hg resolve --all\" para resolver"
@@ -27837,21 +28983,21 @@
 msgid "diff context lines count must be an integer, not %r"
 msgstr "o número de linhas de contexto de diff deve ser um inteiro, e não %r"
 
-#, python-format
-msgid "unsupported merge state record: %s"
-msgstr "registro de estado de mesclagem não suportado: %s"
-
 msgid "merge driver changed since merge started"
-msgstr ""
+msgstr "o driver de mesclagem mudou desde o início da mesclagem"
 
 msgid "revert merge driver change or abort merge"
-msgstr ""
+msgstr "reverta a mudança de driver de mesclagem ou aborte a mesclagem"
 
 #, python-format
 msgid "warning: cannot merge flags for %s\n"
 msgstr "aviso: não é possível mesclar flags para %s\n"
 
 #, python-format
+msgid "%s.%s not valid ('%s' is none of %s)"
+msgstr "%s.%s não é válido ('%s' não é nenhum dentre %s)"
+
+#, python-format
 msgid "%s: untracked file differs\n"
 msgstr "%s: arquivo não rastreado é diferente\n"
 
@@ -27862,6 +29008,10 @@
 "revisão pedida"
 
 #, python-format
+msgid "%s: replacing untracked file\n"
+msgstr "%s: substituindo arquivo não rastreado\n"
+
+#, python-format
 msgid "case-folding collision between %s and %s"
 msgstr "conflito de maiúsculas e minúsculas entre %s e %s"
 
@@ -27917,6 +29067,9 @@
 msgid "getting %s to %s\n"
 msgstr "obtendo %s para %s\n"
 
+msgid "outstanding merge conflicts"
+msgstr "conflitos de mesclagem pendentes"
+
 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"
@@ -28115,7 +29268,7 @@
 msgstr "%d trechos, %d linhas modificadas\n"
 
 msgid "record"
-msgstr ""
+msgstr "record"
 
 msgid ""
 "[Ynesfdaq?]$$ &Yes, record this change$$ &No, skip this change$$ &Edit this "
@@ -28428,6 +29581,9 @@
 msgid "at %s: %s"
 msgstr "em %s: %s"
 
+msgid "see hg help \"revsets.x or y\""
+msgstr "veja hg help \"revsets.x or y\""
+
 msgid "can't use a key-value pair in this context"
 msgstr "não se pode usar um par chave-valor nesse contexto"
 
@@ -29207,7 +30363,7 @@
 "    sinônimo para o ramo local atual."
 
 #. i18n: "remote" is a keyword
-msgid "remote takes one, two or no arguments"
+msgid "remote takes zero, one, or two arguments"
 msgstr "remote recebe nenhum, um ou dois argumentos"
 
 #. i18n: "remote" is a keyword
@@ -29506,6 +30662,13 @@
 msgid "empty revision range"
 msgstr "faixa de revisões vazia"
 
+msgid "empty revision on one side of range"
+msgstr "revisão vazia em um lado da faixa"
+
+#, python-format
+msgid "creating directory: %s\n"
+msgstr "removendo diretório: %s\n"
+
 #, python-format
 msgid "recording removal of %s as rename to %s (%d%% similar)\n"
 msgstr "gravando remoção de %s como renomeação para %s (%d%% de similaridade)\n"
@@ -29693,19 +30856,23 @@
 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 ""
+"apenas bundles de clone por stream não comprimidos são suportados; recebeu "
+"%s"
 
 msgid "malformed stream clone bundle: requirements not properly encoded"
 msgstr ""
+"bundle de clone por stream malformado: requerimentos não estão codificados "
+"propriamente"
+
+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 "unable to apply stream clone: unsupported format: %s"
-msgstr ""
+msgstr "incapaz de aplicar clone por stream: formato não suportado: %s"
 
 #, python-format
 msgid "(in subrepo %s)"
@@ -29868,6 +31035,22 @@
 msgid "not removing repo %s because it has changes.\n"
 msgstr "repositório %s não removido por possuir mudanças.\n"
 
+#, python-format
+msgid "error executing git for subrepo '%s': %s"
+msgstr "erro ao executar o git no sub-repositório '%s': %s"
+
+msgid "check git is installed and in your PATH"
+msgstr "verifique se o git está instalado e em seu PATH"
+
+#, python-format
+msgid "couldn't find 'git' or 'git.cmd' for subrepo '%s'"
+msgstr ""
+"não foi possível localizar 'git' ou 'git.cmd' para o sub-repositório '%s'"
+
+#, python-format
+msgid "couldn't find git for subrepo '%s'"
+msgstr "não foi possível localizar o git para o sub-repositório '%s'"
+
 msgid "cannot retrieve git version\n"
 msgstr "não é possível obter a versão do git\n"
 
@@ -30271,6 +31454,13 @@
 "    adicionados ou removidos por esta revisão."
 
 msgid ""
+":graphnode: String. The character representing the changeset node in\n"
+"    an ASCII revision graph"
+msgstr ""
+":graphnode: String. O caractere que representa o nó da revisão em\n"
+"    um grafo ASCII de revisões"
+
+msgid ""
 ":latesttag: List of strings. The global tags on the most recent globally\n"
 "    tagged ancestor of this changeset."
 msgstr ""
@@ -30286,6 +31476,13 @@
 "    etiqueta mais recente."
 
 msgid ""
+":namespaces: Dict of lists. Names attached to this changeset per\n"
+"    namespace."
+msgstr ""
+":namespaces: Dicionário de listas. Nomes associados à revisão\n"
+"    por espaço de nomes."
+
+msgid ""
 ":node: String. The changeset identification hash, as a 40 hexadecimal\n"
 "    digit string."
 msgstr ""
@@ -30366,6 +31563,10 @@
 msgstr "esperado um especificador de modelo"
 
 #, python-format
+msgid "recursive reference '%s' in template"
+msgstr "referência recursiva '%s' no modelo"
+
+#, python-format
 msgid "unknown function '%s'"
 msgstr "função desconhecida '%s'"
 
@@ -30405,8 +31606,8 @@
 "    ou incluídos."
 
 #. i18n: "diff" is a keyword
-msgid "diff expects one, two or no arguments"
-msgstr "diff espera um, dois ou nenhum argumento"
+msgid "diff expects zero, one, or two arguments"
+msgstr "diff espera zero, um ou dois argumentos"
 
 msgid ""
 ":fill(text[, width[, initialident[, hangindent]]]): Fill many\n"
@@ -30730,9 +31931,6 @@
 msgid "username %s contains a newline\n"
 msgstr "nome de usuário %s contém quebra de linha\n"
 
-msgid "response expected"
-msgstr "resposta esperada"
-
 msgid "unrecognized response\n"
 msgstr "resposta desconhecida\n"
 
@@ -30743,6 +31941,14 @@
 msgid "repository %s does not exist"
 msgstr "o repositório %s não existe"
 
+#, python-format
+msgid "(paths.%s:pushurl not a URL; ignoring)\n"
+msgstr "(paths.%s:pushurl não é uma URL; ignorando)\n"
+
+#, python-format
+msgid "(\"#fragment\" in paths.%s:pushurl not supported; ignoring)\n"
+msgstr "(\"#fragmento\" em paths.%s:pushurl não suportado; ignorando)\n"
+
 msgid "cannot create new union repository"
 msgstr "não é possível criar novo repositório de união"
 
@@ -30962,12 +32168,6 @@
 msgid "%.3f ns"
 msgstr "%.3f ns"
 
-msgid "cannot verify bundle or remote repos"
-msgstr "impossível verificar bundle ou repositório remoto"
-
-msgid "interrupted"
-msgstr "interrompido"
-
 #, python-format
 msgid "empty or missing %s"
 msgstr "%s vazio ou faltando"
@@ -31016,6 +32216,9 @@
 msgid "duplicate revision %d (%d)"
 msgstr "revisão duplicada %d (%d)"
 
+msgid "cannot verify bundle or remote repos"
+msgstr "impossível verificar bundle ou repositório remoto"
+
 msgid "abandoned transaction found - run hg recover\n"
 msgstr "transação abandonada encontrada - execute hg recover\n"
 
@@ -31023,6 +32226,27 @@
 msgid "repository uses revlog format %d\n"
 msgstr "repositório utiliza revlog no formato %d\n"
 
+#, python-format
+msgid "%d files, %d changesets, %d total revisions\n"
+msgstr "%d arquivos, %d revisões, %d mudanças em arquivos\n"
+
+#, python-format
+msgid "%d warnings encountered!\n"
+msgstr "%d avisos encontrados!\n"
+
+msgid "hint: run \"hg debugrebuildfncache\" to recover from corrupt fncache\n"
+msgstr ""
+"dica: execute \"hg debugrebuildfncache\" para recuperar o fncache "
+"corrompido\n"
+
+#, python-format
+msgid "%d integrity errors encountered!\n"
+msgstr "%d erros de integridade encontrados!\n"
+
+#, python-format
+msgid "(first damaged changeset appears to be %d)\n"
+msgstr "(primeira revisão danificada parece ser %d)\n"
+
 msgid "checking changesets\n"
 msgstr "checando revisões\n"
 
@@ -31117,26 +32341,12 @@
 msgid "warning: orphan revlog '%s'"
 msgstr "atenção: revlog '%s' órfão"
 
-#, python-format
-msgid "%d files, %d changesets, %d total revisions\n"
-msgstr "%d arquivos, %d revisões, %d mudanças em arquivos\n"
-
-#, python-format
-msgid "%d warnings encountered!\n"
-msgstr "%d avisos encontrados!\n"
-
-msgid "hint: run \"hg debugrebuildfncache\" to recover from corrupt fncache\n"
-msgstr ""
-"dica: execute \"hg debugrebuildfncache\" para recuperar o fncache "
-"corrompido\n"
-
-#, python-format
-msgid "%d integrity errors encountered!\n"
-msgstr "%d erros de integridade encontrados!\n"
-
-#, python-format
-msgid "(first damaged changeset appears to be %d)\n"
-msgstr "(primeira revisão danificada parece ser %d)\n"
+msgid ""
+"incompatible Mercurial client; bundle2 required\n"
+"(see https://www.mercurial-scm.org/wiki/IncompatibleClient)\n"
+msgstr ""
+"cliente do Mercurial incompatível; bundle2 é necessário\n"
+"(veja https://www.mercurial-scm.org/wiki/IncompatibleClient)\n"
 
 msgid "look up remote revision"
 msgstr "procurar revisão remota"
@@ -31150,6 +32360,233 @@
 msgid "number of cpus must be an integer"
 msgstr "o número de cpus deve ser um inteiro"
 
+#~ msgid ""
+#~ "# Edit history between %s and %s\n"
+#~ "#\n"
+#~ "# Commits are listed from least to most recent\n"
+#~ "#\n"
+#~ "# Commands:\n"
+#~ "#  p, pick = use commit\n"
+#~ "#  e, edit = use commit, but stop for amending\n"
+#~ "#  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 commit message without changing commit content\n"
+#~ "#\n"
+#~ msgstr ""
+#~ "# Editar o histórico entre %s e %s\n"
+#~ "#\n"
+#~ "# Revisões são listadas da menos para a mais recente\n"
+#~ "#\n"
+#~ "# Comandos:\n"
+#~ "#  p, pick = use a revisão\n"
+#~ "#  e, edit = use a revisão, mas pare para emendar\n"
+#~ "#  f, fold = use a revisão, mas combine com a revisão acima\n"
+#~ "#  r, roll = como fold, mas descarta a descrição da revisão\n"
+#~ "#  d, drop = remova a revisão do histórico\n"
+#~ "#  m, mess = edite a mensagem sem mudar o conteúdo da revisão\n"
+#~ "# #\n"
+
+#~ msgid "Fix up the change and run hg histedit --continue"
+#~ msgstr "Conserte a mudança e execute hg histedit --continue"
+
+#~ msgid ""
+#~ "Make changes as needed, you may commit or record as needed now.\n"
+#~ "When you are finished, run hg histedit --continue to resume."
+#~ msgstr ""
+#~ "Faça mudanças conforme for necessário, consolidando ou gravando usando record.\n"
+#~ "Quando tiver terminado, execute hg histedit --continue para retomar."
+
+#~ msgid ""
+#~ "    This command edits changesets between ANCESTOR and the parent of\n"
+#~ "    the working directory."
+#~ msgstr ""
+#~ "    Este comando edita revisões entre ANCESTRAL e o pai do diretório\n"
+#~ "    de trabalho."
+
+#~ msgid ""
+#~ "    With --outgoing, this edits changesets not found in the\n"
+#~ "    destination repository. If URL of the destination is omitted, the\n"
+#~ "    'default-push' (or 'default') path will be used."
+#~ msgstr ""
+#~ "    Com --outgoing, edita revisões não encontradas no repositório de\n"
+#~ "    destino. Se a URL do destino for omitida, o caminho definido em\n"
+#~ "    'default-push' (ou 'default') será usado."
+
+#~ msgid "working copy still dirty"
+#~ msgstr "a cópia de trabalho ainda está suja"
+
+#~ msgid "may not use changesets other than the ones listed"
+#~ msgstr "não é possível usar revisões além das listadas"
+
+#~ msgid "do you want to use the drop action?"
+#~ msgstr "você gostaria de usar a ação drop?"
+
+#~ msgid ""
+#~ "The --pager=... option can also be used to control when the pager is\n"
+#~ "used. Use a boolean value like yes, no, on, off, or use auto for\n"
+#~ "normal behavior."
+#~ msgstr ""
+#~ "A opção --pager=... pode também ser usada para controlar em que momentos\n"
+#~ "o pager será usado. Use um valor booleano como yes, no, on, off, ou use\n"
+#~ "auto para comportamento normal."
+
+#~ msgid "show progress bars for some actions (DEPRECATED)"
+#~ msgstr "mostra barras de progresso para algumas ações (OBSOLETO)"
+
+#~ msgid ""
+#~ "This extension has been merged into core, you can remove it from your config.\n"
+#~ "See hg help config.progress for configuration options.\n"
+#~ msgstr ""
+#~ "Esta extensão foi integrada ao Mercurial, você pode removê-la de sua\n"
+#~ "configuração.\n"
+#~ "Veja hg help config.progress para opções de configuração.\n"
+
+#~ msgid ""
+#~ "    You should not rebase changesets that have already been shared\n"
+#~ "    with others. Doing so will force everybody else to perform the\n"
+#~ "    same rebase or they will end up with duplicated changesets after\n"
+#~ "    pulling in your rebased changesets."
+#~ msgstr ""
+#~ "    Você não deve rebasear revisões que já foram compartilhadas com\n"
+#~ "    outros desenvolvedores. A não ser que todos realizem a mesma\n"
+#~ "    operação rebase, eles ainda terão as revisões originais em seus\n"
+#~ "    repositórios, que aparecerão como duplicatas das revisões rebaseadas."
+
+#~ msgid ""
+#~ "    In its default configuration, Mercurial will prevent you from\n"
+#~ "    rebasing published changes. See :hg:`help phases` for details."
+#~ msgstr ""
+#~ "    Em sua configuração padrão, o Mercurial impede que revisões\n"
+#~ "    públicas sejam rebaseadas. Veja :hg:`help phases` para mais detalhes."
+
+#~ msgid ""
+#~ "    You can specify which changesets to rebase in two ways: as a\n"
+#~ "    \"source\" changeset or as a \"base\" changeset. Both are shorthand\n"
+#~ "    for a topologically related set of changesets (the \"source\n"
+#~ "    branch\"). If you specify source (``-s/--source``), rebase will\n"
+#~ "    rebase that changeset and all of its descendants onto dest. If you\n"
+#~ "    specify base (``-b/--base``), rebase will select ancestors of base\n"
+#~ "    back to but not including the common ancestor with dest. Thus,\n"
+#~ "    ``-b`` is less precise but more convenient than ``-s``: you can\n"
+#~ "    specify any changeset in the source branch, and rebase will select\n"
+#~ "    the whole branch. If you specify neither ``-s`` nor ``-b``, rebase\n"
+#~ "    uses the parent of the working directory as the base."
+#~ msgstr ""
+#~ "    Você pode especificar quais revisões rebasear de duas maneiras:\n"
+#~ "    revisão de \"origem\" ou revisão \"base\". Ambas são formas de\n"
+#~ "    especificar um conjunto de revisões topologicamente relacionadas (o\n"
+#~ "    \"ramo de origem\"). Se você especificar a revisão de origem (com\n"
+#~ "    ``-s/--source``), o comando rebase irá rebasear tal revisão e todos\n"
+#~ "    os seus descendentes para o destino. Se você especificar a revisão\n"
+#~ "    base (com ``-b/--base``), o comando rebase selecionará ancestrais\n"
+#~ "    dessa revisão base até, mas sem incluir, seu ancestral comum com o\n"
+#~ "    destino. Assim, ``-b`` é menos preciso, mas mais conveniente, que\n"
+#~ "    ``-s``: você pode especificar qualquer revisão no ramo de origem,\n"
+#~ "    e rebase irá selecionar o ramo completo. Se você não especificar\n"
+#~ "    nem ``-s`` nem ``-b``, rebase usará o pai do diretório de trabalho\n"
+#~ "    como revisão base."
+
+#~ msgid ""
+#~ "    For advanced usage, a third way is available through the ``--rev``\n"
+#~ "    option. It allows you to specify an arbitrary set of changesets to\n"
+#~ "    rebase. Descendants of revs you specify with this option are not\n"
+#~ "    automatically included in the rebase."
+#~ msgstr ""
+#~ "    Um modo avançado adicional está disponível através da opção\n"
+#~ "    ``--rev``. Ele possibilita a especificação de um conjunto\n"
+#~ "    arbitrário de revisões a serem rebaseadas. Os descendentes\n"
+#~ "    das revisões especificadas dessa maneira não serão\n"
+#~ "    automaticamente incluídos no rebaseamento."
+
+#~ msgid ""
+#~ "    By default, rebase recreates the changesets in the source branch\n"
+#~ "    as descendants of dest and then destroys the originals. Use\n"
+#~ "    ``--keep`` to preserve the original source changesets. Some\n"
+#~ "    changesets in the source branch (e.g. merges from the destination\n"
+#~ "    branch) may be dropped if they no longer contribute any change."
+#~ msgstr ""
+#~ "    Por padrão, rebase recria as revisões do ramo de origem como\n"
+#~ "    descendentes do destino, e destrói as originais. Use a opção\n"
+#~ "    ``--keep`` para preservar as revisões originais. Algumas revisões\n"
+#~ "    no ramo de origem (por exemplo, mesclagens com o ramo de destino)\n"
+#~ "    podem ser descartadas se elas não contribuírem mais com nenhuma\n"
+#~ "    mudança."
+
+#~ msgid ""
+#~ "    If you omit the destination repository, then hg assumes the\n"
+#~ "    destination will have all the nodes you specify with --base\n"
+#~ "    parameters. To create a bundle containing all changesets, use\n"
+#~ "    -a/--all (or --base null)."
+#~ msgstr ""
+#~ "    Se você omitir o repositório de destino, o Mercurial assume que o\n"
+#~ "    destino terá todos os nós especificados por um ou mais parâmetros\n"
+#~ "    --base. Para criar um bundle contendo todas as revisões, use\n"
+#~ "    -a/--all (ou --base null)."
+
+#~ msgid "    :hg:`resolve` must be used to resolve unresolved files."
+#~ msgstr ""
+#~ "    :hg:`resolve` deve ser usado para resolver arquivos não resolvidos."
+
+#~ msgid "the python curses/wcurses module is not available/installed"
+#~ msgstr "o módulo curses/wcurses do Python não está disponível"
+
+#~ 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 ""
+#~ "``deleted()``\n"
+#~ "    File that is deleted according to :hg:`status`."
+#~ msgstr ""
+#~ "``deleted()``\n"
+#~ "    Arquivo apagado de acordo com :hg:`status`."
+
+#~ msgid ""
+#~ "Format\n"
+#~ "======"
+#~ msgstr ""
+#~ "Formato\n"
+#~ "======="
+
+#~ msgid ""
+#~ "Assigns symbolic names to repositories. The left side is the\n"
+#~ "symbolic name, and the right gives the directory or URL that is the\n"
+#~ "location of the repository. Default paths can be declared by setting\n"
+#~ "the following entries."
+#~ msgstr ""
+#~ "Atribui nomes simbólicos para repositórios. O lado esquerdo é o\n"
+#~ "nome simbólico, e o direito o diretório ou URL onde se localiza o\n"
+#~ "repositório. Caminhos padrão podem ser declarados definindo as\n"
+#~ "seguintes entradas."
+
+#~ msgid ""
+#~ "``default``\n"
+#~ "    Directory or URL to use when pulling if no source is specified.\n"
+#~ "    (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.\n"
+#~ "    (padrão: o repositório do qual o repositório local foi clonado)"
+
+#~ msgid ""
+#~ "Custom paths can be defined by assigning the path to a name that later can be\n"
+#~ "used from the command line. Example::"
+#~ msgstr ""
+#~ "Um caminho personalizado podem ser definido atribuindo o caminho a\n"
+#~ "um nome que mais tarde poderá ser usado na linha de comando. Exemplo::"
+
+#~ msgid "To push to the path defined in ``my_path`` run the command::"
+#~ msgstr ""
+#~ "Para enviar revisões para o caminho definido em ``my_path`` execute o "
+#~ "comando::"
+
+#~ msgid "    hg push my_path"
+#~ msgstr "    hg push my_path"
+
+#~ msgid "interrupted"
+#~ msgstr "interrompido"
+
 #~ msgid "mercurial source does not support specifying multiple revisions"
 #~ msgstr "a origem mercurial não suporta a especificação de múltiplas revisões"
 
--- a/mercurial/bundle2.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/bundle2.py	Mon Feb 01 18:29:07 2016 -0600
@@ -1242,7 +1242,8 @@
     Exists to allow extensions (like evolution) to mutate the capabilities.
     """
     caps = capabilities.copy()
-    caps['changegroup'] = tuple(sorted(changegroup.supportedversions(repo)))
+    caps['changegroup'] = tuple(sorted(
+        changegroup.supportedincomingversions(repo)))
     if obsolete.isenabled(repo, obsolete.exchangeopt):
         supportedformat = tuple('V%i' % v for v in obsolete.formats)
         caps['obsmarkers'] = supportedformat
--- a/mercurial/bundlerepo.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/bundlerepo.py	Mon Feb 01 18:29:07 2016 -0600
@@ -282,7 +282,7 @@
                                                   "multiple changegroups")
                     cgstream = part
                     version = part.params.get('version', '01')
-                    if version not in changegroup.supportedversions(self):
+                    if version not in changegroup.allsupportedversions(ui):
                         msg = _('Unsupported changegroup version: %s')
                         raise error.Abort(msg % version)
                     if self.bundle.compressed():
--- a/mercurial/changegroup.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/changegroup.py	Mon Feb 01 18:29:07 2016 -0600
@@ -189,6 +189,8 @@
     deltaheader = _CHANGEGROUPV1_DELTA_HEADER
     deltaheadersize = struct.calcsize(deltaheader)
     version = '01'
+    _grouplistcount = 1 # One list of files after the manifests
+
     def __init__(self, fh, alg):
         if alg == 'UN':
             alg = None # get more modern without breaking too much
@@ -270,15 +272,19 @@
         """
         # an empty chunkgroup is the end of the changegroup
         # a changegroup has at least 2 chunkgroups (changelog and manifest).
-        # after that, an empty chunkgroup is the end of the changegroup
-        empty = False
+        # after that, changegroup versions 1 and 2 have a series of groups
+        # with one group per file. changegroup 3 has a series of directory
+        # manifests before the files.
         count = 0
-        while not empty or count <= 2:
+        emptycount = 0
+        while emptycount < self._grouplistcount:
             empty = True
             count += 1
             while True:
                 chunk = getchunk(self)
                 if not chunk:
+                    if empty and count > 2:
+                        emptycount += 1
                     break
                 empty = False
                 yield chunkheader(len(chunk))
@@ -515,6 +521,7 @@
     deltaheader = _CHANGEGROUPV3_DELTA_HEADER
     deltaheadersize = struct.calcsize(deltaheader)
     version = '03'
+    _grouplistcount = 2 # One list of manifests and one list of files
 
     def _deltaheader(self, headertuple, prevnode):
         node, p1, p2, deltabase, cs, flags = headertuple
@@ -771,12 +778,15 @@
                 if 'treemanifest' in repo.requirements:
                     submfs = {'/': mdata}
                     for dn, bn in _moddirs(mfchangedfiles[x]):
-                        submf = submfs[dn]
-                        submf = submf._dirs[bn]
+                        try:
+                            submf = submfs[dn]
+                            submf = submf._dirs[bn]
+                        except KeyError:
+                            continue # deleted directory, so nothing to send
                         submfs[submf.dir()] = submf
                         tmfclnodes = tmfnodes.setdefault(submf.dir(), {})
-                        tmfclnodes.setdefault(submf._node, clnode)
-                        if clrevorder[clnode] < clrevorder[fclnode]:
+                        tmfclnode = tmfclnodes.setdefault(submf._node, clnode)
+                        if clrevorder[clnode] < clrevorder[tmfclnode]:
                             tmfclnodes[n] = clnode
                 return clnode
 
@@ -939,17 +949,47 @@
              '03': (cg3packer, cg3unpacker),
 }
 
-def supportedversions(repo):
-    versions = _packermap.keys()
-    cg3 = ('treemanifest' in repo.requirements or
-           repo.ui.configbool('experimental', 'changegroup3') or
-           repo.ui.configbool('experimental', 'treemanifest'))
-    if not cg3:
-        versions.remove('03')
+def allsupportedversions(ui):
+    versions = set(_packermap.keys())
+    versions.discard('03')
+    if (ui.configbool('experimental', 'changegroup3') or
+        ui.configbool('experimental', 'treemanifest')):
+        versions.add('03')
+    return versions
+
+# Changegroup versions that can be applied to the repo
+def supportedincomingversions(repo):
+    versions = allsupportedversions(repo.ui)
+    if 'treemanifest' in repo.requirements:
+        versions.add('03')
     return versions
 
+# Changegroup versions that can be created from the repo
+def supportedoutgoingversions(repo):
+    versions = allsupportedversions(repo.ui)
+    if 'treemanifest' in repo.requirements:
+        # Versions 01 and 02 support only flat manifests and it's just too
+        # expensive to convert between the flat manifest and tree manifest on
+        # the fly. Since tree manifests are hashed differently, all of history
+        # would have to be converted. Instead, we simply don't even pretend to
+        # support versions 01 and 02.
+        versions.discard('01')
+        versions.discard('02')
+        versions.add('03')
+    return versions
+
+def safeversion(repo):
+    # Finds the smallest version that it's safe to assume clients of the repo
+    # will support. For example, all hg versions that support generaldelta also
+    # support changegroup 02.
+    versions = supportedoutgoingversions(repo)
+    if 'generaldelta' in repo.requirements:
+        versions.discard('01')
+    assert versions
+    return min(versions)
+
 def getbundler(version, repo, bundlecaps=None):
-    assert version in supportedversions(repo)
+    assert version in supportedoutgoingversions(repo)
     return _packermap[version][0](repo, bundlecaps)
 
 def getunbundler(version, fh, alg):
--- a/mercurial/cmdutil.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/cmdutil.py	Mon Feb 01 18:29:07 2016 -0600
@@ -2841,6 +2841,9 @@
     elif repo.ui.verbose:
         repo.ui.write(_('committed changeset %d:%s\n') % (int(ctx), ctx))
 
+def postcommitstatus(repo, pats, opts):
+    return repo.status(match=scmutil.match(repo[None], pats, opts))
+
 def revert(ui, repo, ctx, parents, *pats, **opts):
     parent, p2 = parents
     node = ctx.node()
--- a/mercurial/commands.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/commands.py	Mon Feb 01 18:29:07 2016 -0600
@@ -598,6 +598,8 @@
 def _dobackout(ui, repo, node=None, rev=None, **opts):
     if opts.get('commit') and opts.get('no_commit'):
         raise error.Abort(_("cannot use --commit with --no-commit"))
+    if opts.get('merge') and opts.get('no_commit'):
+        raise error.Abort(_("cannot use --merge with --no-commit"))
 
     if rev and node:
         raise error.Abort(_("please specify just one revision"))
@@ -653,11 +655,6 @@
                 repo.ui.status(_("use 'hg resolve' to retry unresolved "
                                  "file merges\n"))
                 return 1
-            elif opts.get('no_commit'):
-                msg = _("changeset %s backed out, "
-                        "don't forget to commit.\n")
-                ui.status(msg % short(node))
-                return 0
         finally:
             ui.setconfig('ui', 'forcemerge', '', '')
             lockmod.release(dsguard)
@@ -666,6 +663,11 @@
         repo.dirstate.setbranch(branch)
         cmdutil.revert(ui, repo, rctx, repo.dirstate.parents())
 
+    if opts.get('no_commit'):
+        msg = _("changeset %s backed out, "
+                "don't forget to commit.\n")
+        ui.status(msg % short(node))
+        return 0
 
     def commitfunc(ui, repo, message, match, opts):
         editform = 'backout'
@@ -968,7 +970,7 @@
 
 @command('bookmarks|bookmark',
     [('f', 'force', False, _('force')),
-    ('r', 'rev', '', _('revision'), _('REV')),
+    ('r', 'rev', '', _('revision for bookmark action'), _('REV')),
     ('d', 'delete', False, _('delete a given bookmark')),
     ('m', 'rename', '', _('rename a given bookmark'), _('OLD')),
     ('i', 'inactive', False, _('mark a bookmark inactive')),
@@ -1328,7 +1330,10 @@
     """
     revs = None
     if 'rev' in opts:
-        revs = scmutil.revrange(repo, opts['rev'])
+        revstrings = opts['rev']
+        revs = scmutil.revrange(repo, revstrings)
+        if revstrings and not revs:
+            raise error.Abort(_('no commits to bundle'))
 
     bundletype = opts.get('type', 'bzip2').lower()
     try:
@@ -1717,7 +1722,7 @@
         node = cmdutil.commit(ui, repo, commitfunc, pats, opts)
 
         if not node:
-            stat = repo.status(match=scmutil.match(repo[None], pats, opts))
+            stat = cmdutil.postcommitstatus(repo, pats, opts)
             if stat[3]:
                 ui.status(_("nothing changed (%d missing files, see "
                             "'hg status')\n") % len(stat[3]))
@@ -5539,8 +5544,10 @@
             msg = _("not updating: %s") % str(inst)
             hint = inst.hint
             raise error.UpdateAbort(msg, hint=hint)
-        if not ret and not checkout:
-            if bookmarks.update(repo, [movemarkfrom], repo['.'].node()):
+        if not ret and movemarkfrom:
+            if movemarkfrom == repo['.'].node():
+                pass # no-op update
+            elif bookmarks.update(repo, [movemarkfrom], repo['.'].node()):
                 ui.status(_("updating bookmark %s\n") % repo._activebookmark)
         return ret
     if modheads > 1:
@@ -7015,7 +7022,7 @@
              % util.version())
     ui.status(_(
         "(see https://mercurial-scm.org for more information)\n"
-        "\nCopyright (C) 2005-2015 Matt Mackall and others\n"
+        "\nCopyright (C) 2005-2016 Matt Mackall and others\n"
         "This is free software; see the source for copying conditions. "
         "There is NO\nwarranty; "
         "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
--- a/mercurial/commandserver.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/commandserver.py	Mon Feb 01 18:29:07 2016 -0600
@@ -55,7 +55,7 @@
         self.out.flush()
 
     def __getattr__(self, attr):
-        if attr in ('isatty', 'fileno'):
+        if attr in ('isatty', 'fileno', 'tell', 'seek'):
             raise AttributeError(attr)
         return getattr(self.out, attr)
 
@@ -139,7 +139,7 @@
         return l
 
     def __getattr__(self, attr):
-        if attr in ('isatty', 'fileno'):
+        if attr in ('isatty', 'fileno', 'tell', 'seek'):
             raise AttributeError(attr)
         return getattr(self.in_, attr)
 
--- a/mercurial/context.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/context.py	Mon Feb 01 18:29:07 2016 -0600
@@ -142,7 +142,7 @@
                 removed.append(fn)
             elif flag1 != flag2:
                 modified.append(fn)
-            elif self.rev() is not None:
+            elif node2 != _newnode:
                 # When comparing files between two commits, we save time by
                 # not comparing the file contents when the nodeids differ.
                 # Note that this means we incorrectly report a reverted change
--- a/mercurial/crecord.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/crecord.py	Mon Feb 01 18:29:07 2016 -0600
@@ -1010,13 +1010,16 @@
                             pairname='legend')
                 self.statuswin.refresh()
                 return
+            line1 = ("SELECT CHUNKS: (j/k/up/dn/pgup/pgdn) move cursor; "
+                   "(space/A) toggle hunk/all; (e)dit hunk;")
+            line2 = (" (f)old/unfold; (c)onfirm applied; (q)uit; (?) help "
+                   "| [X]=hunk applied **=folded, toggle [a]mend mode")
+
             printstring(self.statuswin,
-                        "SELECT CHUNKS: (j/k/up/dn/pgup/pgdn) move cursor; "
-                        "(space/A) toggle hunk/all; (e)dit hunk;",
+                        util.ellipsis(line1, self.xscreensize - 1),
                         pairname="legend")
             printstring(self.statuswin,
-                        " (f)old/unfold; (c)onfirm applied; (q)uit; (?) help "
-                        "| [X]=hunk applied **=folded, toggle [a]mend mode",
+                        util.ellipsis(line2, self.xscreensize - 1),
                         pairname="legend")
         except curses.error:
             pass
@@ -1363,7 +1366,7 @@
 the following are valid keystrokes:
 
                 [space] : (un-)select item ([~]/[x] = partly/fully applied)
-                      a : (un-)select all items
+                      A : (un-)select all items
     up/down-arrow [k/j] : go to previous/next unfolded item
         pgup/pgdn [K/J] : go to previous/next item of same type
  right/left-arrow [l/h] : go to child item / parent item
@@ -1551,6 +1554,9 @@
         if not isinstance(item, uihunk):
             return
 
+        # To go back to that hunk or its replacement at the end of the edit
+        itemindex = item.parentitem().hunks.index(item)
+
         beforeadded, beforeremoved = item.added, item.removed
         newpatches = editpatchwitheditor(self, item)
         if newpatches is None:
@@ -1575,6 +1581,8 @@
         if self.emptypatch():
             header.hunks = hunksbefore + [item] + hunksafter
         self.currentselecteditem = header
+        if len(header.hunks) > itemindex:
+            self.currentselecteditem = header.hunks[itemindex]
 
         if not test:
             updateui(self)
--- a/mercurial/exchange.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/exchange.py	Mon Feb 01 18:29:07 2016 -0600
@@ -707,7 +707,8 @@
                                                 pushop.outgoing)
     else:
         cgversions = [v for v in cgversions
-                      if v in changegroup.supportedversions(pushop.repo)]
+                      if v in changegroup.supportedoutgoingversions(
+                          pushop.repo)]
         if not cgversions:
             raise ValueError(_('no common changegroup version'))
         version = max(cgversions)
@@ -717,6 +718,8 @@
     cgpart = bundler.newpart('changegroup', data=cg)
     if version is not None:
         cgpart.addparam('version', version)
+    if 'treemanifest' in pushop.repo.requirements:
+        cgpart.addparam('treemanifest', '1')
     def handlereply(op):
         """extract addchangegroup returns from server reply"""
         cgreplies = op.records.getreplies(cgpart.id)
@@ -1560,7 +1563,7 @@
         getcgkwargs = {}
         if cgversions:  # 3.1 and 3.2 ship with an empty value
             cgversions = [v for v in cgversions
-                          if v in changegroup.supportedversions(repo)]
+                          if v in changegroup.supportedoutgoingversions(repo)]
             if not cgversions:
                 raise ValueError(_('no common changegroup version'))
             version = getcgkwargs['version'] = max(cgversions)
--- a/mercurial/help/config.txt	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/help/config.txt	Mon Feb 01 18:29:07 2016 -0600
@@ -38,11 +38,11 @@
 
 .. container:: windows
 
-  ``%USERPROFILE%\mercurial.ini``
+  - ``%USERPROFILE%\mercurial.ini`` (on Windows)
 
 .. container:: unix.plan9
 
-  ``$HOME/.hgrc``
+  - ``$HOME/.hgrc`` (on Unix, Plan9)
 
 The names of these files depend on the system on which Mercurial is
 installed. ``*.rc`` files from a single directory are read in
@@ -1006,25 +1006,6 @@
     Optional. Always use the proxy, even for localhost and any entries
     in ``http_proxy.no``. (default: False)
 
-``merge``
----------
-
-This section specifies behavior during merges and updates.
-
-``checkignored``
-   Controls behavior when an ignored file on disk has the same name as a tracked
-   file in the changeset being merged or updated to, and has different
-   contents. Options are ``abort``, ``warn`` and ``ignore``. With ``abort``,
-   abort on such files. With ``warn``, warn on such files and back them up as
-   .orig. With ``ignore``, don't print a warning and back them up as
-   .orig. (default: ``abort``)
-
-``checkunknown``
-   Controls behavior when an unknown file that isn't ignored has the same name
-   as a tracked file in the changeset being merged or updated to, and has
-   different contents. Similar to ``merge.checkignored``, except for files that
-   are not ignored. (default: ``abort``)
-
 ``merge-patterns``
 ------------------
 
--- a/mercurial/help/hg.1.txt	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/help/hg.1.txt	Mon Feb 01 18:29:07 2016 -0600
@@ -112,7 +112,7 @@
 
 Copying
 """""""
-Copyright (C) 2005-2015 Matt Mackall.
+Copyright (C) 2005-2016 Matt Mackall.
 Free use of this software is granted under the terms of the GNU General
 Public License version 2 or any later version.
 
--- a/mercurial/help/hgignore.5.txt	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/help/hgignore.5.txt	Mon Feb 01 18:29:07 2016 -0600
@@ -26,7 +26,7 @@
 Copying
 =======
 This manual page is copyright 2006 Vadim Gelfer.
-Mercurial is copyright 2005-2015 Matt Mackall.
+Mercurial is copyright 2005-2016 Matt Mackall.
 Free use of this software is granted under the terms of the GNU General
 Public License version 2 or any later version.
 
--- a/mercurial/help/hgrc.5.txt	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/help/hgrc.5.txt	Mon Feb 01 18:29:07 2016 -0600
@@ -34,7 +34,7 @@
 Copying
 =======
 This manual page is copyright 2005 Bryan O'Sullivan.
-Mercurial is copyright 2005-2015 Matt Mackall.
+Mercurial is copyright 2005-2016 Matt Mackall.
 Free use of this software is granted under the terms of the GNU General
 Public License version 2 or any later version.
 
--- a/mercurial/merge.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/merge.py	Mon Feb 01 18:29:07 2016 -0600
@@ -1464,6 +1464,34 @@
         actionbyfile, diverge, renamedelete = calculateupdates(
             repo, wc, p2, pas, branchmerge, force, mergeancestor,
             followcopies, matcher=matcher)
+
+        # Prompt and create actions. Most of this is in the resolve phase
+        # already, but we can't handle .hgsubstate in filemerge or
+        # subrepo.submerge yet so we have to keep prompting for it.
+        if '.hgsubstate' in actionbyfile:
+            f = '.hgsubstate'
+            m, args, msg = actionbyfile[f]
+            if m == 'cd':
+                if repo.ui.promptchoice(
+                    _("local changed %s which remote deleted\n"
+                      "use (c)hanged version or (d)elete?"
+                      "$$ &Changed $$ &Delete") % f, 0):
+                    actionbyfile[f] = ('r', None, "prompt delete")
+                elif f in p1:
+                    actionbyfile[f] = ('am', None, "prompt keep")
+                else:
+                    actionbyfile[f] = ('a', None, "prompt keep")
+            elif m == 'dc':
+                f1, f2, fa, move, anc = args
+                flags = p2[f2].flags()
+                if repo.ui.promptchoice(
+                    _("remote changed %s which local deleted\n"
+                      "use (c)hanged version or leave (d)eleted?"
+                      "$$ &Changed $$ &Deleted") % f, 0) == 0:
+                    actionbyfile[f] = ('g', (flags, False), "prompt recreating")
+                else:
+                    del actionbyfile[f]
+
         # Convert to dictionary-of-lists format
         actions = dict((m, []) for m in 'a am f g cd dc r dm dg m e k'.split())
         for f, (m, args, msg) in actionbyfile.iteritems():
@@ -1479,33 +1507,6 @@
             else:
                 _checkcollision(repo, wc.manifest(), actions)
 
-        # Prompt and create actions. Most of this is in the resolve phase
-        # already, but we can't handle .hgsubstate in filemerge or
-        # subrepo.submerge yet so we have to keep prompting for it.
-        for f, args, msg in sorted(actions['cd']):
-            if f != '.hgsubstate':
-                continue
-            if repo.ui.promptchoice(
-                _("local changed %s which remote deleted\n"
-                  "use (c)hanged version or (d)elete?"
-                  "$$ &Changed $$ &Delete") % f, 0):
-                actions['r'].append((f, None, "prompt delete"))
-            elif f in p1:
-                actions['am'].append((f, None, "prompt keep"))
-            else:
-                actions['a'].append((f, None, "prompt keep"))
-
-        for f, args, msg in sorted(actions['dc']):
-            if f != '.hgsubstate':
-                continue
-            f1, f2, fa, move, anc = args
-            flags = p2[f2].flags()
-            if repo.ui.promptchoice(
-                _("remote changed %s which local deleted\n"
-                  "use (c)hanged version or leave (d)eleted?"
-                  "$$ &Changed $$ &Deleted") % f, 0) == 0:
-                actions['g'].append((f, (flags, False), "prompt recreating"))
-
         # divergent renames
         for f, fl in sorted(diverge.iteritems()):
             repo.ui.warn(_("note: possible conflict - %s was renamed "
--- a/mercurial/repair.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/repair.py	Mon Feb 01 18:29:07 2016 -0600
@@ -22,9 +22,7 @@
 
 def _bundle(repo, bases, heads, node, suffix, compress=True):
     """create a bundle with the specified revisions as a backup"""
-    cgversion = '01'
-    if 'generaldelta' in repo.requirements:
-        cgversion = '02'
+    cgversion = changegroup.safeversion(repo)
 
     cg = changegroup.changegroupsubset(repo, bases, heads, 'strip',
                                        version=cgversion)
--- a/mercurial/repoview.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/repoview.py	Mon Feb 01 18:29:07 2016 -0600
@@ -126,9 +126,9 @@
         fh = repo.vfs.open(cachefile, 'w+b', atomictemp=True)
         _writehiddencache(fh, newhash, hidden)
     except (IOError, OSError):
-        repo.ui.debug('error writing hidden changesets cache')
+        repo.ui.debug('error writing hidden changesets cache\n')
     except error.LockHeld:
-        repo.ui.debug('cannot obtain lock to write hidden changesets cache')
+        repo.ui.debug('cannot obtain lock to write hidden changesets cache\n')
     finally:
         if fh:
             fh.close()
@@ -150,6 +150,13 @@
                 count = len(data) / 4
                 hidden = frozenset(struct.unpack('>%ii' % count, data))
         return hidden
+    except struct.error:
+        repo.ui.debug('corrupted hidden cache\n')
+        # No need to fix the content as it will get rewritten
+        return None
+    except (IOError, OSError):
+        repo.ui.debug('cannot read hidden cache\n')
+        return None
     finally:
         if fh:
             fh.close()
--- a/mercurial/revset.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/revset.py	Mon Feb 01 18:29:07 2016 -0600
@@ -1036,88 +1036,39 @@
         files = (f for f in repo[None] if m(f))
 
     for f in files:
-        backrevref = {}  # final value for: filerev -> changerev
-        lowestchild = {} # lowest known filerev child of a filerev
-        delayed = []     # filerev with filtered linkrev, for post-processing
-        lowesthead = None # cache for manifest content of all head revisions
         fl = repo.file(f)
+        known = {}
+        scanpos = 0
         for fr in list(fl):
-            rev = fl.linkrev(fr)
-            if rev not in cl:
-                # changerev pointed in linkrev is filtered
-                # record it for post processing.
-                delayed.append((fr, rev))
+            fn = fl.node(fr)
+            if fn in known:
+                s.add(known[fn])
                 continue
-            for p in fl.parentrevs(fr):
-                if 0 <= p and p not in lowestchild:
-                    lowestchild[p] = fr
-            backrevref[fr] = rev
-            s.add(rev)
-
-        # Post-processing of all filerevs we skipped because they were
-        # filtered. If such filerevs have known and unfiltered children, this
-        # means they have an unfiltered appearance out there. We'll use linkrev
-        # adjustment to find one of these appearances. The lowest known child
-        # will be used as a starting point because it is the best upper-bound we
-        # have.
-        #
-        # This approach will fail when an unfiltered but linkrev-shadowed
-        # appearance exists in a head changeset without unfiltered filerev
-        # children anywhere.
-        while delayed:
-            # must be a descending iteration. To slowly fill lowest child
-            # information that is of potential use by the next item.
-            fr, rev = delayed.pop()
-            lkr = rev
-
-            child = lowestchild.get(fr)
-
-            if child is None:
-                # search for existence of this file revision in a head revision.
-                # There are three possibilities:
-                # - the revision exists in a head and we can find an
-                #   introduction from there,
-                # - the revision does not exist in a head because it has been
-                #   changed since its introduction: we would have found a child
-                #   and be in the other 'else' clause,
-                # - all versions of the revision are hidden.
-                if lowesthead is None:
-                    lowesthead = {}
-                    for h in repo.heads():
-                        fnode = repo[h].manifest().get(f)
-                        if fnode is not None:
-                            lowesthead[fl.rev(fnode)] = h
-                headrev = lowesthead.get(fr)
-                if headrev is None:
-                    # content is nowhere unfiltered
-                    continue
-                rev = repo[headrev][f].introrev()
-            else:
-                # the lowest known child is a good upper bound
-                childcrev = backrevref[child]
-                # XXX this does not guarantee returning the lowest
-                # introduction of this revision, but this gives a
-                # result which is a good start and will fit in most
-                # cases. We probably need to fix the multiple
-                # introductions case properly (report each
-                # introduction, even for identical file revisions)
-                # once and for all at some point anyway.
-                for p in repo[childcrev][f].parents():
-                    if p.filerev() == fr:
-                        rev = p.rev()
-                        break
-                if rev == lkr:  # no shadowed entry found
-                    # XXX This should never happen unless some manifest points
-                    # to biggish file revisions (like a revision that uses a
-                    # parent that never appears in the manifest ancestors)
-                    continue
-
-            # Fill the data for the next iteration.
-            for p in fl.parentrevs(fr):
-                if 0 <= p and p not in lowestchild:
-                    lowestchild[p] = fr
-            backrevref[fr] = rev
-            s.add(rev)
+
+            lr = fl.linkrev(fr)
+            if lr in cl:
+                s.add(lr)
+            elif scanpos is not None:
+                # lowest matching changeset is filtered, scan further
+                # ahead in changelog
+                start = max(lr, scanpos) + 1
+                scanpos = None
+                for r in cl.revs(start):
+                    # minimize parsing of non-matching entries
+                    if f in cl.revision(r) and f in cl.readfiles(r):
+                        try:
+                            # try to use manifest delta fastpath
+                            n = repo[r].filenode(f)
+                            if n not in known:
+                                if n == fn:
+                                    s.add(r)
+                                    scanpos = r
+                                    break
+                                else:
+                                    known[n] = r
+                        except error.ManifestLookupError:
+                            # deletion in changelog
+                            continue
 
     return subset & s
 
--- a/mercurial/subrepo.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/subrepo.py	Mon Feb 01 18:29:07 2016 -0600
@@ -1294,10 +1294,25 @@
             self._gitexecutable = 'git'
             out, err = self._gitnodir(['--version'])
         except OSError as e:
-            if e.errno != 2 or os.name != 'nt':
-                raise
-            self._gitexecutable = 'git.cmd'
-            out, err = self._gitnodir(['--version'])
+            genericerror = _("error executing git for subrepo '%s': %s")
+            notfoundhint = _("check git is installed and in your PATH")
+            if e.errno != errno.ENOENT:
+                raise error.Abort(genericerror % (self._path, e.strerror))
+            elif os.name == 'nt':
+                try:
+                    self._gitexecutable = 'git.cmd'
+                    out, err = self._gitnodir(['--version'])
+                except OSError as e2:
+                    if e2.errno == errno.ENOENT:
+                        raise error.Abort(_("couldn't find 'git' or 'git.cmd'"
+                            " for subrepo '%s'") % self._path,
+                            hint=notfoundhint)
+                    else:
+                        raise error.Abort(genericerror % (self._path,
+                            e2.strerror))
+            else:
+                raise error.Abort(_("couldn't find git for subrepo '%s'")
+                    % self._path, hint=notfoundhint)
         versionstatus = self._checkversion(out)
         if versionstatus == 'unknown':
             self.ui.warn(_('cannot retrieve git version\n'))
--- a/mercurial/templater.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/templater.py	Mon Feb 01 18:29:07 2016 -0600
@@ -226,13 +226,25 @@
 def runstring(context, mapping, data):
     return data
 
+def _recursivesymbolblocker(key):
+    def showrecursion(**args):
+        raise error.Abort(_("recursive reference '%s' in template") % key)
+    return showrecursion
+
+def _runrecursivesymbol(context, mapping, key):
+    raise error.Abort(_("recursive reference '%s' in template") % key)
+
 def runsymbol(context, mapping, key):
     v = mapping.get(key)
     if v is None:
         v = context._defaults.get(key)
     if v is None:
+        # put poison to cut recursion. we can't move this to parsing phase
+        # because "x = {x}" is allowed if "x" is a keyword. (issue4758)
+        safemapping = mapping.copy()
+        safemapping[key] = _recursivesymbolblocker(key)
         try:
-            v = context.process(key, mapping)
+            v = context.process(key, safemapping)
         except TemplateNotFound:
             v = ''
     if callable(v):
@@ -817,7 +829,13 @@
     def _load(self, t):
         '''load, parse, and cache a template'''
         if t not in self._cache:
-            self._cache[t] = compiletemplate(self._loader(t), self)
+            # put poison to cut recursion while compiling 't'
+            self._cache[t] = [(_runrecursivesymbol, t)]
+            try:
+                self._cache[t] = compiletemplate(self._loader(t), self)
+            except: # re-raises
+                del self._cache[t]
+                raise
         return self._cache[t]
 
     def process(self, t, mapping):
--- a/mercurial/templates/gitweb/graph.tmpl	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/templates/gitweb/graph.tmpl	Mon Feb 01 18:29:07 2016 -0600
@@ -41,7 +41,7 @@
 
 <div id="wrapper">
 <ul id="nodebgs"></ul>
-<canvas id="graph" width="480" height="{canvasheight}"></canvas>
+<canvas id="graph" width="{canvaswidth}" height="{canvasheight}"></canvas>
 <ul id="graphnodes"></ul>
 </div>
 
--- a/mercurial/templates/monoblue/graph.tmpl	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/templates/monoblue/graph.tmpl	Mon Feb 01 18:29:07 2016 -0600
@@ -36,7 +36,7 @@
     <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div>
     <div id="wrapper">
         <ul id="nodebgs"></ul>
-        <canvas id="graph" width="480" height="{canvasheight}"></canvas>
+        <canvas id="graph" width="{canvaswidth}" height="{canvasheight}"></canvas>
         <ul id="graphnodes"></ul>
     </div>
 
--- a/mercurial/templates/paper/graph.tmpl	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/templates/paper/graph.tmpl	Mon Feb 01 18:29:07 2016 -0600
@@ -55,7 +55,7 @@
 
 <div id="wrapper">
 <ul id="nodebgs" class="stripes2"></ul>
-<canvas id="graph" width="480" height="{canvasheight}"></canvas>
+<canvas id="graph" width="{canvaswidth}" height="{canvasheight}"></canvas>
 <ul id="graphnodes"></ul>
 </div>
 
--- a/mercurial/templates/spartan/graph.tmpl	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/templates/spartan/graph.tmpl	Mon Feb 01 18:29:07 2016 -0600
@@ -32,7 +32,7 @@
 
 <div id="wrapper">
 <ul id="nodebgs"></ul>
-<canvas id="graph" width="480" height="{canvasheight}"></canvas>
+<canvas id="graph" width="{canvaswidth}" height="{canvasheight}"></canvas>
 <ul id="graphnodes"></ul>
 </div>
 
--- a/mercurial/templates/static/mercurial.js	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/templates/static/mercurial.js	Mon Feb 01 18:29:07 2016 -0600
@@ -383,8 +383,12 @@
                 },
                 function onsuccess(htmlText) {
                     if (mode == 'graph') {
-                        var addHeight = htmlText.match(/^\s*<canvas id="graph".*height="(\d+)"><\/canvas>$/m)[1];
+                        var sizes = htmlText.match(/^\s*<canvas id="graph" width="(\d+)" height="(\d+)"><\/canvas>$/m);
+                        var addWidth = sizes[1];
+                        var addHeight = sizes[2];
+                        addWidth = parseInt(addWidth);
                         addHeight = parseInt(addHeight);
+                        graph.canvas.width = addWidth;
                         graph.canvas.height = addHeight;
 
                         var dataStr = htmlText.match(/^\s*var data = (.*);$/m)[1];
--- a/mercurial/transaction.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/transaction.py	Mon Feb 01 18:29:07 2016 -0600
@@ -337,9 +337,11 @@
         return self
 
     def __exit__(self, exc_type, exc_val, exc_tb):
-        if exc_type is None:
-            self.close()
-        self.release()
+        try:
+            if exc_type is None:
+                self.close()
+        finally:
+            self.release()
 
     def running(self):
         return self.count > 0
--- a/mercurial/verify.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/mercurial/verify.py	Mon Feb 01 18:29:07 2016 -0600
@@ -149,6 +149,7 @@
         filenodes = self._verifymanifest(mflinkrevs)
 
         self._crosscheckfiles(mflinkrevs, filelinkrevs, filenodes)
+        del mflinkrevs
 
         totalfiles, filerevisions = self._verifyfiles(filenodes, filelinkrevs)
 
@@ -249,7 +250,6 @@
                 ui.progress(_('crosschecking'), count, total=total)
                 self.err(c, _("changeset refers to unknown manifest %s") %
                          short(m))
-            mflinkrevs = None # del is bad here due to scope issues
 
             for f in sorted(filelinkrevs):
                 count += 1
--- a/setup.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/setup.py	Mon Feb 01 18:29:07 2016 -0600
@@ -613,7 +613,7 @@
 if py2exeloaded:
     extra['console'] = [
         {'script':'hg',
-         'copyright':'Copyright (C) 2005-2015 Matt Mackall and others',
+         'copyright':'Copyright (C) 2005-2016 Matt Mackall and others',
          'product_version':version}]
     # sub command of 'build' because 'py2exe' does not handle sub_commands
     build.sub_commands.insert(0, ('build_hgextindex', None))
--- a/tests/run-tests.py	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/run-tests.py	Mon Feb 01 18:29:07 2016 -0600
@@ -1532,7 +1532,10 @@
             except: # re-raises
                 done.put(('!', test, 'run-test raised an error, see traceback'))
                 raise
-            channels[channel] = ''
+            try:
+                channels[channel] = ''
+            except IndexError:
+                pass
 
         def stat():
             count = 0
@@ -1727,14 +1730,20 @@
                               ('skip', result.skipped)]
                     for res, testcases in groups:
                         for tc, __ in testcases:
-                            tres = {'result': res,
-                                    'time': ('%0.3f' % timesd[tc.name][2]),
-                                    'cuser': ('%0.3f' % timesd[tc.name][0]),
-                                    'csys': ('%0.3f' % timesd[tc.name][1]),
-                                    'start': ('%0.3f' % timesd[tc.name][3]),
-                                    'end': ('%0.3f' % timesd[tc.name][4]),
-                                    'diff': result.faildata.get(tc.name, ''),
-                                    }
+                            if tc.name in timesd:
+                                tres = {'result': res,
+                                        'time': ('%0.3f' % timesd[tc.name][2]),
+                                        'cuser': ('%0.3f' % timesd[tc.name][0]),
+                                        'csys': ('%0.3f' % timesd[tc.name][1]),
+                                        'start': ('%0.3f' % timesd[tc.name][3]),
+                                        'end': ('%0.3f' % timesd[tc.name][4]),
+                                        'diff': result.faildata.get(tc.name,
+                                                                    ''),
+                                        }
+                            else:
+                                # blacklisted test
+                                tres = {'result': res}
+
                             outcome[tc.name] = tres
                     jsonout = json.dumps(outcome, sort_keys=True, indent=4)
                     fp.writelines(("testreport =", jsonout))
--- a/tests/test-backout.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-backout.t	Mon Feb 01 18:29:07 2016 -0600
@@ -739,4 +739,24 @@
   nine
   TEN
 
+--no-commit shouldn't commit
 
+  $ hg init a
+  $ cd a
+  $ for i in 1 2 3; do
+  >   touch $i
+  >   hg ci -Am $i
+  > done
+  adding 1
+  adding 2
+  adding 3
+  $ hg backout --no-commit .
+  removing 3
+  changeset cccc23d9d68f backed out, don't forget to commit.
+  $ hg revert -aq
+
+--no-commit can't be used with --merge
+
+  $ hg backout --merge --no-commit 2
+  abort: cannot use --merge with --no-commit
+  [255]
--- a/tests/test-bookmarks.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-bookmarks.t	Mon Feb 01 18:29:07 2016 -0600
@@ -781,3 +781,61 @@
      foo@2                     2:db815d6d32e6
      four                      3:9ba5f110a0b3
      should-end-on-two         2:db815d6d32e6
+
+pull --update works the same as pull && update (case #2)
+
+It is assumed that "hg pull" itself doesn't update current active
+bookmark ('Y' in tests below).
+
+  $ hg pull -q ../cloned-bookmarks-update
+  divergent bookmark Z stored as Z@2
+
+(pulling revision on another named branch with --update updates
+neither the working directory nor current active bookmark: "no-op"
+case)
+
+  $ echo yy >> y
+  $ hg commit -m yy
+
+  $ hg -R ../cloned-bookmarks-update bookmarks | grep ' Y '
+   * Y                         3:125c9a1d6df6
+  $ hg -R ../cloned-bookmarks-update pull . --update
+  pulling from .
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  divergent bookmark Z stored as Z@default
+  adding remote bookmark foo
+  adding remote bookmark four
+  adding remote bookmark should-end-on-two
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg -R ../cloned-bookmarks-update parents -T "{rev}:{node|short}\n"
+  3:125c9a1d6df6
+  $ hg -R ../cloned-bookmarks-update bookmarks | grep ' Y '
+   * Y                         3:125c9a1d6df6
+
+(pulling revision on current named/topological branch with --update
+updates the working directory and current active bookmark)
+
+  $ hg update -C -q 125c9a1d6df6
+  $ echo xx >> x
+  $ hg commit -m xx
+
+  $ hg -R ../cloned-bookmarks-update bookmarks | grep ' Y '
+   * Y                         3:125c9a1d6df6
+  $ hg -R ../cloned-bookmarks-update pull . --update
+  pulling from .
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files
+  divergent bookmark Z stored as Z@default
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  updating bookmark Y
+  $ hg -R ../cloned-bookmarks-update parents -T "{rev}:{node|short}\n"
+  6:81dcce76aa0b
+  $ hg -R ../cloned-bookmarks-update bookmarks | grep ' Y '
+   * Y                         6:81dcce76aa0b
--- a/tests/test-bundle.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-bundle.t	Mon Feb 01 18:29:07 2016 -0600
@@ -728,4 +728,8 @@
   checking files
   4 files, 3 changesets, 5 total revisions
 
-  $ cd ..
+== Test bundling no commits
+
+  $ hg bundle -r 'public()' no-output.hg
+  abort: no commits to bundle
+  [255]
--- a/tests/test-command-template.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-command-template.t	Mon Feb 01 18:29:07 2016 -0600
@@ -1035,6 +1035,39 @@
   1
   0
 
+Check that recursive reference does not fall into RuntimeError (issue4758):
+
+ common mistake:
+
+  $ hg log -T '{changeset}\n'
+  abort: recursive reference 'changeset' in template
+  [255]
+
+ circular reference:
+
+  $ cat << EOF > issue4758
+  > changeset = '{foo}'
+  > foo = '{changeset}'
+  > EOF
+  $ hg log --style ./issue4758
+  abort: recursive reference 'foo' in template
+  [255]
+
+ buildmap() -> gettemplate(), where no thunk was made:
+
+  $ hg log -T '{files % changeset}\n'
+  abort: recursive reference 'changeset' in template
+  [255]
+
+ not a recursion if a keyword of the same name exists:
+
+  $ cat << EOF > issue4758
+  > changeset = '{tags % rev}'
+  > rev = '{rev} {tag}\n'
+  > EOF
+  $ hg log --style ./issue4758 -r tip
+  8 tip
+
 Check that {phase} works correctly on parents:
 
   $ cat << EOF > parentphase
--- a/tests/test-commit-interactive-curses.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-commit-interactive-curses.t	Mon Feb 01 18:29:07 2016 -0600
@@ -193,3 +193,33 @@
   +++ b/x	Thu Jan 01 00:00:00 1970 +0000
   @@ -0,0 +1,1 @@
   +hello world
+
+Editing a hunk puts you back on that hunk when done editing (issue5041)
+To do that, we change two lines in a file, pretend to edit the second line,
+exit, toggle the line selected at the end of the edit and commit.
+The first line should be recorded if we were put on the second line at the end
+of the edit.
+
+  $ hg update -C .
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ echo "foo" > x
+  $ echo "hello world" >> x
+  $ echo "bar" >> x
+  $ cat <<EOF >testModeCommands
+  > f
+  > KEY_DOWN
+  > KEY_DOWN
+  > KEY_DOWN
+  > KEY_DOWN
+  > e
+  > TOGGLE
+  > X
+  > EOF
+  $ printf "printf 'editor ran\n'; exit 0" > editor.sh
+  $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg commit  -i -m "edit hunk" -d "0 0"
+  editor ran
+  $ hg cat -r . x
+  foo
+  hello world
+
+
--- a/tests/test-help.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-help.t	Mon Feb 01 18:29:07 2016 -0600
@@ -436,7 +436,7 @@
   Mercurial Distributed SCM (version *) (glob)
   (see https://mercurial-scm.org for more information)
   
-  Copyright (C) 2005-2015 Matt Mackall and others
+  Copyright (C) 2005-2016 Matt Mackall and others
   This is free software; see the source for copying conditions. There is NO
   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
--- a/tests/test-hgrc.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-hgrc.t	Mon Feb 01 18:29:07 2016 -0600
@@ -71,7 +71,7 @@
   Mercurial Distributed SCM (version *) (glob)
   (see https://mercurial-scm.org for more information)
   
-  Copyright (C) 2005-2015 Matt Mackall and others
+  Copyright (C) 2005-2016 Matt Mackall and others
   This is free software; see the source for copying conditions. There is NO
   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   $ unset FAKEPATH
--- a/tests/test-hgweb-commands.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-hgweb-commands.t	Mon Feb 01 18:29:07 2016 -0600
@@ -1751,7 +1751,7 @@
   
   <div id="wrapper">
   <ul id="nodebgs"></ul>
-  <canvas id="graph" width="480" height="168"></canvas>
+  <canvas id="graph" width="39" height="168"></canvas>
   <ul id="graphnodes"></ul>
   </div>
   
--- a/tests/test-hgweb-empty.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-hgweb-empty.t	Mon Feb 01 18:29:07 2016 -0600
@@ -294,7 +294,7 @@
   
   <div id="wrapper">
   <ul id="nodebgs" class="stripes2"></ul>
-  <canvas id="graph" width="480" height="12"></canvas>
+  <canvas id="graph" width="39" height="12"></canvas>
   <ul id="graphnodes"></ul>
   </div>
   
--- a/tests/test-histedit-arguments.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-histedit-arguments.t	Mon Feb 01 18:29:07 2016 -0600
@@ -171,7 +171,7 @@
   > pick c8e68270e35a 3 four
   > pick 08d98a8350f3 4 five
   > EOF
-  hg: parse error: pick "363035386362" changeset was not a candidate
+  hg: parse error: pick "6058cbb6cfd7" changeset was not a candidate
   (only use listed changesets)
   [255]
 
--- a/tests/test-histedit-base.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-histedit-base.t	Mon Feb 01 18:29:07 2016 -0600
@@ -232,7 +232,7 @@
   > base d273e35dcdf2 B
   > pick b2f90fd8aa85 I
   > EOF
-  hg: parse error: base "643237336533" changeset was not an edited list candidate
+  hg: parse error: base "d273e35dcdf2" changeset was not an edited list candidate
   (only use listed changesets)
 
   $ hg --config experimental.histeditng=False histedit 5 --commands - 2>&1 << EOF | fixbundle
--- a/tests/test-histedit-commute.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-histedit-commute.t	Mon Feb 01 18:29:07 2016 -0600
@@ -282,7 +282,7 @@
   > pick de71b079d9ce e
   > pick 38b92f448761 c
   > EOF
-  hg: parse error: pick "646537316230" changeset was not a candidate
+  hg: parse error: pick "de71b079d9ce" changeset was not a candidate
   (only use listed changesets)
   $ hg log --graph
   @  changeset:   7:803ef1c6fcfd
--- a/tests/test-hook.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-hook.t	Mon Feb 01 18:29:07 2016 -0600
@@ -724,3 +724,25 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     b
   
+  $ cd ..
+
+pretxnclose hook failure should abort the transaction
+
+  $ hg init txnfailure
+  $ cd txnfailure
+  $ touch a && hg commit -Aqm a
+  $ cat >> .hg/hgrc <<EOF
+  > [hooks]
+  > pretxnclose.error = exit 1
+  > EOF
+  $ hg strip -r 0 --config extensions.strip=
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  saved backup bundle to * (glob)
+  transaction abort!
+  rollback completed
+  strip failed, full bundle stored in * (glob)
+  abort: pretxnclose.error hook exited with status 1
+  [255]
+  $ hg recover
+  no interrupted transaction available
+  [1]
--- a/tests/test-largefiles-cache.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-largefiles-cache.t	Mon Feb 01 18:29:07 2016 -0600
@@ -17,8 +17,14 @@
   $ hg add --large large
   $ hg commit -m 'add largefile'
   $ hg rm large
-  $ hg commit -m 'branchhead without largefile'
+  $ hg commit -m 'branchhead without largefile' large
   $ hg up -qr 0
+  $ rm large
+  $ echo "0000000000000000000000000000000000000000" > .hglf/large
+  $ hg commit -m 'commit missing file with corrupt standin' large
+  abort: large: file not found!
+  [255]
+  $ hg up -Cqr 0
   $ cd ..
 
 Discard all cached largefiles in USERCACHE
--- a/tests/test-largefiles.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-largefiles.t	Mon Feb 01 18:29:07 2016 -0600
@@ -531,7 +531,7 @@
   ! foo
 hmm.. no precommit invoked, but there is a postcommit??
   $ hg ci -m "will not checkin"
-  nothing changed
+  nothing changed (1 missing files, see 'hg status')
   Invoking status postcommit hook
   ! foo
   C normal3
--- a/tests/test-mq-qimport.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-mq-qimport.t	Mon Feb 01 18:29:07 2016 -0600
@@ -200,9 +200,8 @@
   patch b.diff finalized without changeset message
   $ touch .hg/patches/append_foo
   $ hg qimport -r 'p1(.)::'
-  abort: patch "append_foo" already exists
-  [255]
   $ hg qapplied
+  append_foo__1
   append_bar
   $ hg qfin -a
   $ rm .hg/patches/append_foo
@@ -313,3 +312,22 @@
   2 U 0
   3 U this-name-is-better
   4 U url.diff
+
+check reserved patch names
+
+  $ hg qpop -qa
+  patch queue now empty
+  $ echo >> b
+  $ hg commit -m 'status'
+  $ echo >> b
+  $ hg commit -m '.'
+  $ echo >> b
+  $ hg commit -m 'taken'
+  $ mkdir .hg/patches/taken
+  $ touch .hg/patches/taken__1
+  $ hg qimport -r -3::
+  $ hg qap
+  1.diff__1
+  2.diff
+  taken__2
+
--- a/tests/test-obsolete.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-obsolete.t	Mon Feb 01 18:29:07 2016 -0600
@@ -951,6 +951,23 @@
   $ hg amendtransient
   [1, 3]
 
+Check that corrupted hidden cache does not crash
+
+  $ printf "" > .hg/cache/hidden
+  $ hg log -r . -T '{node}' --debug
+  corrupted hidden cache
+  8fd96dfc63e51ed5a8af1bec18eb4b19dbf83812 (no-eol)
+  $ hg log -r . -T '{node}' --debug
+  8fd96dfc63e51ed5a8af1bec18eb4b19dbf83812 (no-eol)
+
+Check that wrong hidden cache permission does not crash
+
+  $ chmod 000 .hg/cache/hidden
+  $ hg log -r . -T '{node}' --debug
+  cannot read hidden cache
+  error writing hidden changesets cache
+  8fd96dfc63e51ed5a8af1bec18eb4b19dbf83812 (no-eol)
+
 Test cache consistency for the visible filter
 1) We want to make sure that the cached filtered revs are invalidated when
 bookmarks change
--- a/tests/test-rebase-parameters.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-rebase-parameters.t	Mon Feb 01 18:29:07 2016 -0600
@@ -412,6 +412,16 @@
   
   $ cd ..
 
+Rebasing both a single revision and a merge in one command
+
+  $ hg clone -q -u . a aX
+  $ cd aX
+  $ hg rebase -r 3 -r 6
+  rebasing 3:32af7686d403 "D"
+  rebasing 6:eea13746799a "G"
+  saved backup bundle to $TESTTMP/aX/.hg/strip-backup/eea13746799a-ad273fd6-backup.hg (glob)
+  $ cd ..
+
 Test --tool parameter:
 
   $ hg init b
--- a/tests/test-run-tests.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-run-tests.t	Mon Feb 01 18:29:07 2016 -0600
@@ -494,13 +494,21 @@
 
 Missing skips or blacklisted skips don't count as executed:
   $ echo test-failure.t > blacklist
-  $ rt --blacklist=blacklist \
+  $ rt --blacklist=blacklist --json\
   >   test-failure.t test-bogus.t
   ss
   Skipped test-bogus.t: Doesn't exist
   Skipped test-failure.t: blacklisted
   # Ran 0 tests, 2 skipped, 0 warned, 0 failed.
-
+  $ cat report.json
+  testreport ={
+      "test-bogus.t": {
+          "result": "skip"
+      }, 
+      "test-failure.t": {
+          "result": "skip"
+      }
+  } (no-eol)
 #if json
 
 test for --json
--- a/tests/test-shelve.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-shelve.t	Mon Feb 01 18:29:07 2016 -0600
@@ -54,7 +54,7 @@
   
    -A --addremove           mark new/missing files as added/removed before
                             shelving
-   -u --unknown             Store unknown files in the shelve
+   -u --unknown             store unknown files in the shelve
       --cleanup             delete all shelved changes
       --date DATE           shelve with the specified commit date
    -d --delete              delete the named shelved change(s)
--- a/tests/test-treemanifest.t	Thu Jan 14 10:03:31 2016 -0800
+++ b/tests/test-treemanifest.t	Mon Feb 01 18:29:07 2016 -0600
@@ -1,6 +1,8 @@
   $ cat << EOF >> $HGRCPATH
   > [format]
   > usegeneraldelta=yes
+  > [ui]
+  > ssh=python "$TESTDIR/dummyssh"
   > EOF
 
 Set up repo
@@ -203,27 +205,40 @@
   (branch merge, don't forget to commit)
   $ hg ci -m 'merge of flat manifests to new flat manifest'
 
+  $ hg serve -p $HGPORT -d --pid-file=hg.pid --errorlog=errors.log
+  $ cat hg.pid >> $DAEMON_PIDS
+
 Create clone with tree manifests enabled
 
   $ cd ..
-  $ hg clone --pull --config experimental.treemanifest=1 repo-flat repo-mixed
-  requesting all changes
+  $ hg clone --config experimental.treemanifest=1 \
+  >   http://localhost:$HGPORT repo-mixed -r 1
   adding changesets
   adding manifests
   adding file changes
-  added 4 changesets with 17 changes to 11 files
+  added 2 changesets with 14 changes to 11 files
   updating to branch default
   11 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd repo-mixed
-  $ test -f .hg/store/meta
+  $ test -d .hg/store/meta
   [1]
   $ grep treemanifest .hg/requires
   treemanifest
 
+Should be possible to push updates from flat to tree manifest repo
+
+  $ hg -R ../repo-flat push ssh://user@dummy/repo-mixed
+  pushing to ssh://user@dummy/repo-mixed
+  searching for changes
+  remote: adding changesets
+  remote: adding manifests
+  remote: adding file changes
+  remote: added 2 changesets with 3 changes to 3 files
+
 Commit should store revlog per directory
 
   $ hg co 1
-  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo 3 > a
   $ echo 3 > dir1/a
   $ echo 3 > dir1/dir1/a
@@ -273,21 +288,82 @@
 
 Turning off treemanifest config has no effect
 
-  $ hg debugindex .hg/store/meta/dir1/00manifest.i
+  $ hg debugindex --dir dir1
      rev    offset  length  delta linkrev nodeid       p1           p2
        0         0     127     -1       4 064927a0648a 000000000000 000000000000
        1       127     111      0       5 25ecb8cb8618 000000000000 000000000000
   $ echo 2 > dir1/a
   $ hg --config experimental.treemanifest=False ci -qm 'modify dir1/a'
-  $ hg debugindex .hg/store/meta/dir1/00manifest.i
+  $ hg debugindex --dir dir1
      rev    offset  length  delta linkrev nodeid       p1           p2
        0         0     127     -1       4 064927a0648a 000000000000 000000000000
        1       127     111      0       5 25ecb8cb8618 000000000000 000000000000
        2       238      55      1       6 5b16163a30c6 25ecb8cb8618 000000000000
 
+Stripping and recovering changes should work
+
+  $ hg st --change tip
+  M dir1/a
+  $ hg --config extensions.strip= strip tip
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  saved backup bundle to $TESTTMP/repo-mixed/.hg/strip-backup/51cfd7b1e13b-78a2f3ed-backup.hg (glob)
+  $ hg unbundle -q .hg/strip-backup/*
+  $ hg st --change tip
+  M dir1/a
+
+Shelving and unshelving should work
+
+  $ echo foo >> dir1/a
+  $ hg --config extensions.shelve= shelve
+  shelved as default
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg --config extensions.shelve= unshelve
+  unshelving change 'default'
+  $ hg diff --nodates
+  diff -r 708a273da119 dir1/a
+  --- a/dir1/a
+  +++ b/dir1/a
+  @@ -1,1 +1,2 @@
+   1
+  +foo
+
+Pushing from treemanifest repo to an empty repo makes that a treemanifest repo
+
+  $ cd ..
+  $ hg init empty-repo
+  $ cat << EOF >> empty-repo/.hg/hgrc
+  > [experimental]
+  > changegroup3=yes
+  > EOF
+  $ grep treemanifest empty-repo/.hg/requires
+  [1]
+  $ hg push -R repo -r 0 empty-repo
+  pushing to empty-repo
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 2 changes to 2 files
+  $ grep treemanifest empty-repo/.hg/requires
+  treemanifest
+
+Pushing to an empty repo works
+
+  $ hg --config experimental.treemanifest=1 init clone
+  $ grep treemanifest clone/.hg/requires
+  treemanifest
+  $ hg push -R repo clone
+  pushing to clone
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 11 changesets with 15 changes to 10 files (+3 heads)
+  $ grep treemanifest clone/.hg/requires
+  treemanifest
+
 Create deeper repo with tree manifests.
 
-  $ cd ..
   $ hg --config experimental.treemanifest=True init deeprepo
   $ cd deeprepo
 
@@ -395,13 +471,13 @@
   $ hg ci -m troz
 
 Test cloning a treemanifest repo over http.
-  $ hg serve -p $HGPORT -d --pid-file=hg.pid --errorlog=errors.log
+  $ hg serve -p $HGPORT2 -d --pid-file=hg.pid --errorlog=errors.log
   $ cat hg.pid >> $DAEMON_PIDS
   $ cd ..
 We can clone even with the knob turned off and we'll get a treemanifest repo.
   $ hg clone --config experimental.treemanifest=False \
   >   --config experimental.changegroup3=True \
-  >   http://localhost:$HGPORT deepclone
+  >   http://localhost:$HGPORT2 deepclone
   requesting all changes
   adding changesets
   adding manifests