Mercurial > hg
annotate tests/test-cat.t @ 39232:0a5b20c107a6
repository: remove storedeltachains from ifilestorage
The ifilestorage interface was bootstrapped from requirements of
callers outside the storage implementation (revlogs). I believe we
even made some members public so they could be part of the interface!
Historically, the changegroup code was a gross offender when it
came to accessing low-level storage primitives. There are a handful
of members on the ifilestorage interface that are/were used only
for changegroup code.
With the recent refactor of changegroup code and the establishment
of a formal API on the storage interface for producing revision
deltas, the changegroup code is no longer accessing these low-level
primitives related to delta generation directly. Instead, things
are abstracted away in the storage implementation.
This means we can remove elements from the storage interface that
are no longer needed.
We start with "storedeltachains."
We remove it from the interface. Then we make it a private
attribute and update all references.
.. api:: storedeltachains has been dropped from ifilestorage interface
.. api:: storedeltachains on revlog classes is now _storedeltachains
Differential Revision: https://phab.mercurial-scm.org/D4227
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 09 Aug 2018 16:11:24 -0700 |
parents | b1bbff1dd99a |
children | 34ba47117164 |
rev | line source |
---|---|
11874 | 1 $ hg init |
2 $ echo 0 > a | |
3 $ echo 0 > b | |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
12070
diff
changeset
|
4 $ hg ci -A -m m |
11874 | 5 adding a |
6 adding b | |
7 $ hg rm a | |
8 $ hg cat a | |
9 0 | |
10 $ hg cat --decode a # more tests in test-encode | |
11 0 | |
12 $ echo 1 > b | |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
12070
diff
changeset
|
13 $ hg ci -m m |
11874 | 14 $ echo 2 > b |
15 $ hg cat -r 0 a | |
16 0 | |
17 $ hg cat -r 0 b | |
18 0 | |
19 $ hg cat -r 1 a | |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
12070
diff
changeset
|
20 a: no such file in rev 7040230c159c |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
21 [1] |
11874 | 22 $ hg cat -r 1 b |
23 1 | |
17371
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
24 |
24381
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
25 Test multiple files |
17371
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
26 |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
27 $ echo 3 > c |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
28 $ hg ci -Am addmore c |
24381
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
29 $ hg cat b c |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
30 1 |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
31 3 |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
32 $ hg cat . |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
33 1 |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
34 3 |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
35 $ hg cat . c |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
36 1 |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
37 3 |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
38 |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
39 Test fileset |
82b82168d045
context.walk: walk all files when file and '.' given
Martin von Zweigbergk <martinvonz@google.com>
parents:
21078
diff
changeset
|
40 |
17371
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
41 $ hg cat 'set:not(b) or a' |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
42 3 |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
43 $ hg cat 'set:c or b' |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
44 1 |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
45 3 |
1310489eb5d6
fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents:
12316
diff
changeset
|
46 |
21078
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
47 $ mkdir tmp |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
48 $ hg cat --output tmp/HH_%H c |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
49 $ hg cat --output tmp/RR_%R c |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
50 $ hg cat --output tmp/h_%h c |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
51 $ hg cat --output tmp/r_%r c |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
52 $ hg cat --output tmp/%s_s c |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
53 $ hg cat --output tmp/%d%%_d c |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
54 $ hg cat --output tmp/%p_p c |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
55 $ hg log -r . --template "{rev}: {node|short}\n" |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
56 2: 45116003780e |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
57 $ find tmp -type f | sort |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
58 tmp/.%_d |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
59 tmp/HH_45116003780e3678b333fb2c99fa7d559c8457e9 |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
60 tmp/RR_2 |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
61 tmp/c_p |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
62 tmp/c_s |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
63 tmp/h_45116003780e |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
64 tmp/r_2 |
50107a4b32e7
cat: explicitly document the supported formatter rules
Matt Harbison <matt_harbison@yahoo.com>
parents:
17371
diff
changeset
|
65 |
32584
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
66 Test template output |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
67 |
38539
b1bbff1dd99a
cat: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
68 $ hg --cwd tmp cat ../b ../c -T '== {path} ({abspath}) r{rev} ==\n{data}' |
b1bbff1dd99a
cat: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
69 == ../b (b) r2 == |
32584
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
70 1 |
38539
b1bbff1dd99a
cat: add support for log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org>
parents:
35393
diff
changeset
|
71 == ../c (c) r2 == |
32584
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
72 3 |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
73 |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
74 $ hg cat b c -Tjson --output - |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
75 [ |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
76 { |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
77 "abspath": "b", |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
78 "data": "1\n", |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
79 "path": "b" |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
80 }, |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
81 { |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
82 "abspath": "c", |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
83 "data": "3\n", |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
84 "path": "c" |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
85 } |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
86 ] |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
87 |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
88 $ hg cat b c -Tjson --output 'tmp/%p.json' |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
89 $ cat tmp/b.json |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
90 [ |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
91 { |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
92 "abspath": "b", |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
93 "data": "1\n", |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
94 "path": "b" |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
95 } |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
96 ] |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
97 $ cat tmp/c.json |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
98 [ |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
99 { |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
100 "abspath": "c", |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
101 "data": "3\n", |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
102 "path": "c" |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
103 } |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
104 ] |
746e12a767b3
cat: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
30833
diff
changeset
|
105 |
24720
c560d8c68791
cat: disable optimization of single file case for workingctx
Yuya Nishihara <yuya@tcha.org>
parents:
24381
diff
changeset
|
106 Test working directory |
c560d8c68791
cat: disable optimization of single file case for workingctx
Yuya Nishihara <yuya@tcha.org>
parents:
24381
diff
changeset
|
107 |
c560d8c68791
cat: disable optimization of single file case for workingctx
Yuya Nishihara <yuya@tcha.org>
parents:
24381
diff
changeset
|
108 $ echo b-wdir > b |
c560d8c68791
cat: disable optimization of single file case for workingctx
Yuya Nishihara <yuya@tcha.org>
parents:
24381
diff
changeset
|
109 $ hg cat -r 'wdir()' b |
c560d8c68791
cat: disable optimization of single file case for workingctx
Yuya Nishihara <yuya@tcha.org>
parents:
24381
diff
changeset
|
110 b-wdir |
30833
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
111 |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
112 Environment variables are not visible by default |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
113 |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
114 $ PATTERN='t4' hg log -r '.' -T "{ifcontains('PATTERN', envvars, 'yes', 'no')}\n" |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
115 no |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
116 |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
117 Environment variable visibility can be explicit |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
118 |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
119 $ PATTERN='t4' hg log -r '.' -T "{envvars % '{key} -> {value}\n'}" \ |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
120 > --config "experimental.exportableenviron=PATTERN" |
bd5e9647f646
templater: add '{envvars}' to access environment variables
Matt Harbison <matt_harbison@yahoo.com>
parents:
24720
diff
changeset
|
121 PATTERN -> t4 |
35006
8154119ed236
cat: test output path behvaior when target path does not exist
Ryan McElroy <rmcelroy@fb.com>
parents:
32584
diff
changeset
|
122 |
8154119ed236
cat: test output path behvaior when target path does not exist
Ryan McElroy <rmcelroy@fb.com>
parents:
32584
diff
changeset
|
123 Test behavior of output when directory structure does not already exist |
8154119ed236
cat: test output path behvaior when target path does not exist
Ryan McElroy <rmcelroy@fb.com>
parents:
32584
diff
changeset
|
124 |
8154119ed236
cat: test output path behvaior when target path does not exist
Ryan McElroy <rmcelroy@fb.com>
parents:
32584
diff
changeset
|
125 $ mkdir foo |
8154119ed236
cat: test output path behvaior when target path does not exist
Ryan McElroy <rmcelroy@fb.com>
parents:
32584
diff
changeset
|
126 $ echo a > foo/a |
8154119ed236
cat: test output path behvaior when target path does not exist
Ryan McElroy <rmcelroy@fb.com>
parents:
32584
diff
changeset
|
127 $ hg add foo/a |
8154119ed236
cat: test output path behvaior when target path does not exist
Ryan McElroy <rmcelroy@fb.com>
parents:
32584
diff
changeset
|
128 $ hg commit -qm "add foo/a" |
8154119ed236
cat: test output path behvaior when target path does not exist
Ryan McElroy <rmcelroy@fb.com>
parents:
32584
diff
changeset
|
129 $ hg cat --output "output/%p" foo/a |
35007
407ec7f3ff02
cmdutil: create dirs for templated cat file output
Ryan McElroy <rmcelroy@fb.com>
parents:
35006
diff
changeset
|
130 $ cat output/foo/a |
407ec7f3ff02
cmdutil: create dirs for templated cat file output
Ryan McElroy <rmcelroy@fb.com>
parents:
35006
diff
changeset
|
131 a |