changeset 24889:ab9390165429 stable

merge with i18n
author Matt Mackall <mpm@selenic.com>
date Thu, 30 Apr 2015 17:50:50 -0500
parents 10a13da8840d (diff) 759d8bfa1abe (current diff)
children cba84b06b702
files
diffstat 15 files changed, 219 insertions(+), 62 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/censor.py	Thu Apr 30 19:12:28 2015 +0900
+++ b/hgext/censor.py	Thu Apr 30 17:50:50 2015 -0500
@@ -17,12 +17,6 @@
  * Licensed data/code/libraries for which the license has expired
  * Personally Identifiable Information or other private data
 
-Censored file revisions are listed in a tracked file called .hgcensored stored
-in the repository root. The censor command adds an entry to the .hgcensored file
-in the working directory and commits it (much like ``hg tag`` and .hgtags). The
-censored file data is then replaced with a pointer to the new commit, enabling
-verification.
-
 Censored nodes can interrupt mercurial's typical operation whenever the excised
 data needs to be materialized. Some commands, like ``hg cat``/``hg revert``,
 simply fail when asked to produce censored data. Others, like ``hg verify`` and
--- a/mercurial/bundlerepo.py	Thu Apr 30 19:12:28 2015 +0900
+++ b/mercurial/bundlerepo.py	Thu Apr 30 17:50:50 2015 -0500
@@ -157,7 +157,15 @@
         # Although changelog doesn't override 'revision' method, some extensions
         # may replace this class with another that does. Same story with
         # manifest and filelog classes.
-        return changelog.changelog.revision(self, nodeorrev)
+
+        # This bypasses filtering on changelog.node() and rev() because we need
+        # revision text of the bundle base even if it is hidden.
+        oldfilter = self.filteredrevs
+        try:
+            self.filteredrevs = ()
+            return changelog.changelog.revision(self, nodeorrev)
+        finally:
+            self.filteredrevs = oldfilter
 
 class bundlemanifest(bundlerevlog, manifest.manifest):
     def __init__(self, opener, bundle, linkmapper):
--- a/mercurial/merge.py	Thu Apr 30 19:12:28 2015 +0900
+++ b/mercurial/merge.py	Thu Apr 30 17:50:50 2015 -0500
@@ -1167,7 +1167,9 @@
         wlock.release()
 
     if not partial:
-        repo.hook('update', parent1=xp1, parent2=xp2, error=stats[3])
+        def updatehook(parent1=xp1, parent2=xp2, error=stats[3]):
+            repo.hook('update', parent1=parent1, parent2=parent2, error=error)
+        repo._afterlock(updatehook)
     return stats
 
 def graft(repo, ctx, pctx, labels):
--- a/mercurial/parsers.c	Thu Apr 30 19:12:28 2015 +0900
+++ b/mercurial/parsers.c	Thu Apr 30 17:50:50 2015 -0500
@@ -1312,7 +1312,7 @@
 			const char *n;
 			Py_ssize_t i;
 
-			v = -v - 1;
+			v = -(v + 1);
 			n = index_node(self, v);
 			if (n == NULL)
 				return -2;
