##// END OF EJS Templates
tests: require revlog store with test-repair-strip.t...
Gregory Szorc -
r37443:e1d4be95 default
parent child Browse files
Show More
@@ -1,139 +1,139 b''
1 #require unix-permissions no-root
1 #require unix-permissions no-root reporevlogstore
2 2
3 3 $ cat > $TESTTMP/dumpjournal.py <<EOF
4 4 > import sys
5 5 > for entry in sys.stdin.read().split('\n'):
6 6 > if entry:
7 7 > print(entry.split('\x00')[0])
8 8 > EOF
9 9
10 10 $ echo "[extensions]" >> $HGRCPATH
11 11 $ echo "mq=">> $HGRCPATH
12 12
13 13 $ teststrip() {
14 14 > hg -q up -C $1
15 15 > echo % before update $1, strip $2
16 16 > hg parents
17 17 > chmod -$3 $4
18 18 > hg strip $2 2>&1 | sed 's/\(bundle\).*/\1/' | sed 's/Permission denied.*\.hg\/store\/\(.*\)/Permission denied \.hg\/store\/\1/'
19 19 > echo % after update $1, strip $2
20 20 > chmod +$3 $4
21 21 > hg verify
22 22 > echo % journal contents
23 23 > if [ -f .hg/store/journal ]; then
24 24 > cat .hg/store/journal | $PYTHON $TESTTMP/dumpjournal.py
25 25 > else
26 26 > echo "(no journal)"
27 27 > fi
28 28 > ls .hg/store/journal >/dev/null 2>&1 && hg recover
29 29 > ls .hg/strip-backup/* >/dev/null 2>&1 && hg unbundle -q .hg/strip-backup/*
30 30 > rm -rf .hg/strip-backup
31 31 > }
32 32
33 33 $ hg init test
34 34 $ cd test
35 35 $ echo a > a
36 36 $ hg -q ci -m "a" -A
37 37 $ echo b > b
38 38 $ hg -q ci -m "b" -A
39 39 $ echo b2 >> b
40 40 $ hg -q ci -m "b2" -A
41 41 $ echo c > c
42 42 $ hg -q ci -m "c" -A
43 43 $ teststrip 0 2 w .hg/store/data/b.i
44 44 % before update 0, strip 2
45 45 changeset: 0:cb9a9f314b8b
46 46 user: test
47 47 date: Thu Jan 01 00:00:00 1970 +0000
48 48 summary: a
49 49
50 50 saved backup bundle
51 51 transaction abort!
52 52 failed to truncate data/b.i
53 53 rollback failed - please run hg recover
54 54 strip failed, backup bundle
55 55 abort: Permission denied .hg/store/data/b.i
56 56 % after update 0, strip 2
57 57 abandoned transaction found - run hg recover
58 58 checking changesets
59 59 checking manifests
60 60 crosschecking files in changesets and manifests
61 61 checking files
62 62 b@?: rev 1 points to nonexistent changeset 2
63 63 (expected 1)
64 64 b@?: 736c29771fba not in manifests
65 65 warning: orphan data file 'data/c.i'
66 66 2 files, 2 changesets, 3 total revisions
67 67 2 warnings encountered!
68 68 2 integrity errors encountered!
69 69 % journal contents
70 70 00changelog.i
71 71 00manifest.i
72 72 data/b.i
73 73 data/c.i
74 74 rolling back interrupted transaction
75 75 checking changesets
76 76 checking manifests
77 77 crosschecking files in changesets and manifests
78 78 checking files
79 79 2 files, 2 changesets, 2 total revisions
80 80 $ teststrip 0 2 r .hg/store/data/b.i
81 81 % before update 0, strip 2
82 82 changeset: 0:cb9a9f314b8b
83 83 user: test
84 84 date: Thu Jan 01 00:00:00 1970 +0000
85 85 summary: a
86 86
87 87 abort: Permission denied .hg/store/data/b.i
88 88 % after update 0, strip 2
89 89 checking changesets
90 90 checking manifests
91 91 crosschecking files in changesets and manifests
92 92 checking files
93 93 3 files, 4 changesets, 4 total revisions
94 94 % journal contents
95 95 (no journal)
96 96 $ teststrip 0 2 w .hg/store/00manifest.i
97 97 % before update 0, strip 2
98 98 changeset: 0:cb9a9f314b8b
99 99 user: test
100 100 date: Thu Jan 01 00:00:00 1970 +0000
101 101 summary: a
102 102
103 103 saved backup bundle
104 104 transaction abort!
105 105 failed to truncate 00manifest.i
106 106 rollback failed - please run hg recover
107 107 strip failed, backup bundle
108 108 abort: Permission denied .hg/store/00manifest.i
109 109 % after update 0, strip 2
110 110 abandoned transaction found - run hg recover
111 111 checking changesets
112 112 checking manifests
113 113 manifest@?: rev 2 points to nonexistent changeset 2
114 114 manifest@?: 3362547cdf64 not in changesets
115 115 manifest@?: rev 3 points to nonexistent changeset 3
116 116 manifest@?: 265a85892ecb not in changesets
117 117 crosschecking files in changesets and manifests
118 118 c@3: in manifest but not in changeset
119 119 checking files
120 120 b@?: rev 1 points to nonexistent changeset 2
121 121 (expected 1)
122 122 c@?: rev 0 points to nonexistent changeset 3
123 123 3 files, 2 changesets, 4 total revisions
124 124 1 warnings encountered!
125 125 7 integrity errors encountered!
126 126 (first damaged changeset appears to be 3)
127 127 % journal contents
128 128 00changelog.i
129 129 00manifest.i
130 130 data/b.i
131 131 data/c.i
132 132 rolling back interrupted transaction
133 133 checking changesets
134 134 checking manifests
135 135 crosschecking files in changesets and manifests
136 136 checking files
137 137 2 files, 2 changesets, 2 total revisions
138 138
139 139 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now