Show More
@@ -274,7 +274,7 b' class mercurial_source(converter_source)' | |||
|
274 | 274 | if self.ignoreerrors: |
|
275 | 275 | # calling getcopies() is a simple way to detect missing |
|
276 | 276 | # revlogs and populate self.ignored |
|
277 | self.getcopies(ctx, files) | |
|
277 | self.getcopies(ctx, parents, files) | |
|
278 | 278 | return [(f, rev) for f in files if f not in self.ignored], {} |
|
279 | 279 | if self._changescache and self._changescache[0] == rev: |
|
280 | 280 | m, a, r = self._changescache[1] |
@@ -282,12 +282,12 b' class mercurial_source(converter_source)' | |||
|
282 | 282 | m, a, r = self.repo.status(parents[0].node(), ctx.node())[:3] |
|
283 | 283 | # getcopies() detects missing revlogs early, run it before |
|
284 | 284 | # filtering the changes. |
|
285 | copies = self.getcopies(ctx, m + a) | |
|
285 | copies = self.getcopies(ctx, parents, m + a) | |
|
286 | 286 | changes = [(name, rev) for name in m + a + r |
|
287 | 287 | if name not in self.ignored] |
|
288 | 288 | return sorted(changes), copies |
|
289 | 289 | |
|
290 | def getcopies(self, ctx, files): | |
|
290 | def getcopies(self, ctx, parents, files): | |
|
291 | 291 | copies = {} |
|
292 | 292 | for name in files: |
|
293 | 293 | if name in self.ignored: |
@@ -296,6 +296,14 b' class mercurial_source(converter_source)' | |||
|
296 | 296 | copysource, copynode = ctx.filectx(name).renamed() |
|
297 | 297 | if copysource in self.ignored or not self.keep(copynode): |
|
298 | 298 | continue |
|
299 | # Ignore copy sources not in parent revisions | |
|
300 | found = False | |
|
301 | for p in parents: | |
|
302 | if copysource in p: | |
|
303 | found = True | |
|
304 | break | |
|
305 | if not found: | |
|
306 | continue | |
|
299 | 307 | copies[name] = copysource |
|
300 | 308 | except TypeError: |
|
301 | 309 | pass |
General Comments 0
You need to be logged in to leave comments.
Login now