Show More
@@ -147,3 +147,99 b" Testing of the '--rev' flag" | |||||
147 | 4 files, 9 changesets, 7 total revisions |
|
147 | 4 files, 9 changesets, 7 total revisions | |
148 |
|
148 | |||
149 | $ cd .. |
|
149 | $ cd .. | |
|
150 | ||||
|
151 | Test server side validation during push | |||
|
152 | ======================================= | |||
|
153 | ||||
|
154 | $ hg init test-validation | |||
|
155 | $ cd test-validation | |||
|
156 | ||||
|
157 | $ cat > .hg/hgrc <<EOF | |||
|
158 | > [server] | |||
|
159 | > validate=1 | |||
|
160 | > EOF | |||
|
161 | ||||
|
162 | $ echo alpha > alpha | |||
|
163 | $ echo beta > beta | |||
|
164 | $ hg addr | |||
|
165 | adding alpha | |||
|
166 | adding beta | |||
|
167 | $ hg ci -m 1 | |||
|
168 | ||||
|
169 | $ cd .. | |||
|
170 | $ hg clone test-validation test-validation-clone | |||
|
171 | updating to branch default | |||
|
172 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
173 | ||||
|
174 | Test spurious filelog entries: | |||
|
175 | ||||
|
176 | $ cd test-validation-clone | |||
|
177 | $ echo blah >> beta | |||
|
178 | $ cp .hg/store/data/beta.i tmp1 | |||
|
179 | $ hg ci -m 2 | |||
|
180 | $ cp .hg/store/data/beta.i tmp2 | |||
|
181 | $ hg -q rollback | |||
|
182 | $ mv tmp2 .hg/store/data/beta.i | |||
|
183 | $ echo blah >> beta | |||
|
184 | $ hg ci -m '2 (corrupt)' | |||
|
185 | ||||
|
186 | Expected to fail: | |||
|
187 | ||||
|
188 | $ hg verify | |||
|
189 | checking changesets | |||
|
190 | checking manifests | |||
|
191 | crosschecking files in changesets and manifests | |||
|
192 | checking files | |||
|
193 | beta@1: dddc47b3ba30 not in manifests | |||
|
194 | 2 files, 2 changesets, 4 total revisions | |||
|
195 | 1 integrity errors encountered! | |||
|
196 | (first damaged changeset appears to be 1) | |||
|
197 | [1] | |||
|
198 | ||||
|
199 | $ hg push | |||
|
200 | pushing to $TESTTMP/test-validation (glob) | |||
|
201 | searching for changes | |||
|
202 | adding changesets | |||
|
203 | adding manifests | |||
|
204 | adding file changes | |||
|
205 | transaction abort! | |||
|
206 | rollback completed | |||
|
207 | abort: received spurious file revlog entry | |||
|
208 | [255] | |||
|
209 | ||||
|
210 | $ hg -q rollback | |||
|
211 | $ mv tmp1 .hg/store/data/beta.i | |||
|
212 | $ echo beta > beta | |||
|
213 | ||||
|
214 | Test missing filelog entries: | |||
|
215 | ||||
|
216 | $ cp .hg/store/data/beta.i tmp | |||
|
217 | $ echo blah >> beta | |||
|
218 | $ hg ci -m '2 (corrupt)' | |||
|
219 | $ mv tmp .hg/store/data/beta.i | |||
|
220 | ||||
|
221 | Expected to fail: | |||
|
222 | ||||
|
223 | $ hg verify | |||
|
224 | checking changesets | |||
|
225 | checking manifests | |||
|
226 | crosschecking files in changesets and manifests | |||
|
227 | checking files | |||
|
228 | beta@1: manifest refers to unknown revision dddc47b3ba30 | |||
|
229 | 2 files, 2 changesets, 2 total revisions | |||
|
230 | 1 integrity errors encountered! | |||
|
231 | (first damaged changeset appears to be 1) | |||
|
232 | [1] | |||
|
233 | ||||
|
234 | $ hg push | |||
|
235 | pushing to $TESTTMP/test-validation (glob) | |||
|
236 | searching for changes | |||
|
237 | adding changesets | |||
|
238 | adding manifests | |||
|
239 | adding file changes | |||
|
240 | transaction abort! | |||
|
241 | rollback completed | |||
|
242 | abort: missing file data for beta:dddc47b3ba30e54484720ce0f4f768a0f4b6efb9 - run hg verify | |||
|
243 | [255] | |||
|
244 | ||||
|
245 | $ cd .. |
1 | NO CONTENT: file was removed |
|
NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now