##// END OF EJS Templates
verify: also check dirstate...
Raphaël Gomès -
r50721:c84844cd default
parent child Browse files
Show More
@@ -87,6 +87,7 b' from . import ('
87 upgrade,
87 upgrade,
88 url as urlmod,
88 url as urlmod,
89 util,
89 util,
90 verify,
90 vfs as vfsmod,
91 vfs as vfsmod,
91 wireprotoframing,
92 wireprotoframing,
92 wireprotoserver,
93 wireprotoserver,
@@ -554,15 +555,9 b' def debugchangedfiles(ui, repo, rev, **o'
554 @command(b'debugcheckstate', [], b'')
555 @command(b'debugcheckstate', [], b'')
555 def debugcheckstate(ui, repo):
556 def debugcheckstate(ui, repo):
556 """validate the correctness of the current dirstate"""
557 """validate the correctness of the current dirstate"""
557 parent1, parent2 = repo.dirstate.parents()
558 errors = verify.verifier(repo)._verify_dirstate()
558 m1 = repo[parent1].manifest()
559 m2 = repo[parent2].manifest()
560 errors = 0
561 for err in repo.dirstate.verify(m1, m2):
562 ui.warn(err)
563 errors += 1
564 if errors:
559 if errors:
565 errstr = _(b".hg/dirstate inconsistent with current parent's manifest")
560 errstr = _(b"dirstate inconsistent with current parent's manifest")
566 raise error.Abort(errstr)
561 raise error.Abort(errstr)
567
562
568
563
@@ -15,6 +15,7 b' from .utils import stringutil'
15 from . import (
15 from . import (
16 error,
16 error,
17 pycompat,
17 pycompat,
18 requirements,
18 revlog,
19 revlog,
19 util,
20 util,
20 )
21 )
@@ -210,6 +211,12 b' class verifier:'
210 self._crosscheckfiles(filelinkrevs, filenodes)
211 self._crosscheckfiles(filelinkrevs, filenodes)
211 totalfiles, filerevisions = self._verifyfiles(filenodes, filelinkrevs)
212 totalfiles, filerevisions = self._verifyfiles(filenodes, filelinkrevs)
212
213
214 if self.errors:
215 ui.warn(_(b"not checking dirstate because of previous errors\n"))
216 dirstate_errors = 0
217 else:
218 dirstate_errors = self._verify_dirstate()
219
213 # final report
220 # final report
214 ui.status(
221 ui.status(
215 _(b"checked %d changesets with %d changes to %d files\n")
222 _(b"checked %d changesets with %d changes to %d files\n")
@@ -225,6 +232,11 b' class verifier:'
225 msg = _(b"(first damaged changeset appears to be %d)\n")
232 msg = _(b"(first damaged changeset appears to be %d)\n")
226 msg %= min(self.badrevs)
233 msg %= min(self.badrevs)
227 ui.warn(msg)
234 ui.warn(msg)
235 if dirstate_errors:
236 ui.warn(
237 _(b"dirstate inconsistent with current parent's manifest\n")
238 )
239 ui.warn(_(b"%d dirstate errors\n") % dirstate_errors)
228 return 1
240 return 1
229 return 0
241 return 0
230
242
@@ -585,3 +597,25 b' class verifier:'
585 self._warn(_(b"warning: orphan data file '%s'") % f)
597 self._warn(_(b"warning: orphan data file '%s'") % f)
586
598
587 return len(files), revisions
599 return len(files), revisions
600
601 def _verify_dirstate(self):
602 """Check that the dirstate is consistent with the parent's manifest"""
603 repo = self.repo
604 ui = self.ui
605 ui.status(_(b"checking dirstate\n"))
606
607 parent1, parent2 = repo.dirstate.parents()
608 m1 = repo[parent1].manifest()
609 m2 = repo[parent2].manifest()
610 dirstate_errors = 0
611
612 is_narrow = requirements.NARROW_REQUIREMENT in repo.requirements
613 narrow_matcher = repo.narrowmatch() if is_narrow else None
614
615 for err in repo.dirstate.verify(m1, m2, narrow_matcher):
616 ui.error(err)
617 dirstate_errors += 1
618
619 if dirstate_errors:
620 self.errors += dirstate_errors
621 return dirstate_errors
@@ -190,6 +190,7 b' broken repositories will refuse to push'
190 checking manifests
190 checking manifests
191 crosschecking files in changesets and manifests
191 crosschecking files in changesets and manifests
192 checking files
192 checking files
193 checking dirstate
193 checked 5 changesets with 12 changes to 4 files
194 checked 5 changesets with 12 changes to 4 files
194 checking subrepo links
195 checking subrepo links
195 subrepo 't' not found in revision 04aa62396ec6
196 subrepo 't' not found in revision 04aa62396ec6
@@ -121,6 +121,7 b' Verify should succeed:'
121 checking manifests
121 checking manifests
122 crosschecking files in changesets and manifests
122 crosschecking files in changesets and manifests
123 checking files
123 checking files
124 checking dirstate
124 checked 1 changesets with 1 changes to 1 files
125 checked 1 changesets with 1 changes to 1 files
125
126
126 Repository root:
127 Repository root:
@@ -175,6 +175,7 b' Repo fails verification due to censorshi'
175 checking files
175 checking files
176 target@1: censored file data
176 target@1: censored file data
177 target@2: censored file data
177 target@2: censored file data
178 not checking dirstate because of previous errors
178 checked 5 changesets with 7 changes to 2 files
179 checked 5 changesets with 7 changes to 2 files
179 2 integrity errors encountered!
180 2 integrity errors encountered!
180 (first damaged changeset appears to be 1)
181 (first damaged changeset appears to be 1)
@@ -541,6 +541,7 b' changelog and manifest would have invali'
541 checking manifests
541 checking manifests
542 crosschecking files in changesets and manifests
542 crosschecking files in changesets and manifests
543 checking files
543 checking files
544 checking dirstate
544 checked 2 changesets with 2 changes to 1 files
545 checked 2 changesets with 2 changes to 1 files
545 $ hg revert --no-backup -aq
546 $ hg revert --no-backup -aq
546
547
@@ -825,6 +826,7 b' structured message channel:'
825 message: '\xa6Ditem@Cpos\xf6EtopicMcrosscheckingEtotal\xf6DtypeHprogressDunit@'
826 message: '\xa6Ditem@Cpos\xf6EtopicMcrosscheckingEtotal\xf6DtypeHprogressDunit@'
826 message: '\xa2DdataOchecking files\nDtypeFstatus'
827 message: '\xa2DdataOchecking files\nDtypeFstatus'
827 message: '\xa6Ditem@Cpos\xf6EtopicHcheckingEtotal\xf6DtypeHprogressDunit@'
828 message: '\xa6Ditem@Cpos\xf6EtopicHcheckingEtotal\xf6DtypeHprogressDunit@'
829 message: '\xa2DdataRchecking dirstate\nDtypeFstatus'
828 message: '\xa2DdataX/checked 0 changesets with 0 changes to 0 files\nDtypeFstatus'
830 message: '\xa2DdataX/checked 0 changesets with 0 changes to 0 files\nDtypeFstatus'
829
831
830 >>> from hgclient import checkwith, readchannel, runcommand, stringio
832 >>> from hgclient import checkwith, readchannel, runcommand, stringio
@@ -61,6 +61,7 b' Testing verify:'
61 warning: revlog 'data/a.i' not in fncache!
61 warning: revlog 'data/a.i' not in fncache!
62 warning: revlog 'data/a.i.hg/c.i' not in fncache!
62 warning: revlog 'data/a.i.hg/c.i' not in fncache!
63 warning: revlog 'data/a.i/b.i' not in fncache!
63 warning: revlog 'data/a.i/b.i' not in fncache!
64 checking dirstate
64 checked 3 changesets with 3 changes to 3 files
65 checked 3 changesets with 3 changes to 3 files
65 3 warnings encountered!
66 3 warnings encountered!
66 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
67 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
@@ -349,6 +350,7 b' Clean cached versions'
349 checking manifests
350 checking manifests
350 crosschecking files in changesets and manifests
351 crosschecking files in changesets and manifests
351 checking files
352 checking files
353 checking dirstate
352 checked 1 changesets with 1 changes to 1 files
354 checked 1 changesets with 1 changes to 1 files
353 $ cat .hg/store/fncache
355 $ cat .hg/store/fncache
354 data/y.i
356 data/y.i
@@ -242,6 +242,7 b" test 'verify' with remotestore:"
242 checking manifests
242 checking manifests
243 crosschecking files in changesets and manifests
243 crosschecking files in changesets and manifests
244 checking files
244 checking files
245 checking dirstate
245 checked 1 changesets with 1 changes to 1 files
246 checked 1 changesets with 1 changes to 1 files
246 searching 1 changesets for largefiles
247 searching 1 changesets for largefiles
247 changeset 0:cf03e5bb9936: f1 missing
248 changeset 0:cf03e5bb9936: f1 missing
@@ -1545,6 +1545,7 b' revert some files to an older revision'
1545 checking manifests
1545 checking manifests
1546 crosschecking files in changesets and manifests
1546 crosschecking files in changesets and manifests
1547 checking files
1547 checking files
1548 checking dirstate
1548 checked 10 changesets with 28 changes to 10 files
1549 checked 10 changesets with 28 changes to 10 files
1549 searching 1 changesets for largefiles
1550 searching 1 changesets for largefiles
1550 verified existence of 3 revisions of 3 largefiles
1551 verified existence of 3 revisions of 3 largefiles
@@ -345,6 +345,7 b' process.'
345 checking manifests
345 checking manifests
346 crosschecking files in changesets and manifests
346 crosschecking files in changesets and manifests
347 checking files
347 checking files
348 checking dirstate
348 checked 8 changesets with 13 changes to 9 files
349 checked 8 changesets with 13 changes to 9 files
349 searching 7 changesets for largefiles
350 searching 7 changesets for largefiles
350 changeset 0:d4892ec57ce2: large references missing $TESTTMP/largefiles-repo-hg/.hg/largefiles/2e000fa7e85759c7f4c254d4d9c33ef481e459a7
351 changeset 0:d4892ec57ce2: large references missing $TESTTMP/largefiles-repo-hg/.hg/largefiles/2e000fa7e85759c7f4c254d4d9c33ef481e459a7
@@ -789,6 +789,7 b' Repo with damaged lfs objects in any rev'
789 checking files
789 checking files
790 l@1: unpacking 46a2f24864bc: integrity check failed on l:0
790 l@1: unpacking 46a2f24864bc: integrity check failed on l:0
791 large@0: unpacking 2c531e0992ff: integrity check failed on large:0
791 large@0: unpacking 2c531e0992ff: integrity check failed on large:0
792 not checking dirstate because of previous errors
792 checked 5 changesets with 10 changes to 4 files
793 checked 5 changesets with 10 changes to 4 files
793 2 integrity errors encountered!
794 2 integrity errors encountered!
794 (first damaged changeset appears to be 0)
795 (first damaged changeset appears to be 0)
@@ -851,6 +852,7 b" blob, and the output shows that it isn't"
851 checking files
852 checking files
852 lfs: found 22f66a3fc0b9bf3f012c814303995ec07099b3a9ce02a7af84b5970811074a3b in the local lfs store
853 lfs: found 22f66a3fc0b9bf3f012c814303995ec07099b3a9ce02a7af84b5970811074a3b in the local lfs store
853 lfs blob sha256:66100b384bf761271b407d79fc30cdd0554f3b2c5d944836e936d584b88ce88e renamed large -> l
854 lfs blob sha256:66100b384bf761271b407d79fc30cdd0554f3b2c5d944836e936d584b88ce88e renamed large -> l
855 checking dirstate
854 checked 5 changesets with 10 changes to 4 files
856 checked 5 changesets with 10 changes to 4 files
855
857
856 Verify will not try to download lfs blobs, if told not to by the config option
858 Verify will not try to download lfs blobs, if told not to by the config option
@@ -865,6 +867,7 b' Verify will not try to download lfs blob'
865 checking files
867 checking files
866 lfs: found 22f66a3fc0b9bf3f012c814303995ec07099b3a9ce02a7af84b5970811074a3b in the local lfs store
868 lfs: found 22f66a3fc0b9bf3f012c814303995ec07099b3a9ce02a7af84b5970811074a3b in the local lfs store
867 lfs blob sha256:66100b384bf761271b407d79fc30cdd0554f3b2c5d944836e936d584b88ce88e renamed large -> l
869 lfs blob sha256:66100b384bf761271b407d79fc30cdd0554f3b2c5d944836e936d584b88ce88e renamed large -> l
870 checking dirstate
868 checked 5 changesets with 10 changes to 4 files
871 checked 5 changesets with 10 changes to 4 files
869
872
870 Verify will copy/link all lfs objects into the local store that aren't already
873 Verify will copy/link all lfs objects into the local store that aren't already
@@ -885,6 +888,7 b' the (uncorrupted) remote store.'
885 lfs: found 89b6070915a3d573ff3599d1cda305bc5e38549b15c4847ab034169da66e1ca8 in the local lfs store
888 lfs: found 89b6070915a3d573ff3599d1cda305bc5e38549b15c4847ab034169da66e1ca8 in the local lfs store
886 lfs: adding b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c to the usercache
889 lfs: adding b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c to the usercache
887 lfs: found b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c in the local lfs store
890 lfs: found b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c in the local lfs store
891 checking dirstate
888 checked 5 changesets with 10 changes to 4 files
892 checked 5 changesets with 10 changes to 4 files
889
893
890 Verify will not copy/link a corrupted file from the usercache into the local
894 Verify will not copy/link a corrupted file from the usercache into the local
@@ -902,6 +906,7 b' store, and poison it. (The verify with '
902 large@0: unpacking 2c531e0992ff: integrity check failed on large:0
906 large@0: unpacking 2c531e0992ff: integrity check failed on large:0
903 lfs: found 89b6070915a3d573ff3599d1cda305bc5e38549b15c4847ab034169da66e1ca8 in the local lfs store
907 lfs: found 89b6070915a3d573ff3599d1cda305bc5e38549b15c4847ab034169da66e1ca8 in the local lfs store
904 lfs: found b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c in the local lfs store
908 lfs: found b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c in the local lfs store
909 not checking dirstate because of previous errors
905 checked 5 changesets with 10 changes to 4 files
910 checked 5 changesets with 10 changes to 4 files
906 2 integrity errors encountered!
911 2 integrity errors encountered!
907 (first damaged changeset appears to be 0)
912 (first damaged changeset appears to be 0)
@@ -917,6 +922,7 b' store, and poison it. (The verify with '
917 lfs: found 66100b384bf761271b407d79fc30cdd0554f3b2c5d944836e936d584b88ce88e in the local lfs store
922 lfs: found 66100b384bf761271b407d79fc30cdd0554f3b2c5d944836e936d584b88ce88e in the local lfs store
918 lfs: found 89b6070915a3d573ff3599d1cda305bc5e38549b15c4847ab034169da66e1ca8 in the local lfs store
923 lfs: found 89b6070915a3d573ff3599d1cda305bc5e38549b15c4847ab034169da66e1ca8 in the local lfs store
919 lfs: found b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c in the local lfs store
924 lfs: found b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c in the local lfs store
925 checking dirstate
920 checked 5 changesets with 10 changes to 4 files
926 checked 5 changesets with 10 changes to 4 files
921
927
922 Damaging a file required by the update destination fails the update.
928 Damaging a file required by the update destination fails the update.
@@ -943,6 +949,7 b' usercache or local store.'
943 checking files
949 checking files
944 l@1: unpacking 46a2f24864bc: integrity check failed on l:0
950 l@1: unpacking 46a2f24864bc: integrity check failed on l:0
945 large@0: unpacking 2c531e0992ff: integrity check failed on large:0
951 large@0: unpacking 2c531e0992ff: integrity check failed on large:0
952 not checking dirstate because of previous errors
946 checked 5 changesets with 10 changes to 4 files
953 checked 5 changesets with 10 changes to 4 files
947 2 integrity errors encountered!
954 2 integrity errors encountered!
948 (first damaged changeset appears to be 0)
955 (first damaged changeset appears to be 0)
@@ -972,6 +979,7 b' avoids the corrupt lfs object in the ori'
972 large@0: unpacking 2c531e0992ff: integrity check failed on large:0
979 large@0: unpacking 2c531e0992ff: integrity check failed on large:0
973 lfs: found 89b6070915a3d573ff3599d1cda305bc5e38549b15c4847ab034169da66e1ca8 in the local lfs store
980 lfs: found 89b6070915a3d573ff3599d1cda305bc5e38549b15c4847ab034169da66e1ca8 in the local lfs store
974 lfs: found b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c in the local lfs store
981 lfs: found b1a6ea88da0017a0e77db139a54618986e9a2489bee24af9fe596de9daac498c in the local lfs store
982 not checking dirstate because of previous errors
975 checked 5 changesets with 10 changes to 4 files
983 checked 5 changesets with 10 changes to 4 files
976 2 integrity errors encountered!
984 2 integrity errors encountered!
977 (first damaged changeset appears to be 0)
985 (first damaged changeset appears to be 0)
@@ -101,4 +101,5 b' Checking that repository has all the req'
101 checking directory manifests (tree !)
101 checking directory manifests (tree !)
102 crosschecking files in changesets and manifests
102 crosschecking files in changesets and manifests
103 checking files
103 checking files
104 checking dirstate
104 checked 40 changesets with 1 changes to 1 files
105 checked 40 changesets with 1 changes to 1 files
@@ -141,6 +141,7 b' Expected to fail:'
141
141
142 $ hg verify -q
142 $ hg verify -q
143 beta@1: dddc47b3ba30 not in manifests
143 beta@1: dddc47b3ba30 not in manifests
144 not checking dirstate because of previous errors
144 1 integrity errors encountered!
145 1 integrity errors encountered!
145 (first damaged changeset appears to be 1)
146 (first damaged changeset appears to be 1)
146 [1]
147 [1]
@@ -171,6 +172,7 b' Expected to fail:'
171
172
172 $ hg verify -q
173 $ hg verify -q
173 beta@1: manifest refers to unknown revision dddc47b3ba30
174 beta@1: manifest refers to unknown revision dddc47b3ba30
175 not checking dirstate because of previous errors
174 1 integrity errors encountered!
176 1 integrity errors encountered!
175 (first damaged changeset appears to be 1)
177 (first damaged changeset appears to be 1)
176 [1]
178 [1]
@@ -66,6 +66,7 b''
66 (expected 1)
66 (expected 1)
67 b@?: 736c29771fba not in manifests
67 b@?: 736c29771fba not in manifests
68 warning: orphan data file 'data/c.i'
68 warning: orphan data file 'data/c.i'
69 not checking dirstate because of previous errors
69 checked 2 changesets with 3 changes to 2 files
70 checked 2 changesets with 3 changes to 2 files
70 2 warnings encountered!
71 2 warnings encountered!
71 2 integrity errors encountered!
72 2 integrity errors encountered!
@@ -79,6 +80,7 b''
79 checking manifests
80 checking manifests
80 crosschecking files in changesets and manifests
81 crosschecking files in changesets and manifests
81 checking files
82 checking files
83 checking dirstate
82 checked 2 changesets with 2 changes to 2 files
84 checked 2 changesets with 2 changes to 2 files
83 $ teststrip 0 2 r .hg/store/data/b.i
85 $ teststrip 0 2 r .hg/store/data/b.i
84 % before update 0, strip 2
86 % before update 0, strip 2
@@ -93,6 +95,7 b''
93 checking manifests
95 checking manifests
94 crosschecking files in changesets and manifests
96 crosschecking files in changesets and manifests
95 checking files
97 checking files
98 checking dirstate
96 checked 4 changesets with 4 changes to 3 files
99 checked 4 changesets with 4 changes to 3 files
97 % journal contents
100 % journal contents
98 (no journal)
101 (no journal)
@@ -124,6 +127,7 b''
124 b@?: rev 1 points to nonexistent changeset 2
127 b@?: rev 1 points to nonexistent changeset 2
125 (expected 1)
128 (expected 1)
126 c@?: rev 0 points to nonexistent changeset 3
129 c@?: rev 0 points to nonexistent changeset 3
130 not checking dirstate because of previous errors
127 checked 2 changesets with 4 changes to 3 files
131 checked 2 changesets with 4 changes to 3 files
128 1 warnings encountered!
132 1 warnings encountered!
129 7 integrity errors encountered!
133 7 integrity errors encountered!
@@ -138,6 +142,7 b''
138 checking manifests
142 checking manifests
139 crosschecking files in changesets and manifests
143 crosschecking files in changesets and manifests
140 checking files
144 checking files
145 checking dirstate
141 checked 2 changesets with 2 changes to 2 files
146 checked 2 changesets with 2 changes to 2 files
142
147
143 $ cd ..
148 $ cd ..
@@ -619,6 +619,7 b' Verify reports missing dirlog'
619 b/bar/orange/fly/housefly.txt@0: in changeset but not in manifest
619 b/bar/orange/fly/housefly.txt@0: in changeset but not in manifest
620 b/foo/apple/bees/flower.py@0: in changeset but not in manifest
620 b/foo/apple/bees/flower.py@0: in changeset but not in manifest
621 checking files
621 checking files
622 not checking dirstate because of previous errors
622 checked 4 changesets with 18 changes to 8 files
623 checked 4 changesets with 18 changes to 8 files
623 6 warnings encountered! (reporevlogstore !)
624 6 warnings encountered! (reporevlogstore !)
624 9 integrity errors encountered!
625 9 integrity errors encountered!
@@ -644,6 +645,7 b' Verify reports missing dirlog entry'
644 (expected None)
645 (expected None)
645 crosschecking files in changesets and manifests
646 crosschecking files in changesets and manifests
646 checking files
647 checking files
648 not checking dirstate because of previous errors
647 checked 4 changesets with 18 changes to 8 files
649 checked 4 changesets with 18 changes to 8 files
648 2 warnings encountered!
650 2 warnings encountered!
649 8 integrity errors encountered!
651 8 integrity errors encountered!
@@ -20,6 +20,7 b' verify'
20 checking manifests
20 checking manifests
21 crosschecking files in changesets and manifests
21 crosschecking files in changesets and manifests
22 checking files
22 checking files
23 checking dirstate
23 checked 1 changesets with 3 changes to 3 files
24 checked 1 changesets with 3 changes to 3 files
24
25
25 verify with journal
26 verify with journal
@@ -31,6 +32,7 b' verify with journal'
31 checking manifests
32 checking manifests
32 crosschecking files in changesets and manifests
33 crosschecking files in changesets and manifests
33 checking files
34 checking files
35 checking dirstate
34 checked 1 changesets with 3 changes to 3 files
36 checked 1 changesets with 3 changes to 3 files
35 $ rm .hg/store/journal
37 $ rm .hg/store/journal
36
38
@@ -55,6 +57,7 b' introduce some bugs in repo'
55 warning: revlog 'data/bar.txt.i' not in fncache!
57 warning: revlog 'data/bar.txt.i' not in fncache!
56 0: empty or missing bar.txt
58 0: empty or missing bar.txt
57 bar.txt@0: manifest refers to unknown revision 256559129457
59 bar.txt@0: manifest refers to unknown revision 256559129457
60 not checking dirstate because of previous errors
58 checked 1 changesets with 0 changes to 3 files
61 checked 1 changesets with 0 changes to 3 files
59 3 warnings encountered!
62 3 warnings encountered!
60 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
63 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
@@ -83,6 +86,7 b' Entire changelog missing'
83 0: empty or missing changelog
86 0: empty or missing changelog
84 manifest@0: d0b6632564d4 not in changesets
87 manifest@0: d0b6632564d4 not in changesets
85 manifest@1: 941fc4534185 not in changesets
88 manifest@1: 941fc4534185 not in changesets
89 not checking dirstate because of previous errors
86 3 integrity errors encountered!
90 3 integrity errors encountered!
87 (first damaged changeset appears to be 0)
91 (first damaged changeset appears to be 0)
88 [1]
92 [1]
@@ -93,6 +97,7 b' Entire manifest log missing'
93 $ rm .hg/store/00manifest.*
97 $ rm .hg/store/00manifest.*
94 $ hg verify -q
98 $ hg verify -q
95 0: empty or missing manifest
99 0: empty or missing manifest
100 not checking dirstate because of previous errors
96 1 integrity errors encountered!
101 1 integrity errors encountered!
97 (first damaged changeset appears to be 0)
102 (first damaged changeset appears to be 0)
98 [1]
103 [1]
@@ -106,6 +111,7 b' Entire filelog missing'
106 0: empty or missing file
111 0: empty or missing file
107 file@0: manifest refers to unknown revision 362fef284ce2
112 file@0: manifest refers to unknown revision 362fef284ce2
108 file@1: manifest refers to unknown revision c10f2164107d
113 file@1: manifest refers to unknown revision c10f2164107d
114 not checking dirstate because of previous errors
109 1 warnings encountered!
115 1 warnings encountered!
110 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
116 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
111 3 integrity errors encountered!
117 3 integrity errors encountered!
@@ -119,7 +125,13 b' Entire changelog and manifest log missin'
119 $ rm .hg/store/00manifest.*
125 $ rm .hg/store/00manifest.*
120 $ hg verify -q
126 $ hg verify -q
121 warning: orphan data file 'data/file.i'
127 warning: orphan data file 'data/file.i'
128 warning: ignoring unknown working parent c5ddb05ab828!
129 file marked as tracked in p1 but not in manifest1
122 1 warnings encountered!
130 1 warnings encountered!
131 1 integrity errors encountered!
132 dirstate inconsistent with current parent's manifest
133 1 dirstate errors
134 [1]
123 $ cp -R .hg/store-full/. .hg/store
135 $ cp -R .hg/store-full/. .hg/store
124
136
125 Entire changelog and filelog missing
137 Entire changelog and filelog missing
@@ -134,6 +146,7 b' Entire changelog and filelog missing'
134 ?: empty or missing file
146 ?: empty or missing file
135 file@0: manifest refers to unknown revision 362fef284ce2
147 file@0: manifest refers to unknown revision 362fef284ce2
136 file@1: manifest refers to unknown revision c10f2164107d
148 file@1: manifest refers to unknown revision c10f2164107d
149 not checking dirstate because of previous errors
137 1 warnings encountered!
150 1 warnings encountered!
138 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
151 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
139 6 integrity errors encountered!
152 6 integrity errors encountered!
@@ -149,6 +162,7 b' Entire manifest log and filelog missing'
149 0: empty or missing manifest
162 0: empty or missing manifest
150 warning: revlog 'data/file.i' not in fncache!
163 warning: revlog 'data/file.i' not in fncache!
151 0: empty or missing file
164 0: empty or missing file
165 not checking dirstate because of previous errors
152 1 warnings encountered!
166 1 warnings encountered!
153 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
167 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
154 2 integrity errors encountered!
168 2 integrity errors encountered!
@@ -164,6 +178,7 b' Changelog missing entry'
164 manifest@?: 941fc4534185 not in changesets
178 manifest@?: 941fc4534185 not in changesets
165 file@?: rev 1 points to nonexistent changeset 1
179 file@?: rev 1 points to nonexistent changeset 1
166 (expected 0)
180 (expected 0)
181 not checking dirstate because of previous errors
167 1 warnings encountered!
182 1 warnings encountered!
168 3 integrity errors encountered!
183 3 integrity errors encountered!
169 [1]
184 [1]
@@ -175,6 +190,7 b' Manifest log missing entry'
175 $ hg verify -q
190 $ hg verify -q
176 manifest@1: changeset refers to unknown revision 941fc4534185
191 manifest@1: changeset refers to unknown revision 941fc4534185
177 file@1: c10f2164107d not in manifests
192 file@1: c10f2164107d not in manifests
193 not checking dirstate because of previous errors
178 2 integrity errors encountered!
194 2 integrity errors encountered!
179 (first damaged changeset appears to be 1)
195 (first damaged changeset appears to be 1)
180 [1]
196 [1]
@@ -185,6 +201,7 b' Filelog missing entry'
185 $ cp -f .hg/store-partial/data/file.* .hg/store/data
201 $ cp -f .hg/store-partial/data/file.* .hg/store/data
186 $ hg verify -q
202 $ hg verify -q
187 file@1: manifest refers to unknown revision c10f2164107d
203 file@1: manifest refers to unknown revision c10f2164107d
204 not checking dirstate because of previous errors
188 1 integrity errors encountered!
205 1 integrity errors encountered!
189 (first damaged changeset appears to be 1)
206 (first damaged changeset appears to be 1)
190 [1]
207 [1]
@@ -198,6 +215,7 b' Changelog and manifest log missing entry'
198 file@?: rev 1 points to nonexistent changeset 1
215 file@?: rev 1 points to nonexistent changeset 1
199 (expected 0)
216 (expected 0)
200 file@?: c10f2164107d not in manifests
217 file@?: c10f2164107d not in manifests
218 not checking dirstate because of previous errors
201 1 warnings encountered!
219 1 warnings encountered!
202 2 integrity errors encountered!
220 2 integrity errors encountered!
203 [1]
221 [1]
@@ -211,6 +229,7 b' Changelog and filelog missing entry'
211 manifest@?: rev 1 points to nonexistent changeset 1
229 manifest@?: rev 1 points to nonexistent changeset 1
212 manifest@?: 941fc4534185 not in changesets
230 manifest@?: 941fc4534185 not in changesets
213 file@?: manifest refers to unknown revision c10f2164107d
231 file@?: manifest refers to unknown revision c10f2164107d
232 not checking dirstate because of previous errors
214 3 integrity errors encountered!
233 3 integrity errors encountered!
215 [1]
234 [1]
216 $ cp -R .hg/store-full/. .hg/store
235 $ cp -R .hg/store-full/. .hg/store
@@ -221,6 +240,7 b' Manifest and filelog missing entry'
221 $ cp -f .hg/store-partial/data/file.* .hg/store/data
240 $ cp -f .hg/store-partial/data/file.* .hg/store/data
222 $ hg verify -q
241 $ hg verify -q
223 manifest@1: changeset refers to unknown revision 941fc4534185
242 manifest@1: changeset refers to unknown revision 941fc4534185
243 not checking dirstate because of previous errors
224 1 integrity errors encountered!
244 1 integrity errors encountered!
225 (first damaged changeset appears to be 1)
245 (first damaged changeset appears to be 1)
226 [1]
246 [1]
@@ -236,6 +256,7 b' Corrupt changelog base node to cause fai'
236 manifest@?: d0b6632564d4 not in changesets
256 manifest@?: d0b6632564d4 not in changesets
237 file@?: rev 0 points to unexpected changeset 0
257 file@?: rev 0 points to unexpected changeset 0
238 (expected 1)
258 (expected 1)
259 not checking dirstate because of previous errors
239 1 warnings encountered!
260 1 warnings encountered!
240 4 integrity errors encountered!
261 4 integrity errors encountered!
241 (first damaged changeset appears to be 0)
262 (first damaged changeset appears to be 0)
@@ -249,6 +270,7 b' Corrupt manifest log base node to cause '
249 $ hg verify -q
270 $ hg verify -q
250 manifest@0: reading delta d0b6632564d4: * (glob)
271 manifest@0: reading delta d0b6632564d4: * (glob)
251 file@0: 362fef284ce2 not in manifests
272 file@0: 362fef284ce2 not in manifests
273 not checking dirstate because of previous errors
252 2 integrity errors encountered!
274 2 integrity errors encountered!
253 (first damaged changeset appears to be 0)
275 (first damaged changeset appears to be 0)
254 [1]
276 [1]
@@ -260,6 +282,7 b' Corrupt filelog base node to cause failu'
260 > 2> /dev/null
282 > 2> /dev/null
261 $ hg verify -q
283 $ hg verify -q
262 file@0: unpacking 362fef284ce2: * (glob)
284 file@0: unpacking 362fef284ce2: * (glob)
285 not checking dirstate because of previous errors
263 1 integrity errors encountered!
286 1 integrity errors encountered!
264 (first damaged changeset appears to be 0)
287 (first damaged changeset appears to be 0)
265 [1]
288 [1]
@@ -290,6 +313,7 b' test revlog corruption'
290 $ hg verify -q
313 $ hg verify -q
291 a@1: broken revlog! (index a is corrupted)
314 a@1: broken revlog! (index a is corrupted)
292 warning: orphan data file 'data/a.i'
315 warning: orphan data file 'data/a.i'
316 not checking dirstate because of previous errors
293 1 warnings encountered!
317 1 warnings encountered!
294 1 integrity errors encountered!
318 1 integrity errors encountered!
295 (first damaged changeset appears to be 1)
319 (first damaged changeset appears to be 1)
@@ -307,6 +331,7 b' test revlog format 0'
307 checking manifests
331 checking manifests
308 crosschecking files in changesets and manifests
332 crosschecking files in changesets and manifests
309 checking files
333 checking files
334 checking dirstate
310 checked 1 changesets with 1 changes to 1 files
335 checked 1 changesets with 1 changes to 1 files
311 $ cd ..
336 $ cd ..
312
337
@@ -332,6 +357,7 b' test flag processor and skipflags'
332
357
333 $ hg verify -q
358 $ hg verify -q
334 base64@0: unpacking 794cee7777cb: integrity check failed on base64:0
359 base64@0: unpacking 794cee7777cb: integrity check failed on base64:0
360 not checking dirstate because of previous errors
335 1 integrity errors encountered!
361 1 integrity errors encountered!
336 (first damaged changeset appears to be 0)
362 (first damaged changeset appears to be 0)
337 [1]
363 [1]
General Comments 0
You need to be logged in to leave comments. Login now