tests: add glob matching for unified tests
authorBrodie Rao <brodie@bitheap.org>
Wed, 22 Sep 2010 16:06:02 -0500
changeset 12376 97ffc68f71d3
parent 12375 02990e22150b
child 12377 a5b77eb0409b
tests: add glob matching for unified tests This adds a " (glob)" marker that works like a simpler version of (re): "*" is converted to ".*", and "?" is converted to ".". Both special characters can be escaped using "\", and the backslash itself can be escaped as well. Other glob-style syntax, like "**", "[chars]", or "[!chars]", isn't supported.
tests/run-tests.py
tests/test-archive.t
tests/test-audit-path.t
tests/test-bad-extension.t
tests/test-bad-pull.t
tests/test-bookmarks-rebase.t
tests/test-bookmarks-strip.t
tests/test-clone.t
tests/test-default-push.t
tests/test-globalopts.t
tests/test-help.t
tests/test-hgignore.t
tests/test-hgrc.t
tests/test-hook.t
tests/test-install.t
tests/test-journal-exists.t
tests/test-keyword.t
tests/test-mq-merge.t
tests/test-mq-qfold.t
tests/test-mq-qrefresh.t
tests/test-mq-safety.t
tests/test-mq-strip.t
tests/test-mq.t
tests/test-patchbomb.t
tests/test-paths.t
tests/test-permissions.t
tests/test-push-validation.t
tests/test-relink.t
tests/test-rename.t
tests/test-run-tests.t
tests/test-subrepo-deep-nested-change.t
tests/test-subrepo-paths.t
tests/test-subrepo-recursion.t
tests/test-subrepo-svn.t
tests/test-subrepo.t
tests/test-tags.t
tests/test-transplant.t
tests/test-url-rev.t
tests/test-walk.t
--- a/tests/run-tests.py	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/run-tests.py	Wed Sep 22 16:06:02 2010 -0500
@@ -509,6 +509,25 @@
             # el is an invalid regex
             return False
 
+    def globmatch(el, l):
+        # The only supported special characters are * and ?. Escaping is
+        # supported.
+        i, n = 0, len(el)
+        res = ''
+        while i < n:
+            c = el[i]
+            i += 1
+            if c == '\\' and el[i] in '*?\\':
+                res += el[i-1:i+1]
+                i += 1
+            elif c == '*':
+                res += '.*'
+            elif c == '?':
+                res += '.'
+            else:
+                res += re.escape(c)
+        return rematch(res, l)
+
     pos = -1
     postout = []
     ret = 0
@@ -528,8 +547,10 @@
 
             if el == l: # perfect match (fast)
                 postout.append("  " + l)
-            elif el and el.endswith(" (re)\n") and rematch(el[:-6] + '\n', l):
-                postout.append("  " + el) # fallback regex match
+            elif (el and
+                  (el.endswith(" (re)\n") and rematch(el[:-6] + '\n', l) or
+                   el.endswith(" (glob)\n") and globmatch(el[:-8] + '\n', l))):
+                postout.append("  " + el) # fallback regex/glob match
             else:
                 postout.append("  " + l) # let diff deal with it
 
--- a/tests/test-archive.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-archive.t	Wed Sep 22 16:06:02 2010 -0500
@@ -228,8 +228,8 @@
   $ unzip -l ../old.zip
   Archive:  ../old.zip
   \s*Length.* (re)
-  .*-----.* (re)
-  .*147.*80.*00:00.*old/\.hg_archival\.txt (re)
-  .*0.*80.*00:00.*old/old (re)
-  .*-----.* (re)
+  *-----* (glob)
+  *147*80*00:00*old/.hg_archival.txt (glob)
+  *0*80*00:00*old/old (glob)
+  *-----* (glob)
   \s*147\s+2 files (re)
--- a/tests/test-audit-path.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-audit-path.t	Wed Sep 22 16:06:02 2010 -0500
@@ -78,5 +78,5 @@
   $ hg manifest -r4
   /tmp/test
   $ hg update -Cr4
-  abort: No such file or directory: .*/test-audit-path\.t/target//tmp/test (re)
+  abort: No such file or directory: */test-audit-path.t/target//tmp/test (glob)
   [255]
--- a/tests/test-bad-extension.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-bad-extension.t	Wed Sep 22 16:06:02 2010 -0500
@@ -8,7 +8,7 @@
   $ echo "badext2 =" >> $HGRCPATH
 
   $ hg -q help help
-  \*\*\* failed to import extension badext from .*/badext.py: bit bucket overflow (re)
+  \*\*\* failed to import extension badext from */badext.py: bit bucket overflow (glob)
   *** failed to import extension badext2: No module named badext2
   hg help [TOPIC]
   
--- a/tests/test-bad-pull.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-bad-pull.t	Wed Sep 22 16:06:02 2010 -0500
@@ -24,7 +24,7 @@
   $ sleep 1
 
   $ hg clone http://localhost:$HGPORT/foo copy2 2>&1
-  abort: HTTP Error 404: .* (re)
+  abort: HTTP Error 404: * (glob)
   [255]
 
   $ kill $!
--- a/tests/test-bookmarks-rebase.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-bookmarks-rebase.t	Wed Sep 22 16:06:02 2010 -0500
@@ -37,7 +37,7 @@
 rebase
 
   $ hg rebase -s two -d one
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
 
   $ hg log
   changeset:   3:9163974d1cb5
--- a/tests/test-bookmarks-strip.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-bookmarks-strip.t	Wed Sep 22 16:06:02 2010 -0500
@@ -50,7 +50,7 @@
 strip to revision 1
 
   $ hg strip 1
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
 
 list bookmarks
 
