comparison tests/test-hardlinks.t @ 23904:d251da5e0e84

transaction: include backup file in the "undo" transaction Once the transaction is closed, we now write transaction related data for possible future undo. For now, we only do it for full file "backup" because their were not handle at all in that case. In the future, we could move all the current logic to set undo up (that currently exists in localrepository) inside transaction itself, but it is not strictly requires to solve the current situation.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Fri, 16 Jan 2015 18:34:14 -0800
parents 7d63398fbfd1
children 07a92bbd02e5
comparison
equal deleted inserted replaced
23903:426607be9c69 23904:d251da5e0e84
48 1 r1/.hg/store/data/d1/f2.i 48 1 r1/.hg/store/data/d1/f2.i
49 1 r1/.hg/store/data/f1.i 49 1 r1/.hg/store/data/f1.i
50 1 r1/.hg/store/fncache 50 1 r1/.hg/store/fncache
51 1 r1/.hg/store/phaseroots 51 1 r1/.hg/store/phaseroots
52 1 r1/.hg/store/undo 52 1 r1/.hg/store/undo
53 1 r1/.hg/store/undo.backup.fncache
54 1 r1/.hg/store/undo.backupfiles
53 1 r1/.hg/store/undo.phaseroots 55 1 r1/.hg/store/undo.phaseroots
54 56
55 57
56 Create hardlinked clone r2: 58 Create hardlinked clone r2:
57 59
78 2 r1/.hg/store/data/d1/f2.i 80 2 r1/.hg/store/data/d1/f2.i
79 2 r1/.hg/store/data/f1.i 81 2 r1/.hg/store/data/f1.i
80 2 r1/.hg/store/fncache 82 2 r1/.hg/store/fncache
81 1 r1/.hg/store/phaseroots 83 1 r1/.hg/store/phaseroots
82 1 r1/.hg/store/undo 84 1 r1/.hg/store/undo
85 1 r1/.hg/store/undo.backup.fncache
86 1 r1/.hg/store/undo.backupfiles
83 1 r1/.hg/store/undo.phaseroots 87 1 r1/.hg/store/undo.phaseroots
84 88
85 $ nlinksdir r2/.hg/store 89 $ nlinksdir r2/.hg/store
86 2 r2/.hg/store/00changelog.i 90 2 r2/.hg/store/00changelog.i
87 2 r2/.hg/store/00manifest.i 91 2 r2/.hg/store/00manifest.i
97 1 r3/.hg/store/data/d1/f2.i 101 1 r3/.hg/store/data/d1/f2.i
98 1 r3/.hg/store/data/f1.i 102 1 r3/.hg/store/data/f1.i
99 1 r3/.hg/store/fncache 103 1 r3/.hg/store/fncache
100 1 r3/.hg/store/phaseroots 104 1 r3/.hg/store/phaseroots
101 1 r3/.hg/store/undo 105 1 r3/.hg/store/undo
106 1 r3/.hg/store/undo.backupfiles
102 1 r3/.hg/store/undo.phaseroots 107 1 r3/.hg/store/undo.phaseroots
103 108
104 109
105 Create a non-inlined filelog in r3: 110 Create a non-inlined filelog in r3:
106 111
122 1 r3/.hg/store/data/d1/f2.i 127 1 r3/.hg/store/data/d1/f2.i
123 1 r3/.hg/store/data/f1.i 128 1 r3/.hg/store/data/f1.i
124 1 r3/.hg/store/fncache 129 1 r3/.hg/store/fncache
125 1 r3/.hg/store/phaseroots 130 1 r3/.hg/store/phaseroots
126 1 r3/.hg/store/undo 131 1 r3/.hg/store/undo
132 1 r3/.hg/store/undo.backup.fncache
133 1 r3/.hg/store/undo.backup.phaseroots
134 1 r3/.hg/store/undo.backupfiles
127 1 r3/.hg/store/undo.phaseroots 135 1 r3/.hg/store/undo.phaseroots
128 136
129 Push to repo r1 should break up most hardlinks in r2: 137 Push to repo r1 should break up most hardlinks in r2:
130 138
131 $ hg -R r2 verify 139 $ hg -R r2 verify
149 $ nlinksdir r2/.hg/store 157 $ nlinksdir r2/.hg/store
150 1 r2/.hg/store/00changelog.i 158 1 r2/.hg/store/00changelog.i
151 1 r2/.hg/store/00manifest.i 159 1 r2/.hg/store/00manifest.i
152 1 r2/.hg/store/data/d1/f2.i 160 1 r2/.hg/store/data/d1/f2.i
153 2 r2/.hg/store/data/f1.i 161 2 r2/.hg/store/data/f1.i
154 1 r2/.hg/store/fncache 162 2 r2/.hg/store/fncache
155 163
156 $ hg -R r2 verify 164 $ hg -R r2 verify
157 checking changesets 165 checking changesets
158 checking manifests 166 checking manifests
159 crosschecking files in changesets and manifests 167 crosschecking files in changesets and manifests
174 $ nlinksdir r2/.hg/store 182 $ nlinksdir r2/.hg/store
175 1 r2/.hg/store/00changelog.i 183 1 r2/.hg/store/00changelog.i
176 1 r2/.hg/store/00manifest.i 184 1 r2/.hg/store/00manifest.i
177 1 r2/.hg/store/data/d1/f2.i 185 1 r2/.hg/store/data/d1/f2.i
178 1 r2/.hg/store/data/f1.i 186 1 r2/.hg/store/data/f1.i
179 1 r2/.hg/store/fncache 187 2 r2/.hg/store/fncache
180 188
181 189
182 $ cd r3 190 $ cd r3
183 $ hg tip --template '{rev}:{node|short}\n' 191 $ hg tip --template '{rev}:{node|short}\n'
184 11:a6451b6bc41f 192 11:a6451b6bc41f
208 2 r4/.hg/store/data/d1/f2.i 216 2 r4/.hg/store/data/d1/f2.i
209 2 r4/.hg/store/data/f1.i 217 2 r4/.hg/store/data/f1.i
210 2 r4/.hg/store/fncache 218 2 r4/.hg/store/fncache
211 2 r4/.hg/store/phaseroots 219 2 r4/.hg/store/phaseroots
212 2 r4/.hg/store/undo 220 2 r4/.hg/store/undo
221 2 r4/.hg/store/undo.backup.fncache
222 2 r4/.hg/store/undo.backup.phaseroots
223 2 r4/.hg/store/undo.backupfiles
213 2 r4/.hg/store/undo.phaseroots 224 2 r4/.hg/store/undo.phaseroots
214 2 r4/.hg/undo.bookmarks 225 2 r4/.hg/undo.bookmarks
215 2 r4/.hg/undo.branch 226 2 r4/.hg/undo.branch
216 2 r4/.hg/undo.desc 227 2 r4/.hg/undo.desc
217 2 r4/.hg/undo.dirstate 228 2 r4/.hg/undo.dirstate
240 2 r4/.hg/store/data/d1/f2.i 251 2 r4/.hg/store/data/d1/f2.i
241 2 r4/.hg/store/data/f1.i 252 2 r4/.hg/store/data/f1.i
242 2 r4/.hg/store/fncache 253 2 r4/.hg/store/fncache
243 2 r4/.hg/store/phaseroots 254 2 r4/.hg/store/phaseroots
244 2 r4/.hg/store/undo 255 2 r4/.hg/store/undo
256 2 r4/.hg/store/undo.backup.fncache
257 2 r4/.hg/store/undo.backup.phaseroots
258 2 r4/.hg/store/undo.backupfiles
245 2 r4/.hg/store/undo.phaseroots 259 2 r4/.hg/store/undo.phaseroots
246 2 r4/.hg/undo.bookmarks 260 2 r4/.hg/undo.bookmarks
247 2 r4/.hg/undo.branch 261 2 r4/.hg/undo.branch
248 2 r4/.hg/undo.desc 262 2 r4/.hg/undo.desc
249 2 r4/.hg/undo.dirstate 263 2 r4/.hg/undo.dirstate