##// END OF EJS Templates
convert: also catch missing revlogs when introduced in repo roots...
Mads Kiilerich -
r14151:1fe82c93 default
parent child Browse files
Show More
@@ -287,10 +287,9 b' class mercurial_source(converter_source)'
287 287 parents = self.parents(ctx)
288 288 if not parents:
289 289 files = sorted(ctx.manifest())
290 if self.ignoreerrors:
291 # calling getcopies() is a simple way to detect missing
292 # revlogs and populate self.ignored
293 self.getcopies(ctx, parents, files)
290 # getcopies() is not needed for roots, but it is a simple way to
291 # detect missing revlogs and abort on errors or populate self.ignored
292 self.getcopies(ctx, parents, files)
294 293 return [(f, rev) for f in files if f not in self.ignored], {}
295 294 if self._changescache and self._changescache[0] == rev:
296 295 m, a, r = self._changescache[1]
@@ -14,11 +14,13 b''
14 14 $ mkdir -p dir/subdir
15 15 $ echo dir/file >> dir/file
16 16 $ echo dir/file2 >> dir/file2
17 $ echo dir/file3 >> dir/file3 # to be corrupted in rev 0
17 18 $ echo dir/subdir/file3 >> dir/subdir/file3
18 19 $ echo dir/subdir/file4 >> dir/subdir/file4
19 20 $ hg ci -d '0 0' -qAm '0: add foo baz dir/'
20 21 $ echo bar > bar
21 22 $ echo quux > quux
23 $ echo dir/file4 >> dir/file4 # to be corrupted in rev 1
22 24 $ hg copy foo copied
23 25 $ hg ci -d '1 0' -qAm '1: add bar quux; copy foo to copied'
24 26 $ echo >> foo
@@ -63,9 +65,9 b''
63 65 | |
64 66 o | 2 "2: change foo" files: foo
65 67 |/
66 o 1 "1: add bar quux; copy foo to copied" files: bar copied quux
68 o 1 "1: add bar quux; copy foo to copied" files: bar copied dir/file4 quux
67 69 |
68 o 0 "0: add foo baz dir/" files: baz dir/file dir/file2 dir/subdir/file3 dir/subdir/file4 foo
70 o 0 "0: add foo baz dir/" files: baz dir/file dir/file2 dir/file3 dir/subdir/file3 dir/subdir/file4 foo
69 71
70 72
71 73 final file versions in this repo:
@@ -76,6 +78,8 b' final file versions in this repo:'
76 78 7711d36246cc83e61fb29cd6d4ef394c63f1ceaf 644 copied
77 79 3e20847584beff41d7cd16136b7331ab3d754be0 644 dir/file
78 80 75e6d3f8328f5f6ace6bf10b98df793416a09dca 644 dir/file2
81 e96dce0bc6a217656a3a410e5e6bec2c4f42bf7c 644 dir/file3
82 6edd55f559cdce67132b12ca09e09cee08b60442 644 dir/file4
79 83 5fe139720576e18e34bcc9f79174db8897c8afe9 644 dir/subdir/file3
80 84 57a1c1511590f3de52874adfa04effe8a77d64af 644 dir/subdir/file4
81 85 9a7b52012991e4873687192c3e17e61ba3e837a3 644 foo
@@ -234,7 +238,14 b' final file versions in this repo:'
234 238 > exclude dir/subdir
235 239 > include dir/subdir/file3
236 240 > EOF
237 $ hg -q convert --filemap renames.fmap --datesort source renames.repo
241 $ rm source/.hg/store/data/dir/file3.i
242 $ rm source/.hg/store/data/dir/file4.i
243 $ hg -q convert --filemap renames.fmap --datesort source dummydest
244 abort: data/dir/file3.i@e96dce0bc6a2: no match found!
245 [255]
246 $ hg -q convert --filemap renames.fmap --datesort --config convert.hg.ignoreerrors=1 source renames.repo
247 ignoring: data/dir/file3.i@e96dce0bc6a2: no match found
248 ignoring: data/dir/file4.i@6edd55f559cd: no match found
238 249 $ hg up -q -R renames.repo
239 250 $ glog -R renames.repo
240 251 @ 4 "8: change foo" files: foo2
General Comments 0
You need to be logged in to leave comments. Login now