# HG changeset patch # User Brodie Rao # Date 2010-09-22 21:06:02 # Node ID 97ffc68f71d3b5c08ae742411f89357e2d844d61 # Parent 02990e22150b69a2a71993e19c6786865afa93d1 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. diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -509,6 +509,25 @@ def tsttest(test, options): # 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 @@ def tsttest(test, options): 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 diff --git a/tests/test-archive.t b/tests/test-archive.t --- a/tests/test-archive.t +++ b/tests/test-archive.t @@ -228,8 +228,8 @@ old file -- date clamped to 1980 $ 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) diff --git a/tests/test-audit-path.t b/tests/test-audit-path.t --- a/tests/test-audit-path.t +++ b/tests/test-audit-path.t @@ -78,5 +78,5 @@ attack /tmp/test $ 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] diff --git a/tests/test-bad-extension.t b/tests/test-bad-extension.t --- a/tests/test-bad-extension.t +++ b/tests/test-bad-extension.t @@ -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] diff --git a/tests/test-bad-pull.t b/tests/test-bad-pull.t --- a/tests/test-bad-pull.t +++ b/tests/test-bad-pull.t @@ -24,7 +24,7 @@ give the server some time to start runni $ sleep 1 $ hg clone http://localhost:$HGPORT/foo copy2 2>&1 - abort: HTTP Error 404: .* (re) + abort: HTTP Error 404: * (glob) [255] $ kill $! diff --git a/tests/test-bookmarks-rebase.t b/tests/test-bookmarks-rebase.t --- a/tests/test-bookmarks-rebase.t +++ b/tests/test-bookmarks-rebase.t @@ -37,7 +37,7 @@ bookmark list rebase $ hg rebase -s two -d one - saved backup bundle to .* (re) + saved backup bundle to * (glob) $ hg log changeset: 3:9163974d1cb5 diff --git a/tests/test-bookmarks-strip.t b/tests/test-bookmarks-strip.t --- a/tests/test-bookmarks-strip.t +++ b/tests/test-bookmarks-strip.t @@ -50,7 +50,7 @@ bookmarks updated? strip to revision 1 $ hg strip 1 - saved backup bundle to .* (re) + saved backup bundle to * (glob) list bookmarks diff --git a/tests/test-clone.t b/tests/test-clone.t --- a/tests/test-clone.t +++ b/tests/test-clone.t @@ -80,7 +80,7 @@ Check that path aliases are expanded: $ 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: diff --git a/tests/test-default-push.t b/tests/test-default-push.t --- a/tests/test-default-push.t +++ b/tests/test-default-push.t @@ -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 @@ Push should push to 'default-push' when $ 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 diff --git a/tests/test-globalopts.t b/tests/test-globalopts.t --- a/tests/test-globalopts.t +++ b/tests/test-globalopts.t @@ -240,12 +240,12 @@ Testing --time: $ 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: diff --git a/tests/test-help.t b/tests/test-help.t --- a/tests/test-help.t +++ b/tests/test-help.t @@ -189,7 +189,7 @@ Short help: 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 and others This is free software; see the source for copying conditions. There is NO @@ -341,7 +341,7 @@ Verbose help for add 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 and others This is free software; see the source for copying conditions. There is NO diff --git a/tests/test-hgignore.t b/tests/test-hgignore.t --- a/tests/test-hgignore.t +++ b/tests/test-hgignore.t @@ -44,7 +44,7 @@ Should display baz only: $ 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 @@ Check it does not ignore the current dir $ 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 diff --git a/tests/test-hgrc.t b/tests/test-hgrc.t --- a/tests/test-hgrc.t +++ b/tests/test-hgrc.t @@ -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 @@ issue1199: escaping $ 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 @@ issue1829: wrong indentation $ 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 @@ issue1829: wrong indentation $ 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 @@ HGPLAIN 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 diff --git a/tests/test-hook.t b/tests/test-hook.t --- a/tests/test-hook.t +++ b/tests/test-hook.t @@ -415,12 +415,12 @@ make sure --traceback works $ echo >> foo $ hg ci --debug -d '0 0' -m 'change foo' foo - calling hook commit\.auto: (re) + calling hook commit.auto: (glob) Automatically installed hook committed changeset 1:52998019f6252a2b893452765fcb0a47351a5708 $ hg showconfig hooks - hooks\.commit\.auto= (re) + hooks.commit.auto= (glob) test python hook configured with python:[file]:[hook] syntax diff --git a/tests/test-install.t b/tests/test-install.t --- a/tests/test-install.t +++ b/tests/test-install.t @@ -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 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... diff --git a/tests/test-journal-exists.t b/tests/test-journal-exists.t --- a/tests/test-journal-exists.t +++ b/tests/test-journal-exists.t @@ -27,7 +27,7 @@ Check that zero-size journals are correc $ 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 diff --git a/tests/test-keyword.t b/tests/test-keyword.t --- a/tests/test-keyword.t +++ b/tests/test-keyword.t @@ -27,13 +27,13 @@ as it would succeed without uisetup othe 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 @@ A bundle to test this was made with: 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 @@ hg cat files and symlink, no expansion do not process $Id: xxx $ ignore $Id$ - a.* (re) + a* (glob) Test hook execution @@ -195,15 +195,15 @@ Pull from bundle and trigger notify 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: (re) + Message-Id: (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 @@ Pull from bundle and trigger notify 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 X-Hg-Notification: changeset ef63ca68695b - Message-Id: (re) + Message-Id: (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 @@ Diff remaining chunk $ 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 @@ Diff specific revision $ 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 @@ Cat and hg cat files before custom expan do not process $Id: xxx $ ignore $Id$ - a.* (re) + a* (glob) Write custom keyword and prepare multiline commit message @@ -577,7 +577,7 @@ Stat, verify and show custom expansion ( xxx $ $Xinfo: User Name : firstline $ ignore $Id$ - a.* (re) + a* (glob) annotate @@ -648,7 +648,7 @@ Clone to test incoming > 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 @@ kwshrink a inside directory x kwexpand nonexistent $ hg kwexpand nonexistent - nonexistent:.* (re) + nonexistent:* (glob) hg serve @@ -907,7 +907,7 @@ Keywords shrunk in working directory, bu xxx $ $Xinfo: User Name : firstline $ ignore $Id$ - a.* (re) + a* (glob) Now disable keyword expansion @@ -924,4 +924,4 @@ Now disable keyword expansion xxx $ $Xinfo$ ignore $Id$ - a.* (re) + a* (glob) diff --git a/tests/test-mq-merge.t b/tests/test-mq-merge.t --- a/tests/test-mq-merge.t +++ b/tests/test-mq-merge.t @@ -32,7 +32,7 @@ Create a patch removing a: 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 @@ Update b and commit in an "update" chang 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 @@ Classic MQ merge sequence *with an expli 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 @@ Check patcha2 is still a regular patch: $ 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 @@ diff --git a/tests/test-mq-qfold.t b/tests/test-mq-qfold.t --- a/tests/test-mq-qfold.t +++ b/tests/test-mq-qfold.t @@ -59,7 +59,7 @@ Fold with local changes: [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 @@ Fold git patch into a regular patch, exp $ cat .hg/patches/regular # HG changeset patch - # Parent ........................................ (re) + # Parent ???????????????????????????????????????? (glob) diff --git a/a b/a --- a/a @@ -127,7 +127,7 @@ Fold regular patch into a git patch, exp $ cat .hg/patches/git # HG changeset patch - # Parent ........................................ (re) + # Parent ???????????????????????????????????????? (glob) diff --git a/a b/aa copy from a diff --git a/tests/test-mq-qrefresh.t b/tests/test-mq-qrefresh.t --- a/tests/test-mq-qrefresh.t +++ b/tests/test-mq-qrefresh.t @@ -255,7 +255,7 @@ qrefresh --short tests: 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 @@ diff --git a/tests/test-mq-safety.t b/tests/test-mq-safety.t --- a/tests/test-mq-safety.t +++ b/tests/test-mq-safety.t @@ -39,7 +39,7 @@ qpop/qrefresh on the wrong revision 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 diff --git a/tests/test-mq-strip.t b/tests/test-mq-strip.t --- a/tests/test-mq-strip.t +++ b/tests/test-mq-strip.t @@ -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 @@ before strip of merge parent $ 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 @@ after strip of merge parent 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 @@ 2 different branches: 2 strips $ 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 @@ 2 different branches and a common ancest $ 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 @@ stripping revision in queue $ 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 @@ stripping ancestor of queue $ 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 diff --git a/tests/test-mq.t b/tests/test-mq.t --- a/tests/test-mq.t +++ b/tests/test-mq.t @@ -135,7 +135,7 @@ qinit -c should create both files if the guards $ cat .hg/patches/series $ hg qinit -c - abort: repository .* already exists! (re) + abort: repository * already exists! (glob) [255] $ cd .. @@ -737,7 +737,7 @@ strip 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 @@ strip with local changes, should complai $ 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 @@ strip again $ 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 diff --git a/tests/test-patchbomb.t b/tests/test-patchbomb.t --- a/tests/test-patchbomb.t +++ b/tests/test-patchbomb.t @@ -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: ]*> (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: ]*> (re) References: ]*> (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: ]*> (re) References: ]*> (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 @@ mime encoded mbox (base64): Content-Transfer-Encoding: base64 Subject: [PATCH] charset=utf-8; content-transfer-encoding: base64 X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a - Message-Id: ]*> (re) References: ]*> (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 @@ test outgoing: Content-Transfer-Encoding: 8bit Subject: [PATCH 2 of 8] charset=utf-8; content-transfer-encoding: base64 X-Mercurial-Node: c3c9e37db9f4fe4882cda39baf42fed6bad8b15a - Message-Id: ]*> (re) References: ]*> (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 @@ test outgoing: Subject: [PATCH 3 of 8] charset=utf-8; content-transfer-encoding: quoted-printable X-Mercurial-Node: c655633f8c87700bb38cc6a59a2753bdc5a6c376 - Message-Id: ]*> (re) References: ]*> (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 @@ test outgoing: 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: ]*> (re) References: ]*> (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 @@ test outgoing: Content-Transfer-Encoding: 7bit Subject: [PATCH 5 of 8] Added tag zero, zero.foo for changeset 8580ff50825a X-Mercurial-Node: dd9c2b4b8a8a0934d5523c15f2c119b362360903 - Message-Id: ]*> (re) References: ]*> (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 @@ test outgoing: Content-Transfer-Encoding: 7bit Subject: [PATCH 6 of 8] Added tag one, one.patch for changeset 97d72e5f12c7 X-Mercurial-Node: eae5fcf795eee29d0e45ffc9f519a91cd79fc9ff - Message-Id: ]*> (re) References: ]*> (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 @@ test outgoing: Content-Transfer-Encoding: 7bit Subject: [PATCH 7 of 8] Added tag two, two.diff for changeset ff2c9fa2018b X-Mercurial-Node: e317db6a6f288748d1f6cb064f3810fcba66b1b6 - Message-Id: ]*> (re) References: ]*> (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 @@ test outgoing: Message-Id: <2f9fa9b998c5fe3ac2bd\.315532868[^>]*> (re) In-Reply-To: ]*> (re) References: ]*> (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 @@ dest#branch URIs: 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 diff --git a/tests/test-paths.t b/tests/test-paths.t --- a/tests/test-paths.t +++ b/tests/test-paths.t @@ -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] diff --git a/tests/test-permissions.t b/tests/test-permissions.t --- a/tests/test-permissions.t +++ b/tests/test-permissions.t @@ -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 . diff --git a/tests/test-push-validation.t b/tests/test-push-validation.t --- a/tests/test-push-validation.t +++ b/tests/test-push-validation.t @@ -40,7 +40,7 @@ Expected to fail: Expected to fail: $ hg push - pushing to .* (re) + pushing to * (glob) searching for changes adding changesets adding manifests diff --git a/tests/test-relink.t b/tests/test-relink.t --- a/tests/test-relink.t +++ b/tests/test-relink.t @@ -60,7 +60,7 @@ clone and pull to break links 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%) diff --git a/tests/test-rename.t b/tests/test-rename.t --- a/tests/test-rename.t +++ b/tests/test-rename.t @@ -263,8 +263,8 @@ overwrite existing files (d2/b) 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 diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t --- a/tests/test-run-tests.t +++ b/tests/test-run-tests.t @@ -21,6 +21,11 @@ Regular expressions: $ echo barbazquux .*quux.* (re) +Globs: + + $ echo '* \\foobarbaz {10}' + \* \\fo?bar* {10} (glob) + Literal match ending in " (re)": $ echo 'foo (re)' diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t --- a/tests/test-subrepo-deep-nested-change.t +++ b/tests/test-subrepo-deep-nested-change.t @@ -27,7 +27,7 @@ Preparing the 'main' repo which depends $ 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 @@ Clone main $ 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 diff --git a/tests/test-subrepo-paths.t b/tests/test-subrepo-paths.t --- a/tests/test-subrepo-paths.t +++ b/tests/test-subrepo-paths.t @@ -28,5 +28,5 @@ test bad subpaths pattern > .* = \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] diff --git a/tests/test-subrepo-recursion.t b/tests/test-subrepo-recursion.t --- a/tests/test-subrepo-recursion.t +++ b/tests/test-subrepo-recursion.t @@ -252,13 +252,13 @@ Clone and test outgoing: $ 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 @@ Clone and test outgoing: 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 @@ Make nested change: $ 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 @@ Make nested change: 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 @@ Switch to original repo and setup defaul 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 @@ Test incoming: 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 diff --git a/tests/test-subrepo-svn.t b/tests/test-subrepo-svn.t --- a/tests/test-subrepo-svn.t +++ b/tests/test-subrepo-svn.t @@ -86,7 +86,7 @@ change file in svn and hg, commit 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. diff --git a/tests/test-subrepo.t b/tests/test-subrepo.t --- a/tests/test-subrepo.t +++ b/tests/test-subrepo.t @@ -236,19 +236,19 @@ clone $ 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 @@ push $ 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 @@ push -f $ 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 @@ pull $ cd ../tc $ hg pull - pulling .*sub/t (re) + pulling *sub/t (glob) searching for changes adding changesets adding manifests @@ -348,7 +348,7 @@ pull 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 @@ test repository cloning $ 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 @@ issue 1977 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 diff --git a/tests/test-tags.t b/tests/test-tags.t --- a/tests/test-tags.t +++ b/tests/test-tags.t @@ -299,7 +299,7 @@ Don't allow moving tag without -f: 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 1: expose an old head: 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 diff --git a/tests/test-transplant.t b/tests/test-transplant.t --- a/tests/test-transplant.t +++ b/tests/test-transplant.t @@ -285,16 +285,16 @@ test filter > 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 @@ test filter with failed patch 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 diff --git a/tests/test-url-rev.t b/tests/test-url-rev.t --- a/tests/test-url-rev.t +++ b/tests/test-url-rev.t @@ -42,7 +42,7 @@ Test basic functionality of url#rev synt $ cat clone/.hg/hgrc [paths] - default = .*/repo#foo (re) + default = */repo#foo (glob) Changing original repo: diff --git a/tests/test-walk.t b/tests/test-walk.t --- a/tests/test-walk.t +++ b/tests/test-walk.t @@ -216,7 +216,7 @@ Test absolute paths: 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: