|
1 # Create server |
|
2 $ hg init server |
|
3 $ cd server |
|
4 $ cat >> .hg/hgrc << EOF |
|
5 > [extensions] |
|
6 > extension=$TESTDIR/flagprocessorext.py |
|
7 > EOF |
|
8 $ cd ../ |
|
9 |
|
10 # Clone server and enable extensions |
|
11 $ hg clone -q server client |
|
12 $ cd client |
|
13 $ cat >> .hg/hgrc << EOF |
|
14 > [extensions] |
|
15 > extension=$TESTDIR/flagprocessorext.py |
|
16 > EOF |
|
17 |
|
18 # Commit file that will trigger the noop extension |
|
19 $ echo '[NOOP]' > noop |
|
20 $ hg commit -Aqm "noop" |
|
21 |
|
22 # Commit file that will trigger the base64 extension |
|
23 $ echo '[BASE64]' > base64 |
|
24 $ hg commit -Aqm 'base64' |
|
25 |
|
26 # Commit file that will trigger the gzip extension |
|
27 $ echo '[GZIP]' > gzip |
|
28 $ hg commit -Aqm 'gzip' |
|
29 |
|
30 # Commit file that will trigger noop and base64 |
|
31 $ echo '[NOOP][BASE64]' > noop-base64 |
|
32 $ hg commit -Aqm 'noop+base64' |
|
33 |
|
34 # Commit file that will trigger noop and gzip |
|
35 $ echo '[NOOP][GZIP]' > noop-gzip |
|
36 $ hg commit -Aqm 'noop+gzip' |
|
37 |
|
38 # Commit file that will trigger base64 and gzip |
|
39 $ echo '[BASE64][GZIP]' > base64-gzip |
|
40 $ hg commit -Aqm 'base64+gzip' |
|
41 |
|
42 # Commit file that will trigger base64, gzip and noop |
|
43 $ echo '[BASE64][GZIP][NOOP]' > base64-gzip-noop |
|
44 $ hg commit -Aqm 'base64+gzip+noop' |
|
45 |
|
46 # TEST: ensure the revision data is consistent |
|
47 $ hg cat noop |
|
48 [NOOP] |
|
49 $ hg debugdata noop 0 |
|
50 [NOOP] |
|
51 |
|
52 $ hg cat -r . base64 |
|
53 [BASE64] |
|
54 $ hg debugdata base64 0 |
|
55 W0JBU0U2NF0K (no-eol) |
|
56 |
|
57 $ hg cat -r . gzip |
|
58 [GZIP] |
|
59 $ hg debugdata gzip 0 |
|
60 x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc) |
|
61 |
|
62 $ hg cat -r . noop-base64 |
|
63 [NOOP][BASE64] |
|
64 $ hg debugdata noop-base64 0 |
|
65 W05PT1BdW0JBU0U2NF0K (no-eol) |
|
66 |
|
67 $ hg cat -r . noop-gzip |
|
68 [NOOP][GZIP] |
|
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) |
|
71 |
|
72 $ hg cat -r . base64-gzip |
|
73 [BASE64][GZIP] |
|
74 $ hg debugdata base64-gzip 0 |
|
75 eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol) |
|
76 |
|
77 $ hg cat -r . base64-gzip-noop |
|
78 [BASE64][GZIP][NOOP] |
|
79 $ hg debugdata base64-gzip-noop 0 |
|
80 eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol) |
|
81 |
|
82 # Push to the server |
|
83 $ hg push |
|
84 pushing to $TESTTMP/server (glob) |
|
85 searching for changes |
|
86 adding changesets |
|
87 adding manifests |
|
88 adding file changes |
|
89 added 7 changesets with 7 changes to 7 files |
|
90 |
|
91 # Initialize new client (not cloning) and setup extension |
|
92 $ cd .. |
|
93 $ hg init client2 |
|
94 $ cd client2 |
|
95 $ cat >> .hg/hgrc << EOF |
|
96 > [paths] |
|
97 > default = $TESTTMP/server |
|
98 > [extensions] |
|
99 > extension=$TESTDIR/flagprocessorext.py |
|
100 > EOF |
|
101 |
|
102 # Pull from server and update to latest revision |
|
103 $ hg pull default |
|
104 pulling from $TESTTMP/server (glob) |
|
105 requesting all changes |
|
106 adding changesets |
|
107 adding manifests |
|
108 adding file changes |
|
109 added 7 changesets with 7 changes to 7 files |
|
110 (run 'hg update' to get a working copy) |
|
111 $ hg update |
|
112 7 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
113 |
|
114 # TEST: ensure the revision data is consistent |
|
115 $ hg cat noop |
|
116 [NOOP] |
|
117 $ hg debugdata noop 0 |
|
118 [NOOP] |
|
119 |
|
120 $ hg cat -r . base64 |
|
121 [BASE64] |
|
122 $ hg debugdata base64 0 |
|
123 W0JBU0U2NF0K (no-eol) |
|
124 |
|
125 $ hg cat -r . gzip |
|
126 [GZIP] |
|
127 $ hg debugdata gzip 0 |
|
128 x\x9c\x8bv\x8f\xf2\x0c\x88\xe5\x02\x00\x08\xc8\x01\xfd (no-eol) (esc) |
|
129 |
|
130 $ hg cat -r . noop-base64 |
|
131 [NOOP][BASE64] |
|
132 $ hg debugdata noop-base64 0 |
|
133 W05PT1BdW0JBU0U2NF0K (no-eol) |
|
134 |
|
135 $ hg cat -r . noop-gzip |
|
136 [NOOP][GZIP] |
|
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) |
|
139 |
|
140 $ hg cat -r . base64-gzip |
|
141 [BASE64][GZIP] |
|
142 $ hg debugdata base64-gzip 0 |
|
143 eJyLdnIMdjUziY12j/IMiOUCACLBBDo= (no-eol) |
|
144 |
|
145 $ hg cat -r . base64-gzip-noop |
|
146 [BASE64][GZIP][NOOP] |
|
147 $ hg debugdata base64-gzip-noop 0 |
|
148 eJyLdnIMdjUziY12j/IMiI328/cPiOUCAESjBi4= (no-eol) |
|
149 |
|
150 # TEST: ensure a missing processor is handled |
|
151 $ echo '[FAIL][BASE64][GZIP][NOOP]' > fail-base64-gzip-noop |
|
152 $ hg commit -Aqm 'fail+base64+gzip+noop' |
|
153 abort: missing processor for flag '0x1'! |
|
154 [255] |
|
155 |
|
156 # TEST: ensure we cannot register several flag processors on the same flag |
|
157 $ cat >> .hg/hgrc << EOF |
|
158 > [extensions] |
|
159 > extension=$TESTDIR/flagprocessorext.py |
|
160 > duplicate=$TESTDIR/flagprocessorext.py |
|
161 > EOF |
|
162 $ echo 'this should fail' > file |
|
163 $ hg commit -Aqm 'add file' |
|
164 abort: cannot register multiple processors on flag '0x8'. |
|
165 [255] |