@@ -1368,7 +1368,7 @@
 			return 0;
 		}
 		if (v < 0) {
-			const char *oldnode = index_node(self, -v - 1);
+			const char *oldnode = index_node(self, -(v + 1));
 			int noff;
 
 			if (!oldnode || !memcmp(oldnode, node, 20)) {
--- a/mercurial/templater.py	Thu Apr 30 19:12:28 2015 +0900
+++ b/mercurial/templater.py	Thu Apr 30 17:50:50 2015 -0500
@@ -539,7 +539,12 @@
         raise error.ParseError(_("word expects two or three arguments, got %d")
                                % len(args))
 
-    num = int(stringify(args[0][0](context, mapping, args[0][1])))
+    try:
+        num = int(stringify(args[0][0](context, mapping, args[0][1])))
+    except ValueError:
+        # i18n: "word" is a keyword
+        raise error.ParseError(
+                _("Use strings like '3' for numbers passed to word function"))
     text = stringify(args[1][0](context, mapping, args[1][1]))
     if len(args) == 3:
         splitter = stringify(args[2][0](context, mapping, args[2][1]))
--- a/mercurial/ui.py	Thu Apr 30 19:12:28 2015 +0900
+++ b/mercurial/ui.py	Thu Apr 30 17:50:50 2015 -0500
@@ -169,6 +169,9 @@
         if self.plain('alias'):
             for k, v in cfg.items('alias'):
                 del cfg['alias'][k]
+        if self.plain('revsetalias'):
+            for k, v in cfg.items('revsetalias'):
+                del cfg['revsetalias'][k]
 
         if trusted:
             self._tcfg.update(cfg)
--- a/mercurial/windows.py	Thu Apr 30 19:12:28 2015 +0900
+++ b/mercurial/windows.py	Thu Apr 30 17:50:50 2015 -0500
@@ -167,10 +167,12 @@
         _quotere = re.compile(r'(\\*)("|\\$)')
     global _needsshellquote
     if _needsshellquote is None:
-        # ":" and "\\" are also treated as "safe character", because
-        # they are used as a part of path name (and the latter doesn't
-        # work as "escape character", like one on posix) on Windows
-        _needsshellquote = re.compile(r'[^a-zA-Z0-9._:/\\-]').search
+        # ":" is also treated as "safe character", because it is used as a part
+        # of path name on Windows.  "\" is also part of a path name, but isn't
+        # safe because shlex.split() (kind of) treats it as an escape char and
+        # drops it.  It will leave the next character, even if it is another
+        # "\".
+        _needsshellquote = re.compile(r'[^a-zA-Z0-9._:/-]').search
     if s and not _needsshellquote(s) and not _quotere.search(s):
         # "s" shouldn't have to be quoted
         return s
--- a/tests/test-command-template.t	Thu Apr 30 19:12:28 2015 +0900
+++ b/tests/test-command-template.t	Thu Apr 30 17:50:50 2015 -0500
@@ -2620,3 +2620,9 @@
   $ hg log -Gv -R a --template "{word('0', desc, 'o', 'h', 'b', 'o', 'y')}"
   hg: parse error: word expects two or three arguments, got 7
   [255]
+
+Test word for invalid numbers
+
+  $ hg log -Gv -R a --template "{word(2, desc)}"
+  hg: parse error: Use strings like '3' for numbers passed to word function
+  [255]
--- a/tests/test-commit-interactive.t	Thu Apr 30 19:12:28 2015 +0900
+++ b/tests/test-commit-interactive.t	Thu Apr 30 17:50:50 2015 -0500
@@ -1483,14 +1483,15 @@
   +foo
   record this change to 'folder/bar'? [Ynesfdaq?] y
   
+The #if execbit block above changes the hashes here on some systems
   $ hg tip -p
-  changeset:   32:fb46c2a66466
+  changeset:   32:* (glob)
   tag:         tip
   user:        test
   date:        Thu Jan 01 00:00:23 1970 +0000
   summary:     newfilesubdir
   
-  diff -r 34c65441ddfb -r fb46c2a66466 folder/bar
+  diff -r * -r * folder/bar (glob)
   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   +++ b/folder/bar	Thu Jan 01 00:00:23 1970 +0000
   @@ -0,0 +1,1 @@
--- a/tests/test-extdiff.t	Thu Apr 30 19:12:28 2015 +0900
+++ b/tests/test-extdiff.t	Thu Apr 30 17:50:50 2015 -0500
@@ -58,9 +58,15 @@
 
 Should diff cloned files directly:
 
+#if windows
+  $ hg falabala -r 0:1
+  diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob)
+  [1]
+#else
   $ hg falabala -r 0:1
   diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob)
   [1]
+#endif
 
 Test diff during merge:
 
@@ -76,23 +82,41 @@
 
 Should diff cloned file against wc file:
 
+#if windows
+  $ hg falabala
+  diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "*\\a\\a" (glob)
+  [1]
+#else
   $ hg falabala
   diffing */extdiff.*/a.2a13a4d2da36/a */a/a (glob)
   [1]
+#endif
 
 
 Test --change option:
 
   $ hg ci -d '2 0' -mtest3
+#if windows
+  $ hg falabala -c 1
+  diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob)
+  [1]
+#else
   $ hg falabala -c 1
   diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob)
   [1]
+#endif
 
 Check diff are made from the first parent:
 
+#if windows
+  $ hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code"
+  diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "a.46c0e4daeb72\\a" (glob)
+  diff-like tools yield a non-zero exit code
+#else
   $ hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code"
   diffing */extdiff.*/a.2a13a4d2da36/a a.46c0e4daeb72/a (glob)
   diff-like tools yield a non-zero exit code
+#endif
 
 issue4463: usage of command line configuration without additional quoting
 
@@ -107,11 +131,11 @@
   $ echo a >> a
 #if windows
   $ hg --debug 4463a | grep '^running'
-  running 'echo a-naked \'single quoted\' "double quoted" *\\a *\\a' in */extdiff.* (glob)
+  running 'echo a-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob)
   $ hg --debug 4463b | grep '^running'
-  running 'echo b-naked \'single quoted\' "double quoted" *\\a *\\a' in */extdiff.* (glob)
+  running 'echo b-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob)
   $ hg --debug echo | grep '^running'
-  running '*echo* *\\a *\\a' in */extdiff.* (glob)
+  running '*echo* "*\\a" "*\\a"' in */extdiff.* (glob)
 #else
   $ hg --debug 4463a | grep '^running'
   running 'echo a-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob)
@@ -138,15 +162,15 @@
   > EOF
 #if windows
   $ hg --debug 4463b2 | grep '^running'
-  running 'echo b2-naked \'single quoted\' "double quoted" *\\a *\\a' in */extdiff.* (glob)
+  running 'echo b2-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob)
   $ hg --debug 4463b3 | grep '^running'
-  running 'echo b3-naked \'single quoted\' "double quoted" *\\a *\\a' in */extdiff.* (glob)
+  running 'echo b3-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob)
   $ hg --debug 4463b4 | grep '^running'
-  running 'echo *\\a *\\a' in */extdiff.* (glob)
+  running 'echo "*\\a" "*\\a"' in */extdiff.* (glob)
   $ hg --debug 4463b4 --option b4-naked --option 'being quoted' | grep '^running'
-  running 'echo b4-naked "being quoted" *\\a *\\a' in */extdiff.* (glob)
+  running 'echo b4-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob)
   $ hg --debug extdiff -p echo --option echo-naked --option 'being quoted' | grep '^running'
-  running 'echo echo-naked "being quoted" *\\a *\\a' in */extdiff.* (glob)
+  running 'echo echo-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob)
 #else
   $ hg --debug 4463b2 | grep '^running'
   running 'echo b2-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob)
--- a/tests/test-hook.t	Thu Apr 30 19:12:28 2015 +0900
+++ b/tests/test-hook.t	Thu Apr 30 17:50:50 2015 -0500
@@ -613,7 +613,9 @@
 
 Issue1827: Hooks Update & Commit not completely post operation
 
-commit and update hooks should run after command completion
+commit and update hooks should run after command completion.  The largefiles
+use demonstrates a recursive wlock, showing the hook doesn't run until the
+final release (and dirstate flush).
 
   $ echo '[hooks]' > .hg/hgrc
   $ echo 'commit = hg id' >> .hg/hgrc
@@ -621,7 +623,7 @@
   $ echo bb > a
   $ hg ci -ma
   223eafe2750c tip
-  $ hg up 0
+  $ hg up 0 --config extensions.largefiles=
   cb9a9f314b8b
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
--- a/tests/test-obsolete.t	Thu Apr 30 19:12:28 2015 +0900
+++ b/tests/test-obsolete.t	Thu Apr 30 17:50:50 2015 -0500
@@ -789,6 +789,62 @@
   visible                            0:193e9254ce7e
   tip                                0:193e9254ce7e
 
