Mercurial > hg
annotate tests/test-archive.t @ 26750:9f9ec4abe700
cmdutil: make in-memory changes visible to external editor (issue4378)
Before this patch, external editor process for the commit log can't
view some in-memory changes (especially, of dirstate), because they
aren't written out until the end of transaction (or wlock).
This causes unexpected output of Mercurial commands spawned from that
editor process.
To make in-memory changes visible to external editor process, this
patch does:
- write (or schedule to write) in-memory dirstate changes, and
- set HG_PENDING environment variable, if:
- a transaction is running, and
- there are in-memory changes to be visible
"hg diff" spawned from external editor process for "hg qrefresh"
shows:
- "changes newly imported into the topmost" before 49148d7868df(*)
- "all changes recorded in the topmost by refreshing" after this patch
(*) 49148d7868df changed steps invoking editor process
Even though backward compatibility may be broken, the latter behavior
looks reasonable, because "hg diff" spawned from the editor process
consistently shows "what changes new revision records" regardless of
invocation context.
In fact, issue4378 itself should be resolved by 800e090e9c64, which
made 'repo.transaction()' write in-memory dirstate changes out
explicitly before starting transaction. It also made "hg qrefresh"
imply 'dirstate.write()' before external editor invocation in call
chain below.
- mq.queue.refresh
- strip.strip
- repair.strip
- localrepository.transaction
- dirstate.write
- localrepository.commit
- invoke external editor
Though, this patch has '(issue4378)' in own summary line to indicate
that issues like issue4378 should be fixed by this.
BTW, this patch adds '-m' option to a 'hg ci --amend' execution in
'test-commit-amend.t', to avoid invoking external editor process.
In this case, "unsure" states may be changed to "clean" according to
timestamp or so on. These changes should be written into pending file,
if external editor invocation is required,
Then, writing dirstate changes out breaks stability of test, because
it shows "transaction abort!/rollback completed" occasionally.
Aborting after editor process invocation while commands below may
cause similar instability of tests, too (AFAIK, there is no more such
one, at this revision)
- commit --amend
- without --message/--logfile
- import
- without --message/--logfile,
- without --no-commit,
- without --bypass,
- one of below, and
- patch has no description text, or
- with --edit
- aborting at the 1st patch, which adds or removes file(s)
- if it only changes existing files, status is checked only for
changed files by 'scmutil.matchfiles()', and transition from
"unsure" to "normal" in dirstate doesn't occur (= dirstate
isn't changed, and written out)
- aborting at the 2nd or later patch implies other pending
changes (e.g. changelog), and always causes showing
"transaction abort!/rollback completed"
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 17 Oct 2015 01:15:34 +0900 |
parents | 95f490136e75 |
children | cd34bf29987e |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
19870
diff
changeset
|
1 #require serve |
15446
c5c9ca3719f9
tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
2 |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13149
diff
changeset
|
3 $ hg init test |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
4 $ cd test |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
5 $ echo foo>foo |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
6 $ hg commit -Am 1 -d '1 0' |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
7 adding foo |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
8 $ echo bar>bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
9 $ hg commit -Am 2 -d '2 0' |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
10 adding bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
11 $ mkdir baz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
12 $ echo bletch>baz/bletch |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
13 $ hg commit -Am 3 -d '1000000000 0' |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
14 adding baz/bletch |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
15 $ hg init subrepo |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
16 $ touch subrepo/sub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
17 $ hg -q -R subrepo ci -Am "init subrepo" |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
18 $ echo "subrepo = subrepo" > .hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
19 $ hg add .hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
20 $ hg ci -m "add subrepo" |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
21 $ echo "[web]" >> .hg/hgrc |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
22 $ echo "name = test-archive" >> .hg/hgrc |
23232
a0ccb66f344d
hgweb: fix a crash when using web.archivesubrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
23231
diff
changeset
|
23 $ echo "archivesubrepos = True" >> .hg/hgrc |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
24 $ cp .hg/hgrc .hg/hgrc-base |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
25 > test_archtype() { |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
26 > echo "allow_archive = $1" >> .hg/hgrc |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
27 > hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
28 > cat hg.pid >> $DAEMON_PIDS |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
29 > echo % $1 allowed should give 200 |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
25125
diff
changeset
|
30 > get-with-headers.py localhost:$HGPORT "archive/tip.$2" | head -n 1 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
31 > echo % $3 and $4 disallowed should both give 403 |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
25125
diff
changeset
|
32 > get-with-headers.py localhost:$HGPORT "archive/tip.$3" | head -n 1 |
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
25125
diff
changeset
|
33 > get-with-headers.py localhost:$HGPORT "archive/tip.$4" | head -n 1 |
25474
8c14f87bd0ae
tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents:
25472
diff
changeset
|
34 > killdaemons.py |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
35 > cat errors.log |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
36 > cp .hg/hgrc-base .hg/hgrc |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
37 > } |
1166
bd66294b7a9b
Added test case for zip/gz/bz2 archive downloads.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
38 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
39 check http return codes |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
40 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
41 $ test_archtype gz tar.gz tar.bz2 zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
42 % gz allowed should give 200 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
43 200 Script output follows |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
44 % tar.bz2 and zip disallowed should both give 403 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
45 403 Archive type not allowed: bz2 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
46 403 Archive type not allowed: zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
47 $ test_archtype bz2 tar.bz2 zip tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
48 % bz2 allowed should give 200 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
49 200 Script output follows |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
50 % zip and tar.gz disallowed should both give 403 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
51 403 Archive type not allowed: zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
52 403 Archive type not allowed: gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
53 $ test_archtype zip zip tar.gz tar.bz2 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
54 % zip allowed should give 200 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
55 200 Script output follows |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
56 % tar.gz and tar.bz2 disallowed should both give 403 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
57 403 Archive type not allowed: gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
58 403 Archive type not allowed: bz2 |
7029
b84d27386285
hgweb: Respond with HTTP 403 for disabled archive types instead of 404
Rocco Rutte <pdmef@gmx.net>
parents:
6496
diff
changeset
|
59 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
60 $ echo "allow_archive = gz bz2 zip" >> .hg/hgrc |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
61 $ hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
62 $ cat hg.pid >> $DAEMON_PIDS |
7029
b84d27386285
hgweb: Respond with HTTP 403 for disabled archive types instead of 404
Rocco Rutte <pdmef@gmx.net>
parents:
6496
diff
changeset
|
63 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
64 invalid arch type should give 404 |
1166
bd66294b7a9b
Added test case for zip/gz/bz2 archive downloads.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
65 |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
25125
diff
changeset
|
66 $ get-with-headers.py localhost:$HGPORT "archive/tip.invalid" | head -n 1 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
67 404 Unsupported archive type: None |
7029
b84d27386285
hgweb: Respond with HTTP 403 for disabled archive types instead of 404
Rocco Rutte <pdmef@gmx.net>
parents:
6496
diff
changeset
|
68 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
69 $ TIP=`hg id -v | cut -f1 -d' '` |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
70 $ QTIP=`hg id -q` |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
71 $ cat > getarchive.py <<EOF |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
72 > import os, sys, urllib2 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
73 > try: |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
74 > # Set stdout to binary mode for win32 platforms |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
75 > import msvcrt |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
76 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
77 > except ImportError: |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
78 > pass |
18770
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
79 > if len(sys.argv) <= 3: |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
80 > node, archive = sys.argv[1:] |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
81 > requeststr = 'cmd=archive;node=%s;type=%s' % (node, archive) |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
82 > else: |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
83 > node, archive, file = sys.argv[1:] |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
84 > requeststr = 'cmd=archive;node=%s;type=%s;file=%s' % (node, archive, file) |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
85 > try: |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
86 > f = urllib2.urlopen('http://127.0.0.1:%s/?%s' |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
87 > % (os.environ['HGPORT'], requeststr)) |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
88 > sys.stdout.write(f.read()) |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
89 > except urllib2.HTTPError, e: |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
90 > sys.stderr.write(str(e) + '\n') |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
91 > EOF |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12339
diff
changeset
|
92 $ python getarchive.py "$TIP" gz | gunzip | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
93 test-archive-1701ef1f1510/.hg_archival.txt |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
94 test-archive-1701ef1f1510/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
95 test-archive-1701ef1f1510/.hgsubstate |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
96 test-archive-1701ef1f1510/bar |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
97 test-archive-1701ef1f1510/baz/bletch |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
98 test-archive-1701ef1f1510/foo |
23232
a0ccb66f344d
hgweb: fix a crash when using web.archivesubrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
23231
diff
changeset
|
99 test-archive-1701ef1f1510/subrepo/sub |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12339
diff
changeset
|
100 $ python getarchive.py "$TIP" bz2 | bunzip2 | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
101 test-archive-1701ef1f1510/.hg_archival.txt |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
102 test-archive-1701ef1f1510/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
103 test-archive-1701ef1f1510/.hgsubstate |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
104 test-archive-1701ef1f1510/bar |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
105 test-archive-1701ef1f1510/baz/bletch |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
106 test-archive-1701ef1f1510/foo |
23232
a0ccb66f344d
hgweb: fix a crash when using web.archivesubrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
23231
diff
changeset
|
107 test-archive-1701ef1f1510/subrepo/sub |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
108 $ python getarchive.py "$TIP" zip > archive.zip |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12339
diff
changeset
|
109 $ unzip -t archive.zip |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
110 Archive: archive.zip |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
111 testing: test-archive-1701ef1f1510/.hg_archival.txt OK |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
112 testing: test-archive-1701ef1f1510/.hgsub OK |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
113 testing: test-archive-1701ef1f1510/.hgsubstate OK |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
114 testing: test-archive-1701ef1f1510/bar OK |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
115 testing: test-archive-1701ef1f1510/baz/bletch OK |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
116 testing: test-archive-1701ef1f1510/foo OK |
23232
a0ccb66f344d
hgweb: fix a crash when using web.archivesubrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
23231
diff
changeset
|
117 testing: test-archive-1701ef1f1510/subrepo/sub OK |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
118 No errors detected in compressed data of archive.zip. |
1166
bd66294b7a9b
Added test case for zip/gz/bz2 archive downloads.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
119 |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
120 test that we can download single directories and files |
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
121 |
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
122 $ python getarchive.py "$TIP" gz baz | gunzip | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
123 test-archive-1701ef1f1510/baz/bletch |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
124 $ python getarchive.py "$TIP" gz foo | gunzip | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
125 test-archive-1701ef1f1510/foo |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
126 |
18968
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
127 test that we detect file patterns that match no files |
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
128 |
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
129 $ python getarchive.py "$TIP" gz foobar |
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
130 HTTP Error 404: file(s) not found: foobar |
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
131 |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
132 test that we reject unsafe patterns |
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
133 |
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
134 $ python getarchive.py "$TIP" gz relre:baz |
18968
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
135 HTTP Error 404: file(s) not found: relre:baz |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
136 |
25474
8c14f87bd0ae
tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents:
25472
diff
changeset
|
137 $ killdaemons.py |
7344
58fd3c718ca4
tests: add killdaemons helper script
Matt Mackall <mpm@selenic.com>
parents:
7080
diff
changeset
|
138 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
139 $ hg archive -t tar test.tar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
140 $ tar tf test.tar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
141 test/.hg_archival.txt |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
142 test/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
143 test/.hgsubstate |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
144 test/bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
145 test/baz/bletch |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
146 test/foo |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
147 |
25125
bd625cd4e5e7
progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23645
diff
changeset
|
148 $ hg archive --debug -t tbz2 -X baz test.tar.bz2 --config progress.debug=true |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
149 archiving: 0/4 files (0.00%) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
150 archiving: .hgsub 1/4 files (25.00%) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
151 archiving: .hgsubstate 2/4 files (50.00%) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
152 archiving: bar 3/4 files (75.00%) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
153 archiving: foo 4/4 files (100.00%) |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
154 $ bunzip2 -dc test.tar.bz2 | tar tf - 2>/dev/null |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
155 test/.hg_archival.txt |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
156 test/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
157 test/.hgsubstate |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
158 test/bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
159 test/foo |
2114
98cc126f9f3f
update tests after changing archival code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1929
diff
changeset
|
160 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
161 $ hg archive -t tgz -p %b-%h test-%h.tar.gz |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12339
diff
changeset
|
162 $ gzip -dc test-$QTIP.tar.gz | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
163 test-1701ef1f1510/.hg_archival.txt |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
164 test-1701ef1f1510/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
165 test-1701ef1f1510/.hgsubstate |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
166 test-1701ef1f1510/bar |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
167 test-1701ef1f1510/baz/bletch |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
168 test-1701ef1f1510/foo |
2114
98cc126f9f3f
update tests after changing archival code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1929
diff
changeset
|
169 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
170 $ hg archive autodetected_test.tar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
171 $ tar tf autodetected_test.tar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
172 autodetected_test/.hg_archival.txt |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
173 autodetected_test/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
174 autodetected_test/.hgsubstate |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
175 autodetected_test/bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
176 autodetected_test/baz/bletch |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
177 autodetected_test/foo |
10650
9ea7238ad935
archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents:
10154
diff
changeset
|
178 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
179 The '-t' should override autodetection |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
180 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
181 $ hg archive -t tar autodetect_override_test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
182 $ tar tf autodetect_override_test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
183 autodetect_override_test.zip/.hg_archival.txt |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
184 autodetect_override_test.zip/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
185 autodetect_override_test.zip/.hgsubstate |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
186 autodetect_override_test.zip/bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
187 autodetect_override_test.zip/baz/bletch |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
188 autodetect_override_test.zip/foo |
10650
9ea7238ad935
archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents:
10154
diff
changeset
|
189 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
190 $ for ext in tar tar.gz tgz tar.bz2 tbz2 zip; do |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
191 > hg archive auto_test.$ext |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
192 > if [ -d auto_test.$ext ]; then |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
193 > echo "extension $ext was not autodetected." |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
194 > fi |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
195 > done |
10650
9ea7238ad935
archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents:
10154
diff
changeset
|
196 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
197 $ cat > md5comp.py <<EOF |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
198 > try: |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
199 > from hashlib import md5 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
200 > except ImportError: |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
201 > from md5 import md5 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
202 > import sys |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
203 > f1, f2 = sys.argv[1:3] |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
204 > h1 = md5(file(f1, 'rb').read()).hexdigest() |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
205 > h2 = md5(file(f2, 'rb').read()).hexdigest() |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
206 > print h1 == h2 or "md5 differ: " + repr((h1, h2)) |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
207 > EOF |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
208 |
13140
217ae7d5c8ee
test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com>
parents:
12398
diff
changeset
|
209 archive name is stored in the archive, so create similar archives and |
217ae7d5c8ee
test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com>
parents:
12398
diff
changeset
|
210 rename them afterwards. |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
211 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
212 $ hg archive -t tgz tip.tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
213 $ mv tip.tar.gz tip1.tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
214 $ sleep 1 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
215 $ hg archive -t tgz tip.tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
216 $ mv tip.tar.gz tip2.tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
217 $ python md5comp.py tip1.tar.gz tip2.tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
218 True |
4653
ca023b63ba1f
archive: test md5 consistency
Brendan Cully <brendan@kublai.com>
parents:
2571
diff
changeset
|
219 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
220 $ hg archive -t zip -p /illegal test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
221 abort: archive prefix contains illegal components |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11853
diff
changeset
|
222 [255] |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
223 $ hg archive -t zip -p very/../bad test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
224 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
225 $ hg archive --config ui.archivemeta=false -t zip -r 2 test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
226 $ unzip -t test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
227 Archive: test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
228 testing: test/bar OK |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
229 testing: test/baz/bletch OK |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
230 testing: test/foo OK |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
231 No errors detected in compressed data of test.zip. |
4653
ca023b63ba1f
archive: test md5 consistency
Brendan Cully <brendan@kublai.com>
parents:
2571
diff
changeset
|
232 |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12339
diff
changeset
|
233 $ hg archive -t tar - | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
234 test-1701ef1f1510/.hg_archival.txt |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
235 test-1701ef1f1510/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
236 test-1701ef1f1510/.hgsubstate |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
237 test-1701ef1f1510/bar |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
238 test-1701ef1f1510/baz/bletch |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
239 test-1701ef1f1510/foo |
2114
98cc126f9f3f
update tests after changing archival code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1929
diff
changeset
|
240 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
241 $ hg archive -r 0 -t tar rev-%r.tar |
19870
055d5b3f83b1
tests: fix void and invalid test in test-archive.t
Mads Kiilerich <madski@unity3d.com>
parents:
18968
diff
changeset
|
242 $ [ -f rev-0.tar ] |
2476
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2187
diff
changeset
|
243 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
244 test .hg_archival.txt |
4863
6dc0094c0827
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4805
diff
changeset
|
245 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
246 $ hg archive ../test-tags |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
247 $ cat ../test-tags/.hg_archival.txt |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
248 repo: daa7f7c60e0a224faa4ff77ca41b2760562af264 |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
249 node: 1701ef1f151069b8747038e93b5186bb43a47504 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
250 branch: default |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
251 latesttag: null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
252 latesttagdistance: 4 |
23645
242d11819c6c
archive: store number of changes since latest tag as well
Siddharth Agarwal <sid0@fb.com>
parents:
23232
diff
changeset
|
253 changessincelatesttag: 4 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
254 $ hg tag -r 2 mytag |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
255 $ hg tag -r 2 anothertag |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
256 $ hg archive -r 2 ../test-lasttag |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
257 $ cat ../test-lasttag/.hg_archival.txt |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
258 repo: daa7f7c60e0a224faa4ff77ca41b2760562af264 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
259 node: 2c0277f05ed49d1c8328fb9ba92fba7a5ebcb33e |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
260 branch: default |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
261 tag: anothertag |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
262 tag: mytag |
5061
a49f2a4d5ff7
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4836
diff
changeset
|
263 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
264 $ hg archive -t bogus test.bogus |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
265 abort: unknown archive type 'bogus' |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11853
diff
changeset
|
266 [255] |
9614
58edd448da4f
archive: add branch and tag informations to the .hg_archival.txt file
Gilles Moris <gilles.moris@free.fr>
parents:
8296
diff
changeset
|
267 |
13143
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
268 enable progress extension: |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
269 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
270 $ cp $HGRCPATH $HGRCPATH.no-progress |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
271 $ cat >> $HGRCPATH <<EOF |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
272 > [extensions] |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
273 > progress = |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
274 > [progress] |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
275 > assume-tty = 1 |
13149
735dd8e8a208
progress using tests: disable time estimates to avoid flakiness
Augie Fackler <durin42@gmail.com>
parents:
13143
diff
changeset
|
276 > format = topic bar number |
13143
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
277 > delay = 0 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
278 > refresh = 0 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
279 > width = 60 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
280 > EOF |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
281 |
17743
6047947afb6b
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents:
17629
diff
changeset
|
282 $ hg archive ../with-progress |
6047947afb6b
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents:
17629
diff
changeset
|
283 \r (no-eol) (esc) |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
284 archiving [ ] 0/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
285 archiving [======> ] 1/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
286 archiving [=============> ] 2/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
287 archiving [====================> ] 3/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
288 archiving [===========================> ] 4/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
289 archiving [==================================> ] 5/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
290 archiving [==========================================>] 6/6\r (no-eol) (esc) |
17743
6047947afb6b
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents:
17629
diff
changeset
|
291 \r (no-eol) (esc) |
13143
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
292 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
293 cleanup after progress extension test: |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
294 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
295 $ cp $HGRCPATH.no-progress $HGRCPATH |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
296 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
297 server errors |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
298 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
299 $ cat errors.log |
6019
b70a530bdb93
cleanly abort on unknown archive type (issue966)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5384
diff
changeset
|
300 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
301 empty repo |
5924
b8009718a211
better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5384
diff
changeset
|
302 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
303 $ hg init ../empty |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
304 $ cd ../empty |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
305 $ hg archive ../test-empty |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
306 abort: no working directory: please specify a revision |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11853
diff
changeset
|
307 [255] |
13140
217ae7d5c8ee
test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com>
parents:
12398
diff
changeset
|
308 |
12321 | 309 old file -- date clamped to 1980 |
5924
b8009718a211
better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5384
diff
changeset
|
310 |
12368
9581d5efb6a5
tests: fix touch -t with RHEL
Matt Mackall <mpm@selenic.com>
parents:
12367
diff
changeset
|
311 $ touch -t 197501010000 old |
12321 | 312 $ hg add old |
313 $ hg commit -m old | |
314 $ hg archive ../old.zip | |
315 $ unzip -l ../old.zip | |
316 Archive: ../old.zip | |
12375
02990e22150b
tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents:
12372
diff
changeset
|
317 \s*Length.* (re) |
12376
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
318 *-----* (glob) |
23645
242d11819c6c
archive: store number of changes since latest tag as well
Siddharth Agarwal <sid0@fb.com>
parents:
23232
diff
changeset
|
319 *172*80*00:00*old/.hg_archival.txt (glob) |
12376
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
320 *0*80*00:00*old/old (glob) |
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
321 *-----* (glob) |
23645
242d11819c6c
archive: store number of changes since latest tag as well
Siddharth Agarwal <sid0@fb.com>
parents:
23232
diff
changeset
|
322 \s*172\s+2 files (re) |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
323 |
18967
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
324 show an error when a provided pattern matches no files |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
325 |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
326 $ hg archive -I file_that_does_not_exist.foo ../empty.zip |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
327 abort: no files match the archive pattern |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
328 [255] |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
329 |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
330 $ hg archive -X * ../empty.zip |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
331 abort: no files match the archive pattern |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
332 [255] |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
333 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
334 $ cd .. |
17628
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
335 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
336 issue3600: check whether "hg archive" can create archive files which |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
337 are extracted with expected timestamp, even though TZ is not |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
338 configured as GMT. |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
339 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
340 $ mkdir issue3600 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
341 $ cd issue3600 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
342 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
343 $ hg init repo |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
344 $ echo a > repo/a |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
345 $ hg -R repo add repo/a |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
346 $ hg -R repo commit -m '#0' -d '456789012 21600' |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
347 $ cat > show_mtime.py <<EOF |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
348 > import sys, os |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
349 > print int(os.stat(sys.argv[1]).st_mtime) |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
350 > EOF |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
351 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
352 $ hg -R repo archive --prefix tar-extracted archive.tar |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
353 $ (TZ=UTC-3; export TZ; tar xf archive.tar) |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
354 $ python show_mtime.py tar-extracted/a |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
355 456789012 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
356 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
357 $ hg -R repo archive --prefix zip-extracted archive.zip |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
358 $ (TZ=UTC-3; export TZ; unzip -q archive.zip) |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
359 $ python show_mtime.py zip-extracted/a |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
360 456789012 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
361 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
362 $ cd .. |