--- a/tests/test-clone.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-clone.t	Wed Sep 22 16:06:02 2010 -0500
@@ -80,7 +80,7 @@
 
   $ hg clone -q -U --config 'paths.foobar=a#0' foobar f
   $ hg -R f showconfig paths.default
-  .*/a#0 (re)
+  */a#0 (glob)
 
 Use --pull:
 
--- a/tests/test-default-push.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-default-push.t	Wed Sep 22 16:06:02 2010 -0500
@@ -18,7 +18,7 @@
 Push should push to 'default' when 'default-push' not set:
 
   $ hg --cwd b push
-  pushing to .*/a (re)
+  pushing to */a (glob)
   searching for changes
   adding changesets
   adding manifests
@@ -29,7 +29,7 @@
 
   $ echo 'default-push = ../c' >> b/.hg/hgrc
   $ hg --cwd b push
-  pushing to .*/c (re)
+  pushing to */c (glob)
   searching for changes
   adding changesets
   adding manifests
--- a/tests/test-globalopts.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-globalopts.t	Wed Sep 22 16:06:02 2010 -0500
@@ -240,12 +240,12 @@
 
   $ hg --cwd a --time id
   8580ff50825a tip
-  Time: real .* (re)
+  Time: real * (glob)
 
 Testing --version:
 
   $ hg --version -q
-  Mercurial Distributed SCM .* (re)
+  Mercurial Distributed SCM * (glob)
 
 Testing -h/--help:
 
--- a/tests/test-help.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-help.t	Wed Sep 22 16:06:02 2010 -0500
@@ -189,7 +189,7 @@
 Test short command list with verbose option
 
   $ hg -v help shortlist
-  Mercurial Distributed SCM \(version .*\) (re)
+  Mercurial Distributed SCM (version *) (glob)
   
   Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
   This is free software; see the source for copying conditions. There is NO
@@ -341,7 +341,7 @@
 Test help option with version option
 
   $ hg add -h --version
-  Mercurial Distributed SCM \(version .+?\) (re)
+  Mercurial Distributed SCM (version *) (glob)
   
   Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others
   This is free software; see the source for copying conditions. There is NO
--- a/tests/test-hgignore.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-hgignore.t	Wed Sep 22 16:06:02 2010 -0500
@@ -44,7 +44,7 @@
 
   $ echo "*.o" > .hgignore
   $ hg status
-  abort: .*/\.hgignore: invalid pattern \(relre\): \*\.o (re)
+  abort: */.hgignore: invalid pattern (relre): \*.o (glob)
   [255]
 
   $ echo ".*\.o" > .hgignore
@@ -88,7 +88,7 @@
 
   $ echo "syntax: invalid" > .hgignore
   $ hg status
-  .*/\.hgignore: ignoring invalid syntax 'invalid' (re)
+  */.hgignore: ignoring invalid syntax 'invalid' (glob)
   A dir/b.o
   ? .hgignore
   ? a.c
--- a/tests/test-hgrc.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-hgrc.t	Wed Sep 22 16:06:02 2010 -0500
@@ -1,6 +1,6 @@
   $ echo "invalid" > $HGRCPATH
   $ hg version
-  hg: parse error at .*/\.hgrc:1: invalid (re)
+  hg: parse error at */.hgrc:1: invalid (glob)
   [255]
   $ echo "" > $HGRCPATH
 
@@ -14,12 +14,12 @@
   $ cd foobar
   $ cat .hg/hgrc
   [paths]
-  default = .*/foo%bar (re)
+  default = */foo%bar (glob)
   $ hg paths
-  default = .*/foo%bar (re)
+  default = */foo%bar (glob)
   $ hg showconfig
-  bundle\.mainreporoot=.*/foobar (re)
-  paths\.default=.*/foo%bar (re)
+  bundle.mainreporoot=*/foobar (glob)
+  paths.default=*/foo%bar (glob)
   $ cd ..
 
 issue1829: wrong indentation
@@ -27,7 +27,7 @@
   $ echo '[foo]' > $HGRCPATH
   $ echo '  x = y' >> $HGRCPATH
   $ hg version
-  hg: parse error at .*/\.hgrc:2:   x = y (re)
+  hg: parse error at */.hgrc:2:   x = y (glob)
   [255]
 
   $ python -c "print '[foo]\nbar = a\n b\n c \n  de\n fg \nbaz = bif cb \n'" \
@@ -40,7 +40,7 @@
   $ export FAKEPATH
   $ echo '%include $FAKEPATH/no-such-file' > $HGRCPATH
   $ hg version
-  hg: parse error at .*/\.hgrc:1: cannot include /path/to/nowhere/no-such-file \(No such file or directory\) (re)
+  hg: parse error at */.hgrc:1: cannot include /path/to/nowhere/no-such-file (No such file or directory) (glob)
   [255]
   $ unset FAKEPATH
 
@@ -90,23 +90,23 @@
 customized hgrc
 
   $ hg showconfig
