merge with i18n stable 3.9
authorAugie Fackler <augie@google.com>
Mon, 01 Aug 2016 12:11:56 -0400
branchstable
changeset 29650 299546f84e68
parent 29649 512611246ea4 (diff)
parent 29643 716c01161852 (current diff)
child 29651 73a80c2c3b2f
merge with i18n
--- a/Makefile	Mon Aug 01 08:27:22 2016 +0900
+++ b/Makefile	Mon Aug 01 12:11:56 2016 -0400
@@ -60,7 +60,7 @@
 doc:
 	$(MAKE) -C doc
 
-clean:
+cleanbutpackages:
 	-$(PYTHON) setup.py clean --all # ignore errors from this command
 	find contrib doc hgext hgext3rd i18n mercurial tests \
 		\( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';'
@@ -68,10 +68,13 @@
 	rm -f MANIFEST MANIFEST.in hgext/__index__.py tests/*.err
 	rm -f mercurial/__modulepolicy__.py
 	if test -d .hg; then rm -f mercurial/__version__.py; fi
-	rm -rf build packages mercurial/locale
+	rm -rf build mercurial/locale
 	$(MAKE) -C doc clean
 	$(MAKE) -C contrib/chg distclean
 
+clean: cleanbutpackages
+	rm -rf packages
+
 install: install-bin install-doc
 
 install-bin: build
@@ -254,8 +257,8 @@
 	mkdir -p packages/centos7
 	contrib/dockerrpm centos7
 
-.PHONY: help all local build doc clean install install-bin install-doc \
-	install-home install-home-bin install-home-doc \
+.PHONY: help all local build doc cleanbutpackages clean install install-bin \
+	install-doc install-home install-home-bin install-home-doc \
 	dist dist-notests check tests check-code update-pot \
 	osx fedora20 docker-fedora20 fedora21 docker-fedora21 \
 	centos5 docker-centos5 centos6 docker-centos6 centos7 docker-centos7
--- a/contrib/packagelib.sh	Mon Aug 01 08:27:22 2016 +0900
+++ b/contrib/packagelib.sh	Mon Aug 01 12:11:56 2016 -0400
@@ -8,7 +8,7 @@
 #
 # node: the node|short hg was built from, or empty if built from a tag
 gethgversion() {
-    make clean
+    make cleanbutpackages
     make local || make local PURE=--pure
     HG="$PWD/hg"
 
--- a/hgext/largefiles/lfutil.py	Mon Aug 01 08:27:22 2016 +0900
+++ b/hgext/largefiles/lfutil.py	Mon Aug 01 12:11:56 2016 -0400
@@ -89,7 +89,7 @@
             return os.path.join(home, '.cache', longname)
     else:
         raise error.Abort(_('unknown operating system: %s\n') % os.name)
-    raise error.Abort(_('unknown %s usercache location\n') % longname)
+    raise error.Abort(_('unknown %s usercache location') % longname)
 
 def inusercache(ui, hash):
     path = usercachepath(ui, hash)
--- a/mercurial/commands.py	Mon Aug 01 08:27:22 2016 +0900
+++ b/mercurial/commands.py	Mon Aug 01 12:11:56 2016 -0400
@@ -2615,23 +2615,23 @@
 
     Output can be templatized. Available template keywords are:
 
-       rev          revision number
-       chainid      delta chain identifier (numbered by unique base)
-       chainlen     delta chain length to this revision
-       prevrev      previous revision in delta chain
-       deltatype    role of delta / how it was computed
-       compsize     compressed size of revision
-       uncompsize   uncompressed size of revision
-       chainsize    total size of compressed revisions in chain
-       chainratio   total chain size divided by uncompressed revision size
+    :``rev``:       revision number
+    :``chainid``:   delta chain identifier (numbered by unique base)
+    :``chainlen``:  delta chain length to this revision
+    :``prevrev``:   previous revision in delta chain
+    :``deltatype``: role of delta / how it was computed
+    :``compsize``:  compressed size of revision
+    :``uncompsize``: uncompressed size of revision
+    :``chainsize``: total size of compressed revisions in chain
+    :``chainratio``: total chain size divided by uncompressed revision size
                     (new delta chains typically start at ratio 2.00)
-       lindist      linear distance from base revision in delta chain to end
+    :``lindist``:   linear distance from base revision in delta chain to end
                     of this revision
-       extradist    total size of revisions not part of this delta chain from
+    :``extradist``: total size of revisions not part of this delta chain from
                     base of delta chain to end of this revision; a measurement
                     of how much extra data we need to read/seek across to read
                     the delta chain for this revision
-       extraratio   extradist divided by chainsize; another representation of
+    :``extraratio``: extradist divided by chainsize; another representation of
                     how much unrelated data is needed to load this delta chain
     """
     r = cmdutil.openrevlog(repo, 'debugdeltachain', file_, opts)
@@ -4838,7 +4838,7 @@
     resulting changeset has a different ID than the one recorded in
     the patch. This will guard against various ways that portable
     patch formats and mail systems might fail to transfer Mercurial
-    data or metadata. See ':hg: bundle' for lossless transmission.
+    data or metadata. See :hg:`bundle` for lossless transmission.
 
     Use --partial to ensure a changeset will be created from the patch
     even if some hunks fail to apply. Hunks that fail to apply will be
--- a/mercurial/demandimport.py	Mon Aug 01 08:27:22 2016 +0900
+++ b/mercurial/demandimport.py	Mon Aug 01 12:11:56 2016 -0400
@@ -94,6 +94,23 @@
         if not self._module:
             head, globals, locals, after, level, modrefs = self._data
             mod = _hgextimport(_import, head, globals, locals, None, level)
+            if mod is self:
+                # In this case, _hgextimport() above should imply
+                # _demandimport(). Otherwise, _hgextimport() never
+                # returns _demandmod. This isn't intentional behavior,
+                # in fact. (see also issue5304 for detail)
+                #
+                # If self._module is already bound at this point, self
+                # should be already _load()-ed while _hgextimport().
+                # Otherwise, there is no way to import actual module
+                # as expected, because (re-)invoking _hgextimport()
+                # should cause same result.
+                # This is reason why _load() returns without any more
+                # setup but assumes self to be already bound.
+                mod = self._module
+                assert mod and mod is not self, "%s, %s" % (self, mod)
+                return
+
             # load submodules
             def subload(mod, p):
                 h, t = p, None
--- a/mercurial/help/config.txt	Mon Aug 01 08:27:22 2016 +0900
+++ b/mercurial/help/config.txt	Mon Aug 01 12:11:56 2016 -0400
@@ -1082,7 +1082,7 @@
     This option has no effect if the per-host ``fingerprints`` option
     is set.
 
-    The format of the file is as follows:
+    The format of the file is as follows::
 
         -----BEGIN CERTIFICATE-----
         ... (certificate in base64 PEM encoding) ...
@@ -1742,7 +1742,7 @@
     Possible values are 'text' and 'curses'.
 
 ``interface.chunkselector``
-    Select the interface for change recording (e.g. :hg:`commit` -i).
+    Select the interface for change recording (e.g. :hg:`commit -i`).
     Possible values are 'text' and 'curses'.
     This config overrides the interface specified by ui.interface.
 
--- a/mercurial/hg.py	Mon Aug 01 08:27:22 2016 +0900
+++ b/mercurial/hg.py	Mon Aug 01 12:11:56 2016 -0400
@@ -896,7 +896,7 @@
                         ret = (ctx.sub(subpath, allowcreate=False).verify()
                                or ret)
                     except error.RepoError as e:
-                        repo.ui.warn(_('%s: %s\n') % (rev, e))
+                        repo.ui.warn(('%s: %s\n') % (rev, e))
             except Exception:
                 repo.ui.warn(_('.hgsubstate is corrupt in revision %s\n') %
                              node.short(ctx.node()))
--- a/mercurial/revset.py	Mon Aug 01 08:27:22 2016 +0900
+++ b/mercurial/revset.py	Mon Aug 01 12:11:56 2016 -0400
@@ -1866,8 +1866,8 @@
 
     if len(keyflags) > 1 and any(k == 'topo' for k, reverse in keyflags):
         # i18n: "topo" is a keyword
-        raise error.ParseError(_(
-            'topo sort order cannot be combined with other sort keys'))
+        raise error.ParseError(_('topo sort order cannot be combined '
+                                 'with other sort keys'))
 
     opts = {}
     if 'topo.firstbranch' in args:
@@ -1875,9 +1875,8 @@
             opts['topo.firstbranch'] = args['topo.firstbranch']
         else:
             # i18n: "topo" and "topo.firstbranch" are keywords
-            raise error.ParseError(_(
-                'topo.firstbranch can only be used when using the topo sort '
-                'key'))
+            raise error.ParseError(_('topo.firstbranch can only be used '
+                                     'when using the topo sort key'))
 
     return args['set'], keyflags, opts