Show More
@@ -147,3 +147,99 b" Testing of the '--rev' flag" | |||
|
147 | 147 | 4 files, 9 changesets, 7 total revisions |
|
148 | 148 | |
|
149 | 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 |
General Comments 0
You need to be logged in to leave comments.
Login now