Show More
@@ -1,248 +1,250 b'' | |||||
1 | # Create server |
|
1 | # Create server | |
2 | $ hg init server |
|
2 | $ hg init server | |
3 | $ cd server |
|
3 | $ cd server | |
4 | $ cat >> .hg/hgrc << EOF |
|
4 | $ cat >> .hg/hgrc << EOF | |
5 | > [extensions] |
|
5 | > [extensions] | |
6 | > extension=$TESTDIR/flagprocessorext.py |
|
6 | > extension=$TESTDIR/flagprocessorext.py | |
7 | > EOF |
|
7 | > EOF | |
8 | $ cd ../ |
|
8 | $ cd ../ | |
9 |
|
9 | |||
10 | # Clone server and enable extensions |
|
10 | # Clone server and enable extensions | |
11 | $ hg clone -q server client |
|
11 | $ hg clone -q server client | |
12 | $ cd client |
|
12 | $ cd client | |
13 | $ cat >> .hg/hgrc << EOF |
|
13 | $ cat >> .hg/hgrc << EOF | |
14 | > [extensions] |
|
14 | > [extensions] | |
15 | > extension=$TESTDIR/flagprocessorext.py |
|
15 | > extension=$TESTDIR/flagprocessorext.py | |
16 | > EOF |
|
16 | > EOF | |
17 |
|
17 | |||
18 | # Commit file that will trigger the noop extension |
|
18 | # Commit file that will trigger the noop extension | |
19 | $ echo '[NOOP]' > noop |
|
19 | $ echo '[NOOP]' > noop | |
20 | $ hg commit -Aqm "noop" |
|
20 | $ hg commit -Aqm "noop" | |
21 |
|
21 | |||
22 | # Commit file that will trigger the base64 extension |
|
22 | # Commit file that will trigger the base64 extension | |
23 | $ echo '[BASE64]' > base64 |
|
23 | $ echo '[BASE64]' > base64 | |
24 | $ hg commit -Aqm 'base64' |
|
24 | $ hg commit -Aqm 'base64' | |
25 |
|
25 | |||
26 | # Commit file that will trigger the gzip extension |
|
26 | # Commit file that will trigger the gzip extension | |
27 | $ echo '[GZIP]' > gzip |
|
27 | $ echo '[GZIP]' > gzip | |
28 | $ hg commit -Aqm 'gzip' |
|
28 | $ hg commit -Aqm 'gzip' | |
29 |
|
29 | |||
30 | # Commit file that will trigger noop and base64 |
|
30 | # Commit file that will trigger noop and base64 | |
31 | $ echo '[NOOP][BASE64]' > noop-base64 |
|
31 | $ echo '[NOOP][BASE64]' > noop-base64 | |
32 | $ hg commit -Aqm 'noop+base64' |
|
32 | $ hg commit -Aqm 'noop+base64' | |
33 |
|
33 | |||
34 | # Commit file that will trigger noop and gzip |
|
34 | # Commit file that will trigger noop and gzip | |
35 | $ echo '[NOOP][GZIP]' > noop-gzip |
|
35 | $ echo '[NOOP][GZIP]' > noop-gzip | |
36 | $ hg commit -Aqm 'noop+gzip' |
|
36 | $ hg commit -Aqm 'noop+gzip' | |
37 |
|
37 | |||
38 | # Commit file that will trigger base64 and gzip |
|
38 | # Commit file that will trigger base64 and gzip | |
39 | $ echo '[BASE64][GZIP]' > base64-gzip |
|
39 | $ echo '[BASE64][GZIP]' > base64-gzip | |
40 | $ hg commit -Aqm 'base64+gzip' |
|
40 | $ hg commit -Aqm 'base64+gzip' | |
41 |
|
41 | |||
42 | # Commit file that will trigger base64, gzip and noop |
|
42 | # Commit file that will trigger base64, gzip and noop | |
43 | $ echo '[BASE64][GZIP][NOOP]' > base64-gzip-noop |
|
43 | $ echo '[BASE64][GZIP][NOOP]' > base64-gzip-noop | |
44 | $ hg commit -Aqm 'base64+gzip+noop' |
|
44 | $ hg commit -Aqm 'base64+gzip+noop' | |
45 |
|
45 | |||
46 | # TEST: ensure the revision data is consistent |
|
46 | # TEST: ensure the revision data is consistent | |
47 | $ hg cat noop |
|
47 | $ hg cat noop | |
48 | [NOOP] |
|
48 | [NOOP] | |
49 | $ hg debugdata noop 0 |
|
49 | $ hg debugdata noop 0 | |
50 | [NOOP] |
|
50 | [NOOP] | |
51 |
|
51 | |||
52 | $ hg cat -r . base64 |
|
52 | $ hg cat -r . base64 | |
53 | [BASE64] |
|
53 | [BASE64] | |
54 | $ hg debugdata base64 0 |
|
54 | $ hg debugdata base64 0 | |
55 | W0JBU0U2NF0K (no-eol) |
|
55 | W0JBU0U2NF0K (no-eol) | |
56 |
|
56 | |||
57 | $ hg cat -r . gzip |
|
57 | $ hg cat -r . gzip | |
58 | [GZIP] |
|
58 | [GZIP] | |
59 | $ hg debugdata gzip 0 |
|
59 | $ hg debugdata gzip 0 | |
60 | x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc) |
|
60 | x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc) | |
61 |
|
61 | |||
62 | $ hg cat -r . noop-base64 |
|
62 | $ hg cat -r . noop-base64 | |
63 | [NOOP][BASE64] |
|
63 | [NOOP][BASE64] | |
64 | $ hg debugdata noop-base64 0 |
|
64 | $ hg debugdata noop-base64 0 | |
65 | W05PT1BdW0JBU0U2NF0K (no-eol) |
|
65 | W05PT1BdW0JBU0U2NF0K (no-eol) | |
66 |
|
66 | |||
67 | $ hg cat -r . noop-gzip |
|
67 | $ hg cat -r . noop-gzip | |
68 | [NOOP][GZIP] |
|
68 | [NOOP][GZIP] | |
69 | $ hg debugdata noop-gzip 0 |
|
69 | $ hg debugdata noop-gzip 0 | |
70 | x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc) |
|
70 | x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc) | |
71 |
|
71 | |||
72 | $ hg cat -r . base64-gzip |
|
72 | $ hg cat -r . base64-gzip | |
73 | [BASE64][GZIP] |
|
73 | [BASE64][GZIP] | |
74 | $ hg debugdata base64-gzip 0 |
|
74 | $ hg debugdata base64-gzip 0 | |
75 | eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol) |
|
75 | eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol) | |
76 |
|
76 | |||
77 | $ hg cat -r . base64-gzip-noop |
|
77 | $ hg cat -r . base64-gzip-noop | |
78 | [BASE64][GZIP][NOOP] |
|
78 | [BASE64][GZIP][NOOP] | |
79 | $ hg debugdata base64-gzip-noop 0 |
|
79 | $ hg debugdata base64-gzip-noop 0 | |
80 | eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol) |
|
80 | eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol) | |
81 |
|
81 | |||
82 | # Push to the server |
|
82 | # Push to the server | |
83 | $ hg push |
|
83 | $ hg push | |
84 | pushing to $TESTTMP/server (glob) |
|
84 | pushing to $TESTTMP/server (glob) | |
85 | searching for changes |
|
85 | searching for changes | |
86 | adding changesets |
|
86 | adding changesets | |
87 | adding manifests |
|
87 | adding manifests | |
88 | adding file changes |
|
88 | adding file changes | |
89 | added 7 changesets with 7 changes to 7 files |
|
89 | added 7 changesets with 7 changes to 7 files | |
90 |
|
90 | |||
91 | # Initialize new client (not cloning) and setup extension |
|
91 | # Initialize new client (not cloning) and setup extension | |
92 | $ cd .. |
|
92 | $ cd .. | |
93 | $ hg init client2 |
|
93 | $ hg init client2 | |
94 | $ cd client2 |
|
94 | $ cd client2 | |
95 | $ cat >> .hg/hgrc << EOF |
|
95 | $ cat >> .hg/hgrc << EOF | |
96 | > [paths] |
|
96 | > [paths] | |
97 | > default = $TESTTMP/server |
|
97 | > default = $TESTTMP/server | |
98 | > [extensions] |
|
98 | > [extensions] | |
99 | > extension=$TESTDIR/flagprocessorext.py |
|
99 | > extension=$TESTDIR/flagprocessorext.py | |
100 | > EOF |
|
100 | > EOF | |
101 |
|
101 | |||
102 | # Pull from server and update to latest revision |
|
102 | # Pull from server and update to latest revision | |
103 | $ hg pull default |
|
103 | $ hg pull default | |
104 | pulling from $TESTTMP/server (glob) |
|
104 | pulling from $TESTTMP/server (glob) | |
105 | requesting all changes |
|
105 | requesting all changes | |
106 | adding changesets |
|
106 | adding changesets | |
107 | adding manifests |
|
107 | adding manifests | |
108 | adding file changes |
|
108 | adding file changes | |
109 | added 7 changesets with 7 changes to 7 files |
|
109 | added 7 changesets with 7 changes to 7 files | |
110 | (run 'hg update' to get a working copy) |
|
110 | (run 'hg update' to get a working copy) | |
111 | $ hg update |
|
111 | $ hg update | |
112 | 7 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
112 | 7 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
113 |
|
113 | |||
114 | # TEST: ensure the revision data is consistent |
|
114 | # TEST: ensure the revision data is consistent | |
115 | $ hg cat noop |
|
115 | $ hg cat noop | |
116 | [NOOP] |
|
116 | [NOOP] | |
117 | $ hg debugdata noop 0 |
|
117 | $ hg debugdata noop 0 | |
118 | [NOOP] |
|
118 | [NOOP] | |
119 |
|
119 | |||
120 | $ hg cat -r . base64 |
|
120 | $ hg cat -r . base64 | |
121 | [BASE64] |
|
121 | [BASE64] | |
122 | $ hg debugdata base64 0 |
|
122 | $ hg debugdata base64 0 | |
123 | W0JBU0U2NF0K (no-eol) |
|
123 | W0JBU0U2NF0K (no-eol) | |
124 |
|
124 | |||
125 | $ hg cat -r . gzip |
|
125 | $ hg cat -r . gzip | |
126 | [GZIP] |
|
126 | [GZIP] | |
127 | $ hg debugdata gzip 0 |
|
127 | $ hg debugdata gzip 0 | |
128 | x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc) |
|
128 | x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc) | |
129 |
|
129 | |||
130 | $ hg cat -r . noop-base64 |
|
130 | $ hg cat -r . noop-base64 | |
131 | [NOOP][BASE64] |
|
131 | [NOOP][BASE64] | |
132 | $ hg debugdata noop-base64 0 |
|
132 | $ hg debugdata noop-base64 0 | |
133 | W05PT1BdW0JBU0U2NF0K (no-eol) |
|
133 | W05PT1BdW0JBU0U2NF0K (no-eol) | |
134 |
|
134 | |||
135 | $ hg cat -r . noop-gzip |
|
135 | $ hg cat -r . noop-gzip | |
136 | [NOOP][GZIP] |
|
136 | [NOOP][GZIP] | |
137 | $ hg debugdata noop-gzip 0 |
|
137 | $ hg debugdata noop-gzip 0 | |
138 | x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc) |
|
138 | x\x9c\x8b\xf6\xf3\xf7\x0f\x88\x8dv\x8f\xf2\x0c\x88\xe5\x02\x00\x1dH\x03\xf1 (no-eol) (esc) | |
139 |
|
139 | |||
140 | $ hg cat -r . base64-gzip |
|
140 | $ hg cat -r . base64-gzip | |
141 | [BASE64][GZIP] |
|
141 | [BASE64][GZIP] | |
142 | $ hg debugdata base64-gzip 0 |
|
142 | $ hg debugdata base64-gzip 0 | |
143 | eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol) |
|
143 | eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol) | |
144 |
|
144 | |||
145 | $ hg cat -r . base64-gzip-noop |
|
145 | $ hg cat -r . base64-gzip-noop | |
146 | [BASE64][GZIP][NOOP] |
|
146 | [BASE64][GZIP][NOOP] | |
147 | $ hg debugdata base64-gzip-noop 0 |
|
147 | $ hg debugdata base64-gzip-noop 0 | |
148 | eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol) |
|
148 | eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol) | |
149 |
|
149 | |||
150 | # TEST: ensure a missing processor is handled |
|
150 | # TEST: ensure a missing processor is handled | |
151 | $ echo '[FAIL][BASE64][GZIP][NOOP]' > fail-base64-gzip-noop |
|
151 | $ echo '[FAIL][BASE64][GZIP][NOOP]' > fail-base64-gzip-noop | |
152 | $ hg commit -Aqm 'fail+base64+gzip+noop' |
|
152 | $ hg commit -Aqm 'fail+base64+gzip+noop' | |
153 | abort: missing processor for flag '0x1'! |
|
153 | abort: missing processor for flag '0x1'! | |
154 | [255] |
|
154 | [255] | |
155 | $ hg forget fail-base64-gzip-noop |
|
155 | $ hg forget fail-base64-gzip-noop | |
156 | $ rm fail-base64-gzip-noop |
|
156 | $ rm fail-base64-gzip-noop | |
157 |
|
157 | |||
158 | # TEST: ensure we cannot register several flag processors on the same flag |
|
158 | # TEST: ensure we cannot register several flag processors on the same flag | |
159 | $ cat >> .hg/hgrc << EOF |
|
159 | $ cat >> .hg/hgrc << EOF | |
160 | > [extensions] |
|
160 | > [extensions] | |
161 | > extension=$TESTDIR/flagprocessorext.py |
|
161 | > extension=$TESTDIR/flagprocessorext.py | |
162 | > duplicate=$TESTDIR/flagprocessorext.py |
|
162 | > duplicate=$TESTDIR/flagprocessorext.py | |
163 | > EOF |
|
163 | > EOF | |
164 | $ echo 'this should fail' > file |
|
164 | $ hg debugrebuilddirstate | |
165 | $ hg commit -Aqm 'add file' |
|
|||
166 | *** failed to set up extension duplicate: cannot register multiple processors on flag '0x8'. |
|
165 | *** failed to set up extension duplicate: cannot register multiple processors on flag '0x8'. | |
|
166 | $ hg st 2>&1 | egrep 'cannot register multiple processors|flagprocessorext' | |||
|
167 | *** failed to set up extension duplicate: cannot register multiple processors on flag '0x8'. | |||
|
168 | File "*/tests/flagprocessorext.py", line *, in b64decode (glob) | |||
167 |
|
169 | |||
168 | $ cd .. |
|
170 | $ cd .. | |
169 |
|
171 | |||
170 | # TEST: bundle repo |
|
172 | # TEST: bundle repo | |
171 | $ hg init bundletest |
|
173 | $ hg init bundletest | |
172 | $ cd bundletest |
|
174 | $ cd bundletest | |
173 |
|
175 | |||
174 | $ cat >> .hg/hgrc << EOF |
|
176 | $ cat >> .hg/hgrc << EOF | |
175 | > [extensions] |
|
177 | > [extensions] | |
176 | > flagprocessor=$TESTDIR/flagprocessorext.py |
|
178 | > flagprocessor=$TESTDIR/flagprocessorext.py | |
177 | > EOF |
|
179 | > EOF | |
178 |
|
180 | |||
179 | $ for i in 0 single two three 4; do |
|
181 | $ for i in 0 single two three 4; do | |
180 | > echo '[BASE64]a-bit-longer-'$i > base64 |
|
182 | > echo '[BASE64]a-bit-longer-'$i > base64 | |
181 | > hg commit -m base64-$i -A base64 |
|
183 | > hg commit -m base64-$i -A base64 | |
182 | > done |
|
184 | > done | |
183 |
|
185 | |||
184 | $ hg update 2 -q |
|
186 | $ hg update 2 -q | |
185 | $ echo '[BASE64]a-bit-longer-branching' > base64 |
|
187 | $ echo '[BASE64]a-bit-longer-branching' > base64 | |
186 | $ hg commit -q -m branching |
|
188 | $ hg commit -q -m branching | |
187 |
|
189 | |||
188 | $ hg bundle --base 1 bundle.hg |
|
190 | $ hg bundle --base 1 bundle.hg | |
189 | 4 changesets found |
|
191 | 4 changesets found | |
190 | $ hg --config extensions.strip= strip -r 2 --no-backup --force -q |
|
192 | $ hg --config extensions.strip= strip -r 2 --no-backup --force -q | |
191 | $ hg -R bundle.hg log --stat -T '{rev} {desc}\n' base64 |
|
193 | $ hg -R bundle.hg log --stat -T '{rev} {desc}\n' base64 | |
192 | 5 branching |
|
194 | 5 branching | |
193 | base64 | 2 +- |
|
195 | base64 | 2 +- | |
194 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
196 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
195 |
|
197 | |||
196 | 4 base64-4 |
|
198 | 4 base64-4 | |
197 | base64 | 2 +- |
|
199 | base64 | 2 +- | |
198 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
200 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
199 |
|
201 | |||
200 | 3 base64-three |
|
202 | 3 base64-three | |
201 | base64 | 2 +- |
|
203 | base64 | 2 +- | |
202 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
204 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
203 |
|
205 | |||
204 | 2 base64-two |
|
206 | 2 base64-two | |
205 | base64 | 2 +- |
|
207 | base64 | 2 +- | |
206 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
208 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
207 |
|
209 | |||
208 | 1 base64-single |
|
210 | 1 base64-single | |
209 | base64 | 2 +- |
|
211 | base64 | 2 +- | |
210 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
212 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
211 |
|
213 | |||
212 | 0 base64-0 |
|
214 | 0 base64-0 | |
213 | base64 | 1 + |
|
215 | base64 | 1 + | |
214 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
216 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
215 |
|
217 | |||
216 |
|
218 | |||
217 | $ hg bundle -R bundle.hg --base 1 bundle-again.hg -q |
|
219 | $ hg bundle -R bundle.hg --base 1 bundle-again.hg -q | |
218 | $ hg -R bundle-again.hg log --stat -T '{rev} {desc}\n' base64 |
|
220 | $ hg -R bundle-again.hg log --stat -T '{rev} {desc}\n' base64 | |
219 | 5 branching |
|
221 | 5 branching | |
220 | base64 | 2 +- |
|
222 | base64 | 2 +- | |
221 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
223 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
222 |
|
224 | |||
223 | 4 base64-4 |
|
225 | 4 base64-4 | |
224 | base64 | 2 +- |
|
226 | base64 | 2 +- | |
225 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
227 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
226 |
|
228 | |||
227 | 3 base64-three |
|
229 | 3 base64-three | |
228 | base64 | 2 +- |
|
230 | base64 | 2 +- | |
229 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
231 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
230 |
|
232 | |||
231 | 2 base64-two |
|
233 | 2 base64-two | |
232 | base64 | 2 +- |
|
234 | base64 | 2 +- | |
233 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
235 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
234 |
|
236 | |||
235 | 1 base64-single |
|
237 | 1 base64-single | |
236 | base64 | 2 +- |
|
238 | base64 | 2 +- | |
237 | 1 files changed, 1 insertions(+), 1 deletions(-) |
|
239 | 1 files changed, 1 insertions(+), 1 deletions(-) | |
238 |
|
240 | |||
239 | 0 base64-0 |
|
241 | 0 base64-0 | |
240 | base64 | 1 + |
|
242 | base64 | 1 + | |
241 | 1 files changed, 1 insertions(+), 0 deletions(-) |
|
243 | 1 files changed, 1 insertions(+), 0 deletions(-) | |
242 |
|
244 | |||
243 | $ rm bundle.hg bundle-again.hg |
|
245 | $ rm bundle.hg bundle-again.hg | |
244 |
|
246 | |||
245 | # TEST: hg status |
|
247 | # TEST: hg status | |
246 |
|
248 | |||
247 | $ hg status |
|
249 | $ hg status | |
248 | $ hg diff |
|
250 | $ hg diff |
General Comments 0
You need to be logged in to leave comments.
Login now