[PATCH] run-tests: introduce ' (cr)\n' markup of bare \r in test output
Mads Kiilerich
mads at kiilerich.com
Tue Sep 25 19:09:51 CDT 2012
# HG changeset patch
# User Mads Kiilerich <mads at kiilerich.com>
# Date 1348613787 -7200
# Node ID bdc65acbd3d003f184bf0594ab406e20b2f36ca4
# Parent d34ba4991188fdfa4f8322b9a32c4c08aaf6ff27
run-tests: introduce ' (cr)\n' markup of bare \r in test output
This replaces filtercr.py with a more stable built-in mechanism:
(esc) markup of \r is replaced with ' (cr)' and multiple lines.
Some fine occurences of (esc) markup is thus also replaced with (cr). That is
no win but also no significant loss.
diff --git a/tests/filtercr.py b/tests/filtercr.py
deleted file mode 100755
--- a/tests/filtercr.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env python
-
-# Filter output by the progress extension to make it readable in tests
-
-import sys, re
-
-for line in sys.stdin:
- line = re.sub(r'\r+[^\n]', lambda m: '\n' + m.group()[-1:], line)
- sys.stdout.write(line)
-print
diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -498,6 +498,20 @@
vlog("# Running", cmd)
return run(cmd, wd, options, replacements)
+needcrsplit = re.compile(r'([\x20-\x7e]*\r)+[\x20-\x7e]*\n$').match
+crsplit = re.compile(r'\r(?!\n)').split
+def crescape(ls):
+ """yield the lf terminated strings from ls, possibly split on bare cr and
+ with ' (cr)' markup"""
+ for l in ls:
+ if needcrsplit(l):
+ parts = crsplit(l)
+ for s in parts[:-1]:
+ yield s + ' (cr)\n'
+ yield parts[-1]
+ else:
+ yield l
+
needescape = re.compile(r'[\x00-\x08\x0b-\x1f\x7f-\xff]').search
escapesub = re.compile(r'[\x00-\x08\x0b-\x1f\\\x7f-\xff]').sub
escapemap = dict((chr(i), r'\x%02x' % i) for i in range(256))
@@ -684,7 +698,7 @@
pos = -1
postout = []
ret = 0
- for n, l in enumerate(output):
+ for l in crescape(output):
lout, lcmd = l, None
if salt in l:
lout, lcmd = l.split(salt, 1)
diff --git a/tests/test-archive.t b/tests/test-archive.t
--- a/tests/test-archive.t
+++ b/tests/test-archive.t
@@ -224,19 +224,19 @@
> width = 60
> EOF
- $ hg archive ../with-progress 2>&1 | "$TESTDIR/filtercr.py"
-
- archiving [ ] 0/4
- archiving [ ] 0/4
- archiving [=========> ] 1/4
- archiving [=========> ] 1/4
- archiving [====================> ] 2/4
- archiving [====================> ] 2/4
- archiving [===============================> ] 3/4
- archiving [===============================> ] 3/4
- archiving [==========================================>] 4/4
- archiving [==========================================>] 4/4
- \r (esc)
+ $ hg archive ../with-progress
+ (cr)
+ archiving [ ] 0/4 (cr)
+ archiving [ ] 0/4 (cr)
+ archiving [=========> ] 1/4 (cr)
+ archiving [=========> ] 1/4 (cr)
+ archiving [====================> ] 2/4 (cr)
+ archiving [====================> ] 2/4 (cr)
+ archiving [===============================> ] 3/4 (cr)
+ archiving [===============================> ] 3/4 (cr)
+ archiving [==========================================>] 4/4 (cr)
+ archiving [==========================================>] 4/4 (cr)
+ (cr)
cleanup after progress extension test:
diff --git a/tests/test-convert-svn-move.t b/tests/test-convert-svn-move.t
--- a/tests/test-convert-svn-move.t
+++ b/tests/test-convert-svn-move.t
@@ -165,68 +165,75 @@
> width = 60
> EOF
- $ hg convert svn-repo hg-progress 2>&1 | "$TESTDIR/filtercr.py"
-
- scanning [ <=> ] 1
- scanning [ <=> ] 2
- scanning [ <=> ] 3
- scanning [ <=> ] 4
- scanning [ <=> ] 5
- scanning [ <=> ] 6
- scanning [ <=> ] 7
-
- converting [ ] 0/7
- getting files [=====> ] 1/6
- getting files [============> ] 2/6
- getting files [==================> ] 3/6
- getting files [=========================> ] 4/6
- getting files [===============================> ] 5/6
- getting files [======================================>] 6/6
-
- converting [=====> ] 1/7
- scanning paths [ ] 0/1
- getting files [======================================>] 1/1
-
- converting [===========> ] 2/7
- scanning paths [ ] 0/2
- scanning paths [==================> ] 1/2
- getting files [========> ] 1/4
- getting files [==================> ] 2/4
- getting files [============================> ] 3/4
- getting files [======================================>] 4/4
-
- converting [=================> ] 3/7
- scanning paths [ ] 0/1
- getting files [======================================>] 1/1
-
- converting [=======================> ] 4/7
- scanning paths [ ] 0/1
- getting files [======================================>] 1/1
-
- converting [=============================> ] 5/7
- scanning paths [ ] 0/3
- scanning paths [===========> ] 1/3
- scanning paths [========================> ] 2/3
- getting files [===> ] 1/8
- getting files [========> ] 2/8
- getting files [=============> ] 3/8
- getting files [==================> ] 4/8
- getting files [=======================> ] 5/8
- getting files [============================> ] 6/8
- getting files [=================================> ] 7/8
- getting files [======================================>] 8/8
-
- converting [===================================> ] 6/7
- scanning paths [ ] 0/1
- getting files [===> ] 1/8
- getting files [========> ] 2/8
- getting files [=============> ] 3/8
- getting files [==================> ] 4/8
- getting files [=======================> ] 5/8
- getting files [============================> ] 6/8
- getting files [=================================> ] 7/8
- getting files [======================================>] 8/8
-
+ $ hg convert svn-repo hg-progress
+ (cr)
+ scanning [ <=> ] 1 (cr)
+ scanning [ <=> ] 2 (cr)
+ scanning [ <=> ] 3 (cr)
+ scanning [ <=> ] 4 (cr)
+ scanning [ <=> ] 5 (cr)
+ scanning [ <=> ] 6 (cr)
+ scanning [ <=> ] 7 (cr)
+ (cr)
+ (cr)
+ converting [ ] 0/7 (cr)
+ getting files [=====> ] 1/6 (cr)
+ getting files [============> ] 2/6 (cr)
+ getting files [==================> ] 3/6 (cr)
+ getting files [=========================> ] 4/6 (cr)
+ getting files [===============================> ] 5/6 (cr)
+ getting files [======================================>] 6/6 (cr)
+ (cr)
+ (cr)
+ converting [=====> ] 1/7 (cr)
+ scanning paths [ ] 0/1 (cr)
+ getting files [======================================>] 1/1 (cr)
+ (cr)
+ (cr)
+ converting [===========> ] 2/7 (cr)
+ scanning paths [ ] 0/2 (cr)
+ scanning paths [==================> ] 1/2 (cr)
+ getting files [========> ] 1/4 (cr)
+ getting files [==================> ] 2/4 (cr)
+ getting files [============================> ] 3/4 (cr)
+ getting files [======================================>] 4/4 (cr)
+ (cr)
+ (cr)
+ converting [=================> ] 3/7 (cr)
+ scanning paths [ ] 0/1 (cr)
+ getting files [======================================>] 1/1 (cr)
+ (cr)
+ (cr)
+ converting [=======================> ] 4/7 (cr)
+ scanning paths [ ] 0/1 (cr)
+ getting files [======================================>] 1/1 (cr)
+ (cr)
+ (cr)
+ converting [=============================> ] 5/7 (cr)
+ scanning paths [ ] 0/3 (cr)
+ scanning paths [===========> ] 1/3 (cr)
+ scanning paths [========================> ] 2/3 (cr)
+ getting files [===> ] 1/8 (cr)
+ getting files [========> ] 2/8 (cr)
+ getting files [=============> ] 3/8 (cr)
+ getting files [==================> ] 4/8 (cr)
+ getting files [=======================> ] 5/8 (cr)
+ getting files [============================> ] 6/8 (cr)
+ getting files [=================================> ] 7/8 (cr)
+ getting files [======================================>] 8/8 (cr)
+ (cr)
+ (cr)
+ converting [===================================> ] 6/7 (cr)
+ scanning paths [ ] 0/1 (cr)
+ getting files [===> ] 1/8 (cr)
+ getting files [========> ] 2/8 (cr)
+ getting files [=============> ] 3/8 (cr)
+ getting files [==================> ] 4/8 (cr)
+ getting files [=======================> ] 5/8 (cr)
+ getting files [============================> ] 6/8 (cr)
+ getting files [=================================> ] 7/8 (cr)
+ getting files [======================================>] 8/8 (cr)
+ (cr)
initializing destination hg-progress repository
scanning source...
sorting...
@@ -238,6 +245,5 @@
2 adddb
1 branch
0 clobberdir
-
$ cd ..
diff --git a/tests/test-debugbuilddag.t b/tests/test-debugbuilddag.t
--- a/tests/test-debugbuilddag.t
+++ b/tests/test-debugbuilddag.t
@@ -8,44 +8,43 @@
> --config extensions.progress= --config progress.assume-tty=1 \
> --config progress.delay=0 --config progress.refresh=0 \
> --config progress.format=topic,bar,number \
- > --config progress.width=60 2>&1 | \
- > python "$TESTDIR/filtercr.py"
-
- building [ ] 0/12
- building [ ] 0/12
- building [ ] 0/12
- building [ ] 0/12
- building [==> ] 1/12
- building [==> ] 1/12
- building [==> ] 1/12
- building [==> ] 1/12
- building [======> ] 2/12
- building [======> ] 2/12
- building [=========> ] 3/12
- building [=========> ] 3/12
- building [=============> ] 4/12
- building [=============> ] 4/12
- building [=============> ] 4/12
- building [=============> ] 4/12
- building [=============> ] 4/12
- building [=============> ] 4/12
- building [================> ] 5/12
- building [================> ] 5/12
- building [====================> ] 6/12
- building [====================> ] 6/12
- building [=======================> ] 7/12
- building [=======================> ] 7/12
- building [===========================> ] 8/12
- building [===========================> ] 8/12
- building [===========================> ] 8/12
- building [===========================> ] 8/12
- building [==============================> ] 9/12
- building [==============================> ] 9/12
- building [==================================> ] 10/12
- building [==================================> ] 10/12
- building [=====================================> ] 11/12
- building [=====================================> ] 11/12
- \r (esc)
+ > --config progress.width=60
+ (cr)
+ building [ ] 0/12 (cr)
+ building [ ] 0/12 (cr)
+ building [ ] 0/12 (cr)
+ building [ ] 0/12 (cr)
+ building [==> ] 1/12 (cr)
+ building [==> ] 1/12 (cr)
+ building [==> ] 1/12 (cr)
+ building [==> ] 1/12 (cr)
+ building [======> ] 2/12 (cr)
+ building [======> ] 2/12 (cr)
+ building [=========> ] 3/12 (cr)
+ building [=========> ] 3/12 (cr)
+ building [=============> ] 4/12 (cr)
+ building [=============> ] 4/12 (cr)
+ building [=============> ] 4/12 (cr)
+ building [=============> ] 4/12 (cr)
+ building [=============> ] 4/12 (cr)
+ building [=============> ] 4/12 (cr)
+ building [================> ] 5/12 (cr)
+ building [================> ] 5/12 (cr)
+ building [====================> ] 6/12 (cr)
+ building [====================> ] 6/12 (cr)
+ building [=======================> ] 7/12 (cr)
+ building [=======================> ] 7/12 (cr)
+ building [===========================> ] 8/12 (cr)
+ building [===========================> ] 8/12 (cr)
+ building [===========================> ] 8/12 (cr)
+ building [===========================> ] 8/12 (cr)
+ building [==============================> ] 9/12 (cr)
+ building [==============================> ] 9/12 (cr)
+ building [==================================> ] 10/12 (cr)
+ building [==================================> ] 10/12 (cr)
+ building [=====================================> ] 11/12 (cr)
+ building [=====================================> ] 11/12 (cr)
+ (cr)
tags
$ cat .hg/localtags
diff --git a/tests/test-diff-ignore-whitespace.t b/tests/test-diff-ignore-whitespace.t
--- a/tests/test-diff-ignore-whitespace.t
+++ b/tests/test-diff-ignore-whitespace.t
@@ -404,7 +404,8 @@
-goodbye world
+hello world\r (esc)
+\r (esc)
- +goodbye\rworld (esc)
+ +goodbye (cr)
+ world
No completely blank lines to ignore:
@@ -417,7 +418,8 @@
-goodbye world
+hello world\r (esc)
+\r (esc)
- +goodbye\rworld (esc)
+ +goodbye (cr)
+ world
Only new line noticed:
diff --git a/tests/test-diff-newlines.t b/tests/test-diff-newlines.t
--- a/tests/test-diff-newlines.t
+++ b/tests/test-diff-newlines.t
@@ -13,6 +13,7 @@
+++ b/a Thu Jan 01 00:00:02 1970 +0000
@@ -1,2 +1,3 @@
confuse str.splitlines
- embedded\rnewline (esc)
+ embedded (cr)
+ newline
+clean diff
diff --git a/tests/test-eolfilename.t b/tests/test-eolfilename.t
--- a/tests/test-eolfilename.t
+++ b/tests/test-eolfilename.t
@@ -9,11 +9,13 @@
$ A=`printf 'he\rllo'`
$ echo foo > "$A"
$ hg add
- adding he\rllo (esc)
+ adding he (cr)
+ llo
abort: '\n' and '\r' disallowed in filenames: 'he\rllo'
[255]
$ hg ci -A -m m
- adding he\rllo (esc)
+ adding he (cr)
+ llo
abort: '\n' and '\r' disallowed in filenames: 'he\rllo'
[255]
$ rm "$A"
@@ -31,7 +33,9 @@
[255]
$ echo foo > "$A"
$ hg debugwalk
- f he\rllo he\rllo (esc)
+ f he (cr)
+ llo he (cr)
+ llo
f hell
o hell
o
diff --git a/tests/test-patchbomb.t b/tests/test-patchbomb.t
--- a/tests/test-patchbomb.t
+++ b/tests/test-patchbomb.t
@@ -149,29 +149,31 @@
$ hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip \
> --config extensions.progress= --config progress.assume-tty=1 \
> --config progress.delay=0 --config progress.refresh=0 \
- > --config progress.width=60 2>&1 | \
- > python "$TESTDIR/filtercr.py"
+ > --config progress.width=60
this patch series consists of 2 patches.
Write the introductory message for the patch series.
-
- sending [ ] 0/3
- sending [ ] 0/3
-
-
- sending [==============> ] 1/3
- sending [==============> ] 1/3
-
-
- sending [=============================> ] 2/3
- sending [=============================> ] 2/3
+ (cr)
+ sending [ ] 0/3 (cr)
+ sending [ ] 0/3 (cr)
+ (cr)
+ (cr)
+ (cr)
+ (cr)
+ sending [==============> ] 1/3 (cr)
+ sending [==============> ] 1/3 (cr)
+ (cr)
+ (cr)
+ (cr)
+ (cr)
+ sending [=============================> ] 2/3 (cr)
+ sending [=============================> ] 2/3 (cr)
\r (esc)
sending [PATCH 0 of 2] test ...
sending [PATCH 1 of 2] a ...
sending [PATCH 2 of 2] b ...
-
$ cd ..
diff --git a/tests/test-progress.t b/tests/test-progress.t
--- a/tests/test-progress.t
+++ b/tests/test-progress.t
@@ -46,104 +46,96 @@
test default params, display nothing because of delay
- $ hg -y loop 3 2>&1 | "$TESTDIR/filtercr.py"
-
+ $ hg -y loop 3
$ echo "delay=0" >> $HGRCPATH
$ echo "refresh=0" >> $HGRCPATH
test with delay=0, refresh=0
- $ hg -y loop 3 2>&1 | "$TESTDIR/filtercr.py"
-
- loop [ ] 0/3
- loop [===============> ] 1/3
- loop [===============================> ] 2/3
- \r (esc)
+ $ hg -y loop 3
+ (cr)
+ loop [ ] 0/3 (cr)
+ loop [===============> ] 1/3 (cr)
+ loop [===============================> ] 2/3 (cr)
+ (cr)
test nested short-lived topics (which shouldn't display with nestdelay):
- $ hg -y loop 3 --nested 2>&1 | \
- > python "$TESTDIR/filtercr.py"
-
- loop [ ] 0/3
- loop [===============> ] 1/3
- loop [===============================> ] 2/3
- \r (esc)
+ $ hg -y loop 3 --nested
+ (cr)
+ loop [ ] 0/3 (cr)
+ loop [===============> ] 1/3 (cr)
+ loop [===============================> ] 2/3 (cr)
+ (cr)
- $ hg --config progress.changedelay=0 -y loop 3 --nested 2>&1 | \
- > python "$TESTDIR/filtercr.py"
-
- loop [ ] 0/3
- nested [ ] 0/2
- nested [======================> ] 1/2
- loop [===============> ] 1/3
- nested [ ] 0/2
- nested [======================> ] 1/2
- loop [===============================> ] 2/3
- nested [ ] 0/2
- nested [======================> ] 1/2
- \r (esc)
+ $ hg --config progress.changedelay=0 -y loop 3 --nested
+ (cr)
+ loop [ ] 0/3 (cr)
+ nested [ ] 0/2 (cr)
+ nested [======================> ] 1/2 (cr)
+ loop [===============> ] 1/3 (cr)
+ nested [ ] 0/2 (cr)
+ nested [======================> ] 1/2 (cr)
+ loop [===============================> ] 2/3 (cr)
+ nested [ ] 0/2 (cr)
+ nested [======================> ] 1/2 (cr)
+ (cr)
test two topics being printed in parallel (as when we're doing a local
--pull clone, where you get the unbundle and bundle progress at the
same time):
- $ hg loop 3 --parallel 2>&1 | python "$TESTDIR/filtercr.py"
-
- loop [ ] 0/3
- loop [===============> ] 1/3
- loop [===============================> ] 2/3
- \r (esc)
+ $ hg loop 3 --parallel
+ (cr)
+ loop [ ] 0/3 (cr)
+ loop [===============> ] 1/3 (cr)
+ loop [===============================> ] 2/3 (cr)
+ (cr)
test refresh is taken in account
- $ hg -y --config progress.refresh=100 loop 3 2>&1 | "$TESTDIR/filtercr.py"
-
+ $ hg -y --config progress.refresh=100 loop 3
test format options 1
- $ hg -y --config 'progress.format=number topic item+2' loop 2 2>&1 \
- > | "$TESTDIR/filtercr.py"
-
- 0/2 loop lo
- 1/2 loop lo
- \r (esc)
+ $ hg -y --config 'progress.format=number topic item+2' loop 2
+ (cr)
+ 0/2 loop lo (cr)
+ 1/2 loop lo (cr)
+ (cr)
test format options 2
- $ hg -y --config 'progress.format=number item-3 bar' loop 2 2>&1 \
- > | "$TESTDIR/filtercr.py"
-
- 0/2 p.0 [ ]
- 1/2 p.1 [=======================> ]
- \r (esc)
+ $ hg -y --config 'progress.format=number item-3 bar' loop 2
+ (cr)
+ 0/2 p.0 [ ] (cr)
+ 1/2 p.1 [=======================> ] (cr)
+ (cr)
test format options and indeterminate progress
- $ hg -y --config 'progress.format=number item bar' loop -- -2 2>&1 \
- > | "$TESTDIR/filtercr.py"
-
- 0 loop.0 [ <=> ]
- 1 loop.1 [ <=> ]
- \r (esc)
+ $ hg -y --config 'progress.format=number item bar' loop -- -2
+ (cr)
+ 0 loop.0 [ <=> ] (cr)
+ 1 loop.1 [ <=> ] (cr)
+ (cr)
make sure things don't fall over if count > total
- $ hg -y loop --total 4 6 2>&1 | "$TESTDIR/filtercr.py"
-
- loop [ ] 0/4
- loop [===========> ] 1/4
- loop [=======================> ] 2/4
- loop [===================================> ] 3/4
- loop [===============================================>] 4/4
- loop [ <=> ] 5/4
- \r (esc)
+ $ hg -y loop --total 4 6
+ (cr)
+ loop [ ] 0/4 (cr)
+ loop [===========> ] 1/4 (cr)
+ loop [=======================> ] 2/4 (cr)
+ loop [===================================> ] 3/4 (cr)
+ loop [===============================================>] 4/4 (cr)
+ loop [ <=> ] 5/4 (cr)
+ (cr)
test immediate progress completion
- $ hg -y loop 0 2>&1 | "$TESTDIR/filtercr.py"
-
+ $ hg -y loop 0
test delay time estimates
@@ -173,44 +165,44 @@
$ echo "delay=25" >> $HGRCPATH
$ echo "width=60" >> $HGRCPATH
- $ hg -y loop 8 2>&1 | python "$TESTDIR/filtercr.py"
-
- loop [=========> ] 2/8 1m07s
- loop [===============> ] 3/8 56s
- loop [=====================> ] 4/8 45s
- loop [==========================> ] 5/8 34s
- loop [================================> ] 6/8 23s
- loop [=====================================> ] 7/8 12s
- \r (esc)
+ $ hg -y loop 8
+ (cr)
+ loop [=========> ] 2/8 1m07s (cr)
+ loop [===============> ] 3/8 56s (cr)
+ loop [=====================> ] 4/8 45s (cr)
+ loop [==========================> ] 5/8 34s (cr)
+ loop [================================> ] 6/8 23s (cr)
+ loop [=====================================> ] 7/8 12s (cr)
+ (cr)
- $ MOCKTIME=10000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
-
- loop [ ] 0/4
- loop [=========> ] 1/4 8h21m
- loop [====================> ] 2/4 5h34m
- loop [==============================> ] 3/4 2h47m
- \r (esc)
+ $ MOCKTIME=10000 hg -y loop 4
+ (cr)
+ loop [ ] 0/4 (cr)
+ loop [=========> ] 1/4 8h21m (cr)
+ loop [====================> ] 2/4 5h34m (cr)
+ loop [==============================> ] 3/4 2h47m (cr)
+ (cr)
- $ MOCKTIME=1000000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
-
- loop [ ] 0/4
- loop [=========> ] 1/4 5w00d
- loop [====================> ] 2/4 3w03d
- loop [=============================> ] 3/4 11d14h
- \r (esc)
+ $ MOCKTIME=1000000 hg -y loop 4
+ (cr)
+ loop [ ] 0/4 (cr)
+ loop [=========> ] 1/4 5w00d (cr)
+ loop [====================> ] 2/4 3w03d (cr)
+ loop [=============================> ] 3/4 11d14h (cr)
+ (cr)
- $ MOCKTIME=14000000 hg -y loop 4 2>&1 | python "$TESTDIR/filtercr.py"
-
- loop [ ] 0/4
- loop [=========> ] 1/4 1y18w
- loop [===================> ] 2/4 46w03d
- loop [=============================> ] 3/4 23w02d
- \r (esc)
+ $ MOCKTIME=14000000 hg -y loop 4
+ (cr)
+ loop [ ] 0/4 (cr)
+ loop [=========> ] 1/4 1y18w (cr)
+ loop [===================> ] 2/4 46w03d (cr)
+ loop [=============================> ] 3/4 23w02d (cr)
+ (cr)
Time estimates should not fail when there's no end point:
- $ hg -y loop -- -4 2>&1 | python "$TESTDIR/filtercr.py"
-
- loop [ <=> ] 2
- loop [ <=> ] 3
- \r (esc)
+ $ hg -y loop -- -4
+ (cr)
+ loop [ <=> ] 2 (cr)
+ loop [ <=> ] 3 (cr)
+ (cr)
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
@@ -260,31 +260,33 @@
Test archiving to a directory tree (the doubled lines in the output
only show up in the test output, not in real usage):
- $ hg archive --subrepos ../archive 2>&1 | "$TESTDIR/filtercr.py"
-
- archiving [ ] 0/3
- archiving [ ] 0/3
- archiving [=============> ] 1/3
- archiving [=============> ] 1/3
- archiving [===========================> ] 2/3
- archiving [===========================> ] 2/3
- archiving [==========================================>] 3/3
- archiving [==========================================>] 3/3
-
- archiving (foo) [ ] 0/3
- archiving (foo) [ ] 0/3
- archiving (foo) [===========> ] 1/3
- archiving (foo) [===========> ] 1/3
- archiving (foo) [=======================> ] 2/3
- archiving (foo) [=======================> ] 2/3
- archiving (foo) [====================================>] 3/3
- archiving (foo) [====================================>] 3/3
-
- archiving (foo/bar) [ ] 0/1 (glob)
- archiving (foo/bar) [ ] 0/1 (glob)
- archiving (foo/bar) [================================>] 1/1 (glob)
- archiving (foo/bar) [================================>] 1/1 (glob)
- \r (esc)
+ $ hg archive --subrepos ../archive
+ (cr)
+ archiving [ ] 0/3 (cr)
+ archiving [ ] 0/3 (cr)
+ archiving [=============> ] 1/3 (cr)
+ archiving [=============> ] 1/3 (cr)
+ archiving [===========================> ] 2/3 (cr)
+ archiving [===========================> ] 2/3 (cr)
+ archiving [==========================================>] 3/3 (cr)
+ archiving [==========================================>] 3/3 (cr)
+ (cr)
+ (cr)
+ archiving (foo) [ ] 0/3 (cr)
+ archiving (foo) [ ] 0/3 (cr)
+ archiving (foo) [===========> ] 1/3 (cr)
+ archiving (foo) [===========> ] 1/3 (cr)
+ archiving (foo) [=======================> ] 2/3 (cr)
+ archiving (foo) [=======================> ] 2/3 (cr)
+ archiving (foo) [====================================>] 3/3 (cr)
+ archiving (foo) [====================================>] 3/3 (cr)
+ (cr)
+ (cr)
+ archiving (foo/bar) [ ] 0/1 (cr) (glob)
+ archiving (foo/bar) [ ] 0/1 (cr) (glob)
+ archiving (foo/bar) [================================>] 1/1 (cr) (glob)
+ archiving (foo/bar) [================================>] 1/1 (cr) (glob)
+ (cr)
$ find ../archive | sort
../archive
../archive/.hg_archival.txt
@@ -300,65 +302,69 @@
Test archiving to zip file (unzip output is unstable):
- $ hg archive --subrepos ../archive.zip 2>&1 | "$TESTDIR/filtercr.py"
-
- archiving [ ] 0/3
- archiving [ ] 0/3
- archiving [=============> ] 1/3
- archiving [=============> ] 1/3
- archiving [===========================> ] 2/3
- archiving [===========================> ] 2/3
- archiving [==========================================>] 3/3
- archiving [==========================================>] 3/3
-
- archiving (foo) [ ] 0/3
- archiving (foo) [ ] 0/3
- archiving (foo) [===========> ] 1/3
- archiving (foo) [===========> ] 1/3
- archiving (foo) [=======================> ] 2/3
- archiving (foo) [=======================> ] 2/3
- archiving (foo) [====================================>] 3/3
- archiving (foo) [====================================>] 3/3
-
- archiving (foo/bar) [ ] 0/1 (glob)
- archiving (foo/bar) [ ] 0/1 (glob)
- archiving (foo/bar) [================================>] 1/1 (glob)
- archiving (foo/bar) [================================>] 1/1 (glob)
- \r (esc)
+ $ hg archive --subrepos ../archive.zip
+ (cr)
+ archiving [ ] 0/3 (cr)
+ archiving [ ] 0/3 (cr)
+ archiving [=============> ] 1/3 (cr)
+ archiving [=============> ] 1/3 (cr)
+ archiving [===========================> ] 2/3 (cr)
+ archiving [===========================> ] 2/3 (cr)
+ archiving [==========================================>] 3/3 (cr)
+ archiving [==========================================>] 3/3 (cr)
+ (cr)
+ (cr)
+ archiving (foo) [ ] 0/3 (cr)
+ archiving (foo) [ ] 0/3 (cr)
+ archiving (foo) [===========> ] 1/3 (cr)
+ archiving (foo) [===========> ] 1/3 (cr)
+ archiving (foo) [=======================> ] 2/3 (cr)
+ archiving (foo) [=======================> ] 2/3 (cr)
+ archiving (foo) [====================================>] 3/3 (cr)
+ archiving (foo) [====================================>] 3/3 (cr)
+ (cr)
+ (cr)
+ archiving (foo/bar) [ ] 0/1 (cr) (glob)
+ archiving (foo/bar) [ ] 0/1 (cr) (glob)
+ archiving (foo/bar) [================================>] 1/1 (cr) (glob)
+ archiving (foo/bar) [================================>] 1/1 (cr) (glob)
+ (cr)
Test archiving a revision that references a subrepo that is not yet
cloned:
$ hg clone -U . ../empty
$ cd ../empty
- $ hg archive --subrepos -r tip ../archive.tar.gz 2>&1 | "$TESTDIR/filtercr.py"
-
- archiving [ ] 0/3
- archiving [ ] 0/3
- archiving [=============> ] 1/3
- archiving [=============> ] 1/3
- archiving [===========================> ] 2/3
- archiving [===========================> ] 2/3
- archiving [==========================================>] 3/3
- archiving [==========================================>] 3/3
-
- archiving (foo) [ ] 0/3
- archiving (foo) [ ] 0/3
- archiving (foo) [===========> ] 1/3
- archiving (foo) [===========> ] 1/3
- archiving (foo) [=======================> ] 2/3
- archiving (foo) [=======================> ] 2/3
- archiving (foo) [====================================>] 3/3
- archiving (foo) [====================================>] 3/3
-
- archiving (foo/bar) [ ] 0/1 (glob)
- archiving (foo/bar) [ ] 0/1 (glob)
- archiving (foo/bar) [================================>] 1/1 (glob)
- archiving (foo/bar) [================================>] 1/1 (glob)
-
+ $ hg archive --subrepos -r tip ../archive.tar.gz
+ (cr)
+ archiving [ ] 0/3 (cr)
+ archiving [ ] 0/3 (cr)
+ archiving [=============> ] 1/3 (cr)
+ archiving [=============> ] 1/3 (cr)
+ archiving [===========================> ] 2/3 (cr)
+ archiving [===========================> ] 2/3 (cr)
+ archiving [==========================================>] 3/3 (cr)
+ archiving [==========================================>] 3/3 (cr)
+ (cr)
+ (cr)
+ archiving (foo) [ ] 0/3 (cr)
+ archiving (foo) [ ] 0/3 (cr)
+ archiving (foo) [===========> ] 1/3 (cr)
+ archiving (foo) [===========> ] 1/3 (cr)
+ archiving (foo) [=======================> ] 2/3 (cr)
+ archiving (foo) [=======================> ] 2/3 (cr)
+ archiving (foo) [====================================>] 3/3 (cr)
+ archiving (foo) [====================================>] 3/3 (cr)
+ (cr)
+ (cr)
+ archiving (foo/bar) [ ] 0/1 (cr) (glob)
+ archiving (foo/bar) [ ] 0/1 (cr) (glob)
+ archiving (foo/bar) [================================>] 1/1 (cr) (glob)
+ archiving (foo/bar) [================================>] 1/1 (cr) (glob)
+ (cr)
cloning subrepo foo from $TESTTMP/repo/foo
cloning subrepo foo/bar from $TESTTMP/repo/foo/bar (glob)
-
+
The newly cloned subrepos contain no working copy:
$ hg -R foo summary
More information about the Mercurial-devel
mailing list