+Test bundle overlay onto hidden revision
+
+  $ cd ..
+  $ hg init repo-bundleoverlay
+  $ cd repo-bundleoverlay
+  $ echo "A" > foo
+  $ hg ci -Am "A"
+  adding foo
+  $ echo "B" >> foo
+  $ hg ci -m "B"
+  $ hg up 0
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ echo "C" >> foo
+  $ hg ci -m "C"
+  created new head
+  $ hg log -G
+  @  2:c186d7714947 (draft) [tip ] C
+  |
+  | o  1:44526ebb0f98 (draft) [ ] B
+  |/
+  o  0:4b34ecfb0d56 (draft) [ ] A
+  
+
+  $ hg clone -r1 . ../other-bundleoverlay
+  adding changesets
+  adding manifests
+  adding file changes
+  added 2 changesets with 2 changes to 1 files
+  updating to branch default
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cd ../other-bundleoverlay
+  $ echo "B+" >> foo
+  $ hg ci --amend -m "B+"
+  $ hg log -G --hidden
+  @  3:b7d587542d40 (draft) [tip ] B+
+  |
+  | x  2:eb95e9297e18 (draft) [ ] temporary amend commit for 44526ebb0f98
+  | |
+  | x  1:44526ebb0f98 (draft) [ ] B
+  |/
+  o  0:4b34ecfb0d56 (draft) [ ] A
+  
+
+  $ hg incoming ../repo-bundleoverlay --bundle ../bundleoverlay.hg
+  comparing with ../repo-bundleoverlay
+  searching for changes
+  1:44526ebb0f98 (draft) [ ] B
+  2:c186d7714947 (draft) [tip ] C
+  $ hg log -G -R ../bundleoverlay.hg
+  o  4:c186d7714947 (draft) [tip ] C
+  |
+  | @  3:b7d587542d40 (draft) [ ] B+
+  |/
+  o  0:4b34ecfb0d56 (draft) [ ] A
+  
+
 #if serve
 
 Test issue 4506
--- a/tests/test-rename-merge2.t	Thu Apr 30 19:12:28 2015 +0900
+++ b/tests/test-rename-merge2.t	Thu Apr 30 17:50:50 2015 -0500
@@ -100,7 +100,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@e300d1c794ec+ other rev@4ce40f5aca24 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -140,7 +140,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@86a2aa42fc76+ other rev@f4db7e329e71 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * (glob)
   merge tool returned: 0
   1 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -178,7 +178,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@e300d1c794ec+ other rev@bdb19105162a ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -214,7 +214,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@02963e448370+ other rev@f4db7e329e71 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -246,7 +246,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@94b33a1b7f2d+ other rev@4ce40f5aca24 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   1 files updated, 1 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -275,7 +275,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@86a2aa42fc76+ other rev@97c705ade336 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -310,7 +310,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@94b33a1b7f2d+ other rev@bdb19105162a ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   1 files updated, 1 files merged, 1 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -338,7 +338,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@02963e448370+ other rev@97c705ade336 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -364,14 +364,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@62e7bf090eba+ other b@49b6d8032493 ancestor a@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 2/2 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@62e7bf090eba+ other rev@49b6d8032493 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -408,7 +408,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@02963e448370+ other rev@fe905ef2c33e ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   note: possible conflict - a was renamed multiple times to:
    b
@@ -438,14 +438,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@86a2aa42fc76+ other b@af30c7647fc7 ancestor b@000000000000
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 2/2 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@86a2aa42fc76+ other rev@af30c7647fc7 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -475,14 +475,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 3/3 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 1 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -511,14 +511,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 3/3 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   1 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -548,14 +548,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 3/3 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 1 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -584,14 +584,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 3/3 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   1 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -619,14 +619,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@0b76e65c8289+ other b@4ce40f5aca24 ancestor b@000000000000
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 2/2 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -658,14 +658,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@02963e448370+ other b@8dbce441892a ancestor b@000000000000
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 3/3 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   1 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -696,14 +696,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b
   my b@0b76e65c8289+ other b@bdb19105162a ancestor b@000000000000
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 3/3 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -734,14 +734,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging a and b to b
   my b@e300d1c794ec+ other b@49b6d8032493 ancestor a@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 2/2 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@e300d1c794ec+ other rev@49b6d8032493 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -771,14 +771,14 @@
   picked tool 'python ../merge' for b (binary False symlink False)
   merging b and a to b
   my b@62e7bf090eba+ other a@f4db7e329e71 ancestor a@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/b * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/b* * * (glob)
   merge tool returned: 0
    rev: versions differ -> m
   updating: rev 2/2 files (100.00%)
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@62e7bf090eba+ other rev@f4db7e329e71 ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   0 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -822,7 +822,7 @@
   picked tool 'python ../merge' for rev (binary False symlink False)
   merging rev
   my rev@02963e448370+ other rev@2b958612230f ancestor rev@924404dff337