-  read config from: .*/\.hgrc (re)
-  .*/\.hgrc:13: alias\.log=log -g (re)
-  .*/\.hgrc:11: defaults\.identify=-n (re)
-  .*/\.hgrc:2: ui\.debug=true (re)
-  .*/\.hgrc:3: ui\.fallbackencoding=ASCII (re)
-  .*/\.hgrc:4: ui\.quiet=true (re)
-  .*/\.hgrc:5: ui\.slash=true (re)
-  .*/\.hgrc:6: ui\.traceback=true (re)
-  .*/\.hgrc:7: ui\.verbose=true (re)
-  .*/\.hgrc:8: ui\.style=~/.hgstyle (re)
-  .*/\.hgrc:9: ui\.logtemplate=\{node\} (re)
+  read config from: */.hgrc (glob)
+  */.hgrc:13: alias.log=log -g (glob)
+  */.hgrc:11: defaults.identify=-n (glob)
+  */.hgrc:2: ui.debug=true (glob)
+  */.hgrc:3: ui.fallbackencoding=ASCII (glob)
+  */.hgrc:4: ui.quiet=true (glob)
+  */.hgrc:5: ui.slash=true (glob)
+  */.hgrc:6: ui.traceback=true (glob)
+  */.hgrc:7: ui.verbose=true (glob)
+  */.hgrc:8: ui.style=~/.hgstyle (glob)
+  */.hgrc:9: ui.logtemplate={node} (glob)
 
 plain hgrc
 
   $ HGPLAIN=; export HGPLAIN
   $ hg showconfig --config ui.traceback=True --debug
-  read config from: .*/\.hgrc (re)
+  read config from: */.hgrc (glob)
   none: ui.traceback=True
   none: ui.verbose=False
   none: ui.debug=True
--- a/tests/test-hook.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-hook.t	Wed Sep 22 16:06:02 2010 -0500
@@ -415,12 +415,12 @@
   $ echo >> foo
   $ hg ci --debug -d '0 0' -m 'change foo'
   foo
-  calling hook commit\.auto: <function autohook at .*> (re)
+  calling hook commit.auto: <function autohook at *> (glob)
   Automatically installed hook
   committed changeset 1:52998019f6252a2b893452765fcb0a47351a5708
 
   $ hg showconfig hooks
-  hooks\.commit\.auto=<function autohook at .*> (re)
+  hooks.commit.auto=<function autohook at *> (glob)
 
 test python hook configured with python:[file]:[hook] syntax
 
--- a/tests/test-install.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-install.t	Wed Sep 22 16:06:02 2010 -0500
@@ -1,7 +1,7 @@
 hg debuginstall
   $ hg debuginstall
   Checking encoding (ascii)...
-  Checking installed modules \(.*/mercurial\)\.\.\. (re)
+  Checking installed modules (*/mercurial)... (glob)
   Checking templates...
   Checking patch...
   Checking commit editor...
@@ -11,7 +11,7 @@
 hg debuginstall with no username
   $ HGUSER= hg debuginstall
   Checking encoding (ascii)...
-  Checking installed modules \(.*/mercurial\)\.\.\. (re)
+  Checking installed modules (*/mercurial)... (glob)
   Checking templates...
   Checking patch...
   Checking commit editor...
--- a/tests/test-journal-exists.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-journal-exists.t	Wed Sep 22 16:06:02 2010 -0500
@@ -27,7 +27,7 @@
 
   $ hg -R foo unbundle repo.hg
   adding changesets
-  abort: Permission denied: .* (re)
+  abort: Permission denied: * (glob)
   [255]
 
   $ if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi
--- a/tests/test-keyword.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-keyword.t	Wed Sep 22 16:06:02 2010 -0500
@@ -27,13 +27,13 @@
   Revision = {node|short}
   Source = {root}/{file},v
   $Author: test $
-  \$Date: ..../../.. ..:..:.. \$ (re)
-  \$Header: .*/demo\.txt,v ............ ..../../.. ..:..:.. test \$ (re)
-  \$Id: demo\.txt,v ............ ..../../.. ..:..:.. test \$ (re)
+  $Date: ????/??/?? ??:??:?? $ (glob)
+  $Header: */demo.txt,v ???????????? ????/??/?? ??:??:?? test $ (glob)
+  $Id: demo.txt,v ???????????? ????/??/?? ??:??:?? test $ (glob)
   $RCSFile: demo.txt,v $
   $RCSfile: demo.txt,v $
-  \$Revision: ............ \$ (re)
-  \$Source: .*/demo.txt,v \$ (re)
+  $Revision: ???????????? $ (glob)
+  $Source: */demo.txt,v $ (glob)
 
   $ hg --quiet kwdemo "Branch = {branches}"
   [extensions]
@@ -71,7 +71,7 @@
  hg bundle --base null ../test-keyword.hg
 
   $ hg pull -u "$TESTDIR"/test-keyword.hg
-  pulling from .*test-keyword\.hg (re)
+  pulling from *test-keyword.hg (glob)
   requesting all changes
   adding changesets
   adding manifests
@@ -150,7 +150,7 @@
   do not process $Id:
   xxx $
   ignore $Id$
-  a.* (re)
+  a* (glob)
 
 Test hook execution
 
@@ -195,15 +195,15 @@
   Content-Type: text/plain; charset="us-ascii"
   MIME-Version: 1.0
   Content-Transfer-Encoding: 7bit
-  Date: .* (re)
-  Subject: changeset in .* (re)
+  Date: * (glob)
+  Subject: changeset in * (glob)
   From: mercurial
   X-Hg-Notification: changeset a2392c293916
-  Message-Id: <hg\.a2392c293916.*> (re)
+  Message-Id: <hg.a2392c293916*> (glob)
   To: Test
   
-  changeset a2392c293916 in .* (re)
-  details: .*\?cmd=changeset;node=a2392c293916 (re)
+  changeset a2392c293916 in * (glob)
+  details: *cmd=changeset;node=a2392c293916 (glob)
   description:
   	addsym
   
@@ -218,15 +218,15 @@
   Content-Type: text/plain; charset="us-ascii"
   MIME-Version: 1.0
   Content-Transfer-Encoding: 7bit
-  Date:.* (re)
-  Subject: changeset in.* (re)
+  Date:* (glob)
+  Subject: changeset in* (glob)
   From: User Name <user@example.com>
   X-Hg-Notification: changeset ef63ca68695b
