[PATCH 1 of 2] tests: more testing of verify side effects and (unintended?) recovery
Mads Kiilerich
mads at kiilerich.com
Sat Apr 21 10:55:47 CDT 2012
# HG changeset patch
# User Mads Kiilerich <mads at kiilerich.com>
# Date 1335023200 -7200
# Branch stable
# Node ID e966c636e5412cb5e99ffcd7fa41cd8618ed6d7c
# Parent cbf2ea2f5ca169d22e0729cb71a21b808574b90e
tests: more testing of verify side effects and (unintended?) recovery
diff --git a/tests/test-verify.t b/tests/test-verify.t
--- a/tests/test-verify.t
+++ b/tests/test-verify.t
@@ -5,7 +5,10 @@
$ echo "some text" > FOO.txt
$ echo "another text" > bar.txt
$ echo "more text" > QUICK.txt
+ $ mkdir 1234567.9
+ $ touch 1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$ hg add
+ adding 1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
adding FOO.txt
adding QUICK.txt
adding bar.txt
@@ -18,7 +21,7 @@
checking manifests
crosschecking files in changesets and manifests
checking files
- 3 files, 1 changesets, 3 total revisions
+ 4 files, 1 changesets, 4 total revisions
verify with journal
@@ -29,7 +32,7 @@
checking manifests
crosschecking files in changesets and manifests
checking files
- 3 files, 1 changesets, 3 total revisions
+ 4 files, 1 changesets, 4 total revisions
$ rm .hg/store/journal
introduce some bugs in repo
@@ -37,13 +40,18 @@
$ cd .hg/store/data
$ mv _f_o_o.txt.i X_f_o_o.txt.i
$ mv bar.txt.i xbar.txt.i
- $ rm _q_u_i_c_k.txt.i
+ $ mv _q_u_i_c_k.txt.i ../../../
+ $ cd ../../..
+ $ mv .hg/store/dh/1234567_ .hg/store/dh/1234567. # this happens to be how 1.1 stored it
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
+ data/1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.i at 0: missing revlog!
+ 0: empty or missing 1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ 1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx at 0: b80de5d13875 in manifests not found
data/FOO.txt.i at 0: missing revlog!
0: empty or missing FOO.txt
FOO.txt at 0: f62022d3d590 in manifests not found
@@ -53,12 +61,35 @@
data/bar.txt.i at 0: missing revlog!
0: empty or missing bar.txt
bar.txt at 0: 256559129457 in manifests not found
- 3 files, 1 changesets, 0 total revisions
- 9 integrity errors encountered!
+ 4 files, 1 changesets, 0 total revisions
+ 12 integrity errors encountered!
(first damaged changeset appears to be 0)
[1]
- $ cd ..
+fix most bugs and verify again
+
+ $ cd .hg/store/data
+ $ mv X_f_o_o.txt.i _f_o_o.txt.i
+ $ mv xbar.txt.i bar.txt.i
+ $ touch _q_u_i_c_k.txt.i
+ $ cd ../../..
+ $ mv .hg/store/dh/1234567. .hg/store/dh/1234567_
+ $ hg verify
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ data/1234567.9/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.i at 0: missing revlog!
+ data/FOO.txt.i at 0: missing revlog!
+ data/QUICK.txt.i at 0: missing revlog!
+ 0: empty or missing QUICK.txt
+ QUICK.txt at 0: 88b857db8eba in manifests not found
+ data/bar.txt.i at 0: missing revlog!
+ 4 files, 1 changesets, 3 total revisions
+ 6 integrity errors encountered!
+ (first damaged changeset appears to be 0)
+ [1]
+ $ mv _q_u_i_c_k.txt.i .hg/store/data/
test revlog corruption
More information about the Mercurial-devel
mailing list