145 crosschecking files in changesets and manifests |
145 crosschecking files in changesets and manifests |
146 checking files |
146 checking files |
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 .. |