-  Message-Id: <hg\.ef63ca68695b.*> (re)
+  Message-Id: <hg.ef63ca68695b*> (glob)
   To: Test
   
-  changeset ef63ca68695b in .* (re)
-  details: .*\?cmd=changeset;node=ef63ca68695b (re)
+  changeset ef63ca68695b in * (glob)
+  details: *cmd=changeset;node=ef63ca68695b (glob)
   description:
   	absym
   
@@ -335,7 +335,7 @@
   $ hg diff
   diff -r d17e03c92c97 a
   --- a/a	Wed Dec 31 23:59:51 1969 -0000
-  \+\+\+ b/a	.* (re)
+  +++ b/a	* (glob)
   @@ -2,3 +2,4 @@
    foo
    do not process $Id:
@@ -479,7 +479,7 @@
   $ hg diff --rev 1
   diff -r ef63ca68695b c
   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-  \+\+\+ b/c	.* (re)
+  +++ b/c	* (glob)
   @@ -0,0 +1,3 @@
   +expand $Id$
   +do not process $Id:
@@ -527,7 +527,7 @@
   do not process $Id:
   xxx $
   ignore $Id$
-  a.* (re)
+  a* (glob)
 
 Write custom keyword and prepare multiline commit message
 
@@ -577,7 +577,7 @@
   xxx $
   $Xinfo: User Name <user@example.com>: firstline $
   ignore $Id$
-  a.* (re)
+  a* (glob)
 
 annotate
 
@@ -648,7 +648,7 @@
   > default = ../Test
   > EOF
   $ hg incoming
-  comparing with .*test-keyword\.t/Test (re)
+  comparing with *test-keyword.t/Test (glob)
   searching for changes
   changeset:   2:bb948857c743
   tag:         tip
@@ -718,7 +718,7 @@
 kwexpand nonexistent
 
   $ hg kwexpand nonexistent
-  nonexistent:.* (re)
+  nonexistent:* (glob)
 
 
 hg serve
@@ -907,7 +907,7 @@
   xxx $
   $Xinfo: User Name <user@example.com>: firstline $
   ignore $Id$
-  a.* (re)
+  a* (glob)
 
 Now disable keyword expansion
 
@@ -924,4 +924,4 @@
   xxx $
   $Xinfo$
   ignore $Id$
-  a.* (re)
+  a* (glob)
--- a/tests/test-mq-merge.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-mq-merge.t	Wed Sep 22 16:06:02 2010 -0500
@@ -32,7 +32,7 @@
 Save the patch queue so we can merge it later:
 
   $ hg qsave -c -e
-  copy .*/t/\.hg/patches to .*/t/\.hg/patches\.1 (re)
+  copy */t/.hg/patches to */t/.hg/patches.1 (glob)
   $ checkundo
 
 Update b and commit in an "update" changeset:
@@ -52,7 +52,7 @@
   b
 
   $ hg qpush -a -m
-  merging with queue at: .*/t/\.hg/patches\.1 (re)
+  merging with queue at: */t/.hg/patches.1 (glob)
   applying rm_a
   now at: rm_a
 
@@ -91,14 +91,14 @@
 Create the reference queue:
 
   $ hg qsave -c -e -n refqueue
-  copy .*/t2/\.hg/patches to .*/t2/\.hg/refqueue (re)
+  copy */t2/.hg/patches to */t2/.hg/refqueue (glob)
   $ hg up -C 1
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 
 Merge:
 
   $ HGMERGE=internal:other hg qpush -a -m -n refqueue
-  merging with queue at: .*/t2/\.hg/refqueue (re)
+  merging with queue at: */t2/.hg/refqueue (glob)
   applying patcha
   patching file a
   Hunk #1 FAILED at 0
@@ -138,10 +138,10 @@
 
   $ cat .hg/patches/patcha2
   # HG changeset patch
-  # Parent ........................................ (re)
+  # Parent ???????????????????????????????????????? (glob)
   # Date 0 0
   
-  diff -r ............ -r ............ a (re)
+  diff -r ???????????? -r ???????????? a (glob)
   --- a/a
   +++ b/a
   @@ -1,2 +1,3 @@
--- a/tests/test-mq-qfold.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-mq-qfold.t	Wed Sep 22 16:06:02 2010 -0500
@@ -59,7 +59,7 @@
   [255]
 
   $ hg diff -c .
-  diff -r 07f494440405 -r ............ a (re)
+  diff -r 07f494440405 -r ???????????? a (glob)
   --- a/a
   +++ b/a
   @@ -1,1 +1,3 @@
@@ -85,7 +85,7 @@
 
   $ cat .hg/patches/regular
   # HG changeset patch
-  # Parent ........................................ (re)
+  # Parent ???????????????????????????????????????? (glob)
   
   diff --git a/a b/a
   --- a/a
@@ -127,7 +127,7 @@
 
   $ cat .hg/patches/git
   # HG changeset patch
-  # Parent ........................................ (re)
+  # Parent ???????????????????????????????????????? (glob)
   
   diff --git a/a b/aa
   copy from a
--- a/tests/test-mq-qrefresh.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-mq-qrefresh.t	Wed Sep 22 16:06:02 2010 -0500
@@ -255,7 +255,7 @@
 diff shows what is not in patch:
 
   $ hg diff
-  diff -r ............ orphanchild (re)
+  diff -r ???????????? orphanchild (glob)
   --- /dev/null
   +++ b/orphanchild
   @@ -0,0 +1,1 @@
--- a/tests/test-mq-safety.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-mq-safety.t	Wed Sep 22 16:06:02 2010 -0500
@@ -39,7 +39,7 @@
   abort: popping would remove a revision not managed by this patch queue
   [255]
   $ hg qpop -n patches