-  launching merge tool: python ../merge $TESTTMP/t/t/rev * * (glob)
+  launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
   merge tool returned: 0
   1 files updated, 2 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
--- a/tests/test-revset.t	Thu Apr 30 19:12:28 2015 +0900
+++ b/tests/test-revset.t	Thu Apr 30 17:50:50 2015 -0500
@@ -1049,6 +1049,8 @@
 
   $ echo '[revsetalias]' >> .hg/hgrc
   $ echo 'm = merge()' >> .hg/hgrc
+(revset aliases can override builtin revsets)
+  $ echo 'p2($1) = p1($1)' >> .hg/hgrc
   $ echo 'sincem = descendants(m)' >> .hg/hgrc
   $ echo 'd($1) = reverse(sort($1, date))' >> .hg/hgrc
   $ echo 'rs(ARG1, ARG2) = reverse(sort(ARG1, ARG2))' >> .hg/hgrc
@@ -1064,6 +1066,58 @@
     <fullreposet+ 0:9>>
   6
 
+  $ HGPLAIN=1 try m
+  ('symbol', 'm')
+  abort: unknown revision 'm'!
+  [255]
+
+  $ HGPLAIN=1 HGPLAINEXCEPT=revsetalias try m
+  ('symbol', 'm')
+  (func
+    ('symbol', 'merge')
+    None)
+  * set:
+  <filteredset
+    <fullreposet+ 0:9>>
+  6
+
+(for some reason HGPLAIN and HGPLAINEXCEPT can carry forward)
+
+  $ unset HGPLAIN
+  $ unset HGPLAINEXCEPT
+
+  $ try 'p2(.)'
+  (func
+    ('symbol', 'p2')
+    ('symbol', '.'))
+  (func
+    ('symbol', 'p1')
+    ('symbol', '.'))
+  * set:
+  <baseset+ [8]>
+  8
+
+  $ HGPLAIN=1 try 'p2(.)'
+  (func
+    ('symbol', 'p2')
+    ('symbol', '.'))
+  * set:
+  <baseset+ []>
+
+  $ HGPLAIN=1 HGPLAINEXCEPT=revsetalias try 'p2(.)'
+  (func
+    ('symbol', 'p2')
+    ('symbol', '.'))
+  (func
+    ('symbol', 'p1')
+    ('symbol', '.'))
+  * set:
+  <baseset+ [8]>
+  8
+
+  $ unset HGPLAIN
+  $ unset HGPLAINEXCEPT
+
 test alias recursion
 
   $ try sincem
--- a/tests/test-up-local-change.t	Thu Apr 30 19:12:28 2015 +0900
+++ b/tests/test-up-local-change.t	Thu Apr 30 17:50:50 2015 -0500
@@ -55,7 +55,7 @@
   picked tool 'true' for a (binary False symlink False)
   merging a
   my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
-  launching merge tool: true $TESTTMP/r2/a * (glob)
+  launching merge tool: true *$TESTTMP/r2/a* * (glob)
   merge tool returned: 0
   1 files updated, 1 files merged, 0 files removed, 0 files unresolved
   $ hg parents
@@ -78,7 +78,7 @@
   picked tool 'true' for a (binary False symlink False)
   merging a
   my a@1e71731e6fbb+ other a@c19d34741b0a ancestor a@1e71731e6fbb
-  launching merge tool: true $TESTTMP/r2/a * (glob)
+  launching merge tool: true *$TESTTMP/r2/a* * (glob)
   merge tool returned: 0
   0 files updated, 1 files merged, 1 files removed, 0 files unresolved
   $ hg parents
@@ -109,7 +109,7 @@
   picked tool 'true' for a (binary False symlink False)
   merging a
   my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
-  launching merge tool: true $TESTTMP/r2/a * (glob)
+  launching merge tool: true *$TESTTMP/r2/a* * (glob)
   merge tool returned: 0
   1 files updated, 1 files merged, 0 files removed, 0 files unresolved
   $ hg parents