-  using patch queue: .*/repo/\.hg/patches (re)
+  using patch queue: */repo/.hg/patches (glob)
   abort: popping would remove a revision not managed by this patch queue
   [255]
   $ hg qrefresh
--- a/tests/test-mq-strip.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-mq-strip.t	Wed Sep 22 16:06:02 2010 -0500
@@ -77,7 +77,7 @@
   summary:     e
   
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   % after update 4, strip 4
   changeset:   3:65bd5f99a4a3
   tag:         tip
@@ -96,7 +96,7 @@
   summary:     e
   
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   % after update 4, strip 3
   changeset:   1:ef3a871183d7
   user:        test
@@ -111,7 +111,7 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     b
   
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   % after update 1, strip 4
   changeset:   1:ef3a871183d7
   user:        test
@@ -127,7 +127,7 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     e
   
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   % after update 4, strip 2
   changeset:   3:443431ffac4f
   tag:         tip
@@ -146,7 +146,7 @@
   summary:     c
   
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   % after update 4, strip 1
   changeset:   0:9ab35a2d17cb
   tag:         tip
@@ -157,7 +157,7 @@
   $ teststrip null 4
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   % before update null, strip 4
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   % after update null, strip 4
 
   $ hg log
@@ -212,7 +212,7 @@
   
   $ hg strip 4
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
 
 after strip of merge parent
 
@@ -258,7 +258,7 @@
 2 is parent of 3, only one strip should happen
 
   $ hg strip 2 3
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   $ hg glog
   @  changeset:   2:264128213d29
   |  tag:         tip
@@ -310,8 +310,8 @@
 
   $ hg strip 2 4
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
+  saved backup bundle to * (glob)
   $ hg glog
   @  changeset:   2:65bd5f99a4a3
   |  tag:         tip
@@ -335,14 +335,14 @@
 
   $ hg strip 1 2 4
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   $ restore
 
 
 remove branchy history for qimport tests
 
   $ hg strip 3
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
 
 
 strip of applied mq should cleanup status file
@@ -364,7 +364,7 @@
 
   $ hg strip 3
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
 
 applied patches after stripping rev in queue
 
@@ -375,7 +375,7 @@
 
   $ hg strip 1
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
 
 applied patches after stripping ancestor of queue
 
--- a/tests/test-mq.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-mq.t	Wed Sep 22 16:06:02 2010 -0500
@@ -135,7 +135,7 @@
   guards
   $ cat .hg/patches/series
   $ hg qinit -c
-  abort: repository .* already exists! (re)
+  abort: repository * already exists! (glob)
   [255]
   $ cd ..
 
@@ -737,7 +737,7 @@
   adding x
   $ hg strip tip
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   $ hg unbundle .hg/strip-backup/*
   adding changesets
   adding manifests
@@ -760,7 +760,7 @@
 
   $ hg strip -f tip
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
 
 
 cd b; hg qrefresh
@@ -1118,7 +1118,7 @@
   
   $ hg strip 1
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   $ checkundo strip
   $ hg log
   changeset:   1:20cbbe65cff7
--- a/tests/test-patchbomb.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-patchbomb.t	Wed Sep 22 16:06:02 2010 -0500
@@ -25,8 +25,8 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH] a
   X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
-  Message-Id: <8580ff50825a50c8f716\.60@.* (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  Message-Id: <8580ff50825a50c8f716.60@* (glob)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Thu, 01 Jan 1970 00:01:00 +0000
   From: quux
   To: foo
@@ -81,7 +81,7 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 0 of 2] test
   Message-Id: <patchbomb\.120@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Thu, 01 Jan 1970 00:02:00 +0000
   From: quux
   To: foo
@@ -97,7 +97,7 @@
   Message-Id: <8580ff50825a50c8f716\.121@[^>]*> (re)
   In-Reply-To: <patchbomb\.120@[^>]*> (re)
   References: <patchbomb\.120@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Thu, 01 Jan 1970 00:02:01 +0000
   From: quux
   To: foo
@@ -125,7 +125,7 @@
   Message-Id: <97d72e5f12c7e84f8506\.122@[^>]*> (re)
   In-Reply-To: <patchbomb\.120@[^>]*> (re)
   References: <patchbomb\.120@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Thu, 01 Jan 1970 00:02:02 +0000
   From: quux
   To: foo
@@ -241,8 +241,8 @@
   Content-Transfer-Encoding: base64
   Subject: [PATCH] charset=utf-8; content-transfer-encoding: base64
   X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
-  Message-Id: <c3c9e37db9f4fe4882cd\.240@.* (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  Message-Id: <c3c9e37db9f4fe4882cd.240@* (glob)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Thu, 01 Jan 1970 00:04:00 +0000
   From: quux
   To: foo
@@ -1810,8 +1810,8 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH] test
   X-Mercurial-Node: 8580ff50825a50c8f716709acdf8de0deddcd6ab
-  Message-Id: <8580ff50825a50c8f716\.315532860@.* (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  Message-Id: <8580ff50825a50c8f716.315532860@* (glob)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:00 +0000
   From: quux
   To: bar@xn--nicode-2ya.com
@@ -1857,8 +1857,8 @@
   MIME-Version: 1.0
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 0 of 8] test
-  Message-Id: <patchbomb\.315532860@.* (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  Message-Id: <patchbomb.315532860@* (glob)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:00 +0000
   From: test
   To: foo
@@ -1870,10 +1870,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 1 of 8] c
   X-Mercurial-Node: ff2c9fa2018b15fa74b33363bda9527323e2a99f
-  Message-Id: <ff2c9fa2018b15fa74b3\.315532861@.* (re)
+  Message-Id: <ff2c9fa2018b15fa74b3.315532861@* (glob)
   In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
   References: <patchbomb\.315532860@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:01 +0000
   From: test
   To: foo
@@ -1897,10 +1897,10 @@
   Content-Transfer-Encoding: 8bit
   Subject: [PATCH 2 of 8] charset=utf-8; content-transfer-encoding: base64
   X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a
-  Message-Id: <c3c9e37db9f4fe4882cd\.315532862@.* (re)
+  Message-Id: <c3c9e37db9f4fe4882cd.315532862@* (glob)
   In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
   References: <patchbomb\.315532860@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:02 +0000
   From: test
   To: foo
@@ -1932,10 +1932,10 @@
   Subject: [PATCH 3 of 8] charset=utf-8;
    content-transfer-encoding: quoted-printable
   X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376
-  Message-Id: <c655633f8c87700bb38c\.315532863@.* (re)
+  Message-Id: <c655633f8c87700bb38c.315532863@* (glob)
   In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
   References: <patchbomb\.315532860@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:03 +0000
   From: test
   To: foo
@@ -1975,10 +1975,10 @@
   Content-Transfer-Encoding: 8bit
   Subject: [PATCH 4 of 8] charset=us-ascii; content-transfer-encoding: 8bit
   X-Mercurial-Node: 22d0f96be12f5945fd67d101af58f7bc8263c835
-  Message-Id: <22d0f96be12f5945fd67\.315532864@.* (re)
+  Message-Id: <22d0f96be12f5945fd67.315532864@* (glob)
   In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
   References: <patchbomb\.315532860@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:04 +0000
   From: test
   To: foo
@@ -2002,10 +2002,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a
   X-Mercurial-Node: dd9c2b4b8a8a0934d5523c15f2c119b362360903
-  Message-Id: <dd9c2b4b8a8a0934d552\.315532865@.* (re)
+  Message-Id: <dd9c2b4b8a8a0934d552.315532865@* (glob)
   In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
   References: <patchbomb\.315532860@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:05 +0000
   From: test
   To: foo
@@ -2030,10 +2030,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7
   X-Mercurial-Node: eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff
-  Message-Id: <eae5fcf795eee29d0e45\.315532866@.* (re)
+  Message-Id: <eae5fcf795eee29d0e45.315532866@* (glob)
   In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
   References: <patchbomb\.315532860@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:06 +0000
   From: test
   To: foo
@@ -2060,10 +2060,10 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b
   X-Mercurial-Node: e317db6a6f288748d1f6cb064f3810fcba66b1b6
-  Message-Id: <e317db6a6f288748d1f6\.315532867@.* (re)
+  Message-Id: <e317db6a6f288748d1f6.315532867@* (glob)
   In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
   References: <patchbomb\.315532860@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:07 +0000
   From: test
   To: foo
@@ -2094,7 +2094,7 @@
   Message-Id: <2f9fa9b998c5fe3ac2bd\.315532868[^>]*> (re)
   In-Reply-To: <patchbomb\.315532860@[^>]*> (re)
   References: <patchbomb\.315532860@[^>]*> (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:08 +0000
   From: test
   To: foo
@@ -2129,8 +2129,8 @@
   Content-Transfer-Encoding: 7bit
   Subject: [PATCH] test
   X-Mercurial-Node: 2f9fa9b998c5fe3ac2bd9a2b14bfcbeecbc7c268
-  Message-Id: <2f9fa9b998c5fe3ac2bd\.315532860@.* (re)
-  User-Agent: Mercurial-patchbomb/.* (re)
+  Message-Id: <2f9fa9b998c5fe3ac2bd.315532860@* (glob)
+  User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:00 +0000
   From: test
   To: foo
--- a/tests/test-paths.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-paths.t	Wed Sep 22 16:06:02 2010 -0500
@@ -6,11 +6,11 @@
   $ echo '[paths]' >> .hg/hgrc
   $ echo 'dupe = ../b' >> .hg/hgrc
   $ hg in dupe
-  comparing with .*/test-paths\.t/b (re)
+  comparing with */test-paths.t/b (glob)
   no changes found
   [1]
   $ cd ..
   $ hg -R a in dupe
-  comparing with .*/test-paths\.t/b (re)
+  comparing with */test-paths.t/b (glob)
   no changes found
   [1]
--- a/tests/test-permissions.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-permissions.t	Wed Sep 22 16:06:02 2010 -0500
@@ -20,7 +20,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  abort: Permission denied: .* (re)
+  abort: Permission denied: * (glob)
   [255]
 
   $ chmod +r .hg/store/data/a.i
@@ -37,7 +37,7 @@
   $ echo barber > a
   $ hg commit -m "2"
   trouble committing a!
-  abort: Permission denied: .* (re)
+  abort: Permission denied: * (glob)
   [255]
 
   $ chmod -w .
--- a/tests/test-push-validation.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-push-validation.t	Wed Sep 22 16:06:02 2010 -0500
@@ -40,7 +40,7 @@
 Expected to fail:
 
   $ hg push
-  pushing to .* (re)
+  pushing to * (glob)
   searching for changes
   adding changesets
   adding manifests
--- a/tests/test-relink.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-relink.t	Wed Sep 22 16:06:02 2010 -0500
@@ -60,7 +60,7 @@
 relink
 
   $ hg relink --debug | fix_path
-  relinking .*/\.hg/store (re)
+  relinking */.hg/store (glob)
   tip has 2 files, estimated total number of files: 3
   collecting: 00changelog.i 1/3 files (33.33%)
   collecting: 00manifest.i 2/3 files (66.67%)
--- a/tests/test-rename.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-rename.t	Wed Sep 22 16:06:02 2010 -0500
@@ -263,8 +263,8 @@
   R d1/ba
   R d1/d11/a1
   $ diff -u d1/b d2/b
-  --- d1/b	.* (re)
-  \+\+\+ d2/b	.* (re)
+  --- d1/b	* (glob)
+  +++ d2/b	* (glob)
   @@ -1 +1 @@
   -d1/b
   +d2/b
--- a/tests/test-run-tests.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-run-tests.t	Wed Sep 22 16:06:02 2010 -0500
@@ -21,6 +21,11 @@
   $ echo barbazquux
   .*quux.* (re)
 
+Globs:
+
+  $ echo '* \\foobarbaz {10}'
+  \* \\fo?bar* {10} (glob)
+
 Literal match ending in " (re)":
 
   $ echo 'foo (re)'
--- a/tests/test-subrepo-deep-nested-change.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-subrepo-deep-nested-change.t	Wed Sep 22 16:06:02 2010 -0500
@@ -27,7 +27,7 @@
   $ echo "sub1 = ../sub1" > main/.hgsub
   $ hg clone sub1 main/sub1
   updating to branch default
-  pulling subrepo sub2 from .*/sub2 (re)
+  pulling subrepo sub2 from */sub2 (glob)
   requesting all changes
   adding changesets
   adding manifests
@@ -55,13 +55,13 @@
 
   $ hg clone main cloned
   updating to branch default
-  pulling subrepo sub1 from .*/sub1 (re)
+  pulling subrepo sub1 from */sub1 (glob)
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 3 changes to 3 files
-  pulling subrepo sub1/sub2 from .*/sub2 (re)
+  pulling subrepo sub1/sub2 from */sub2 (glob)
   requesting all changes
   adding changesets
   adding manifests
--- a/tests/test-subrepo-paths.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-subrepo-paths.t	Wed Sep 22 16:06:02 2010 -0500
@@ -28,5 +28,5 @@
   > .* = \1
   > EOF
   $ hg debugsub
-  abort: bad subrepository pattern in .*/test-subrepo-paths\.t/outer/\.hg/hgrc:2: invalid group reference (re)
+  abort: bad subrepository pattern in */test-subrepo-paths.t/outer/.hg/hgrc:2: invalid group reference (glob)
   [255]
--- a/tests/test-subrepo-recursion.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-subrepo-recursion.t	Wed Sep 22 16:06:02 2010 -0500
@@ -252,13 +252,13 @@
   $ cd ..
   $ hg clone repo repo2
   updating to branch default
-  pulling subrepo foo from .*/test-subrepo-recursion\.t/repo/foo (re)
+  pulling subrepo foo from */test-subrepo-recursion.t/repo/foo (glob)
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 7 changes to 3 files
-  pulling subrepo foo/bar from .*/test-subrepo-recursion\.t/repo/foo/bar (re)
+  pulling subrepo foo/bar from */test-subrepo-recursion.t/repo/foo/bar (glob)
   requesting all changes
   adding changesets
   adding manifests
@@ -267,10 +267,10 @@
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd repo2
   $ hg outgoing -S
-  comparing with .*/test-subrepo-recursion\.t/repo (re)
+  comparing with */test-subrepo-recursion.t/repo (glob)
   searching for changes
   no changes found
-  comparing with .*/test-subrepo-recursion\.t/repo/foo (re)
+  comparing with */test-subrepo-recursion.t/repo/foo (glob)
   searching for changes
   no changes found
   [1]
@@ -290,7 +290,7 @@
   $ hg commit -m 3-4-2
   committing subrepository foo
   $ hg outgoing -S
-  comparing with .*/test-subrepo-recursion\.t/repo (re)
+  comparing with */test-subrepo-recursion.t/repo (glob)
   searching for changes
   changeset:   3:2655b8ecc4ee
   tag:         tip
@@ -298,7 +298,7 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     3-4-2
   
-  comparing with .*/test-subrepo-recursion\.t/repo/foo (re)
+  comparing with */test-subrepo-recursion.t/repo/foo (glob)
   searching for changes
   changeset:   4:e96193d6cb36
   tag:         tip
@@ -316,7 +316,7 @@
 Test incoming:
 
   $ hg incoming -S
-  comparing with .*/test-subrepo-recursion\.t/repo2 (re)
+  comparing with */test-subrepo-recursion.t/repo2 (glob)
   searching for changes
   changeset:   3:2655b8ecc4ee
   tag:         tip
@@ -324,7 +324,7 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     3-4-2
   
-  comparing with .*/test-subrepo-recursion\.t/repo2/foo (re)
+  comparing with */test-subrepo-recursion.t/repo2/foo (glob)
   searching for changes
   changeset:   4:e96193d6cb36
   tag:         tip
--- a/tests/test-subrepo-svn.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-subrepo-svn.t	Wed Sep 22 16:06:02 2010 -0500
@@ -86,7 +86,7 @@
   Transmitting file data .
   Committed revision 3.
   
-  Fetching external item into '.*/s/externals' (re)
+  Fetching external item into '*/s/externals' (glob)
   External at revision 1.
   
   At revision 3.
--- a/tests/test-subrepo.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-subrepo.t	Wed Sep 22 16:06:02 2010 -0500
@@ -236,19 +236,19 @@
   $ cd ..
   $ hg clone t tc
   updating to branch default
-  pulling subrepo s from .*/sub/t/s (re)
+  pulling subrepo s from */sub/t/s (glob)
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 5 changes to 3 files
-  pulling subrepo s/ss from .*/sub/t/s/ss (re)
+  pulling subrepo s/ss from */sub/t/s/ss (glob)
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  pulling subrepo t from .*/sub/t/t (re)
+  pulling subrepo t from */sub/t/t (glob)
   requesting all changes
   adding changesets
   adding manifests
@@ -270,14 +270,14 @@
   $ hg ci -m11
   committing subrepository t
   $ hg push
-  pushing .*sub/t (re)
-  pushing .*sub/t/s/ss (re)
+  pushing *sub/t (glob)
+  pushing *sub/t/s/ss (glob)
   searching for changes
   no changes found
-  pushing .*sub/t/s (re)
+  pushing *sub/t/s (glob)
   searching for changes
   no changes found
-  pushing .*sub/t/t (re)
+  pushing *sub/t/t (glob)
   searching for changes
   adding changesets
   adding manifests
@@ -295,27 +295,27 @@
   $ hg ci -m12
   committing subrepository s
   $ hg push
-  pushing .*sub/t (re)
-  pushing .*sub/t/s/ss (re)
+  pushing *sub/t (glob)
+  pushing *sub/t/s/ss (glob)
   searching for changes
   no changes found
-  pushing .*sub/t/s (re)
+  pushing *sub/t/s (glob)
   searching for changes
   abort: push creates new remote heads on branch 'default'!
   (did you forget to merge? use push -f to force)
   [255]
   $ hg push -f
-  pushing .*sub/t (re)
-  pushing .*sub/t/s/ss (re)
+  pushing *sub/t (glob)
+  pushing *sub/t/s/ss (glob)
   searching for changes
   no changes found
-  pushing .*sub/t/s (re)
+  pushing *sub/t/s (glob)
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  pushing .*sub/t/t (re)
+  pushing *sub/t/t (glob)
   searching for changes
   no changes found
   searching for changes
@@ -337,7 +337,7 @@
 
   $ cd ../tc
   $ hg pull
-  pulling .*sub/t (re)
+  pulling *sub/t (glob)
   searching for changes
   adding changesets
   adding manifests
@@ -348,7 +348,7 @@
 should pull t
 
   $ hg up
-  pulling subrepo t from .*/sub/t/t (re)
+  pulling subrepo t from */sub/t/t (glob)
   searching for changes
   adding changesets
   adding manifests
@@ -541,9 +541,9 @@
   $ cat mercurial2/main/nested_absolute/.hg/hgrc \
   >     mercurial2/main/nested_relative/.hg/hgrc
   [paths]
-  default = .*/test-subrepo\.t/sub/mercurial/nested_absolute (re)
+  default = */test-subrepo.t/sub/mercurial/nested_absolute (glob)
   [paths]
-  default = .*/test-subrepo\.t/sub/mercurial/nested_relative (re)
+  default = */test-subrepo.t/sub/mercurial/nested_relative (glob)
   $ rm -rf mercurial mercurial2
 
 issue 1977
@@ -559,7 +559,7 @@
   committing subrepository s
   $ hg clone repo repo2
   updating to branch default
-  pulling subrepo s from .*/sub/repo/s (re)
+  pulling subrepo s from */sub/repo/s (glob)
   requesting all changes
   adding changesets
   adding manifests
--- a/tests/test-tags.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-tags.t	Wed Sep 22 16:06:02 2010 -0500
@@ -299,7 +299,7 @@
 Strip 1: expose an old head:
 
   $ hg --config extensions.mq= strip 5
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   $ hg tags                  # partly stale cache
   tip                                5:735c3ca72986
   bar                                1:78391a272241
@@ -310,7 +310,7 @@
 Strip 2: destroy whole branch, no old head exposed
 
   $ hg --config extensions.mq= strip 4
-  saved backup bundle to .* (re)
+  saved backup bundle to * (glob)
   $ hg tags                  # partly stale
   tip                                4:735c3ca72986
   bar                                0:bbd179dfa0a7
--- a/tests/test-transplant.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-transplant.t	Wed Sep 22 16:06:02 2010 -0500
@@ -285,16 +285,16 @@
   > EOF
   $ chmod +x test-filter
   $ hg transplant -s ../t -b tip -a --filter ./test-filter
-  filtering .* (re)
+  filtering * (glob)
   applying 17ab29e464c6
   17ab29e464c6 transplanted to e9ffc54ea104
-  filtering .* (re)
+  filtering * (glob)
   applying 37a1297eb21b
   37a1297eb21b transplanted to 348b36d0b6a5
-  filtering .* (re)
+  filtering * (glob)
   applying 722f4667af76
   722f4667af76 transplanted to 0aa6979afb95
-  filtering .* (re)
+  filtering * (glob)
   applying a53251cdf717
   a53251cdf717 transplanted to 14f8512272b5
   $ hg log --template '{rev} {parents} {desc}\n'
@@ -316,7 +316,7 @@
   adding test-filter
   created new head
   $ hg transplant 1 --filter ./test-filter
-  filtering .* (re)
+  filtering * (glob)
   applying 348b36d0b6a5
   file b1 already exists
   1 out of 1 hunks FAILED -- saving rejects to file b1.rej
--- a/tests/test-url-rev.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-url-rev.t	Wed Sep 22 16:06:02 2010 -0500
@@ -42,7 +42,7 @@
   
   $ cat clone/.hg/hgrc
   [paths]
-  default = .*/repo#foo (re)
+  default = */repo#foo (glob)
 
 Changing original repo:
 
--- a/tests/test-walk.t	Wed Sep 22 16:06:00 2010 -0500
+++ b/tests/test-walk.t	Wed Sep 22 16:06:02 2010 -0500
@@ -216,7 +216,7 @@
   f  beans/pinto     beans/pinto
   f  beans/turtle    beans/turtle
   $ hg debugwalk `pwd`/..
-  abort: .*/\.\. not under root (re)
+  abort: */.. not under root (glob)
   [255]
 
 Test patterns: