193 |
193 |
194 class mercurial_source(converter_source): |
194 class mercurial_source(converter_source): |
195 def __init__(self, ui, path, rev=None): |
195 def __init__(self, ui, path, rev=None): |
196 converter_source.__init__(self, ui, path, rev) |
196 converter_source.__init__(self, ui, path, rev) |
197 self.ignoreerrors = ui.configbool('convert', 'hg.ignoreerrors', False) |
197 self.ignoreerrors = ui.configbool('convert', 'hg.ignoreerrors', False) |
198 self.ignored = {} |
198 self.ignored = set() |
199 self.saverev = ui.configbool('convert', 'hg.saverev', False) |
199 self.saverev = ui.configbool('convert', 'hg.saverev', False) |
200 try: |
200 try: |
201 self.repo = hg.repository(self.ui, path) |
201 self.repo = hg.repository(self.ui, path) |
202 # try to provoke an exception if this isn't really a hg |
202 # try to provoke an exception if this isn't really a hg |
203 # repo, but some other bogus compatible-looking url |
203 # repo, but some other bogus compatible-looking url |
286 except TypeError: |
286 except TypeError: |
287 pass |
287 pass |
288 except error.LookupError, e: |
288 except error.LookupError, e: |
289 if not self.ignoreerrors: |
289 if not self.ignoreerrors: |
290 raise |
290 raise |
291 self.ignored[name] = 1 |
291 self.ignored.add(name) |
292 self.ui.warn(_('ignoring: %s\n') % e) |
292 self.ui.warn(_('ignoring: %s\n') % e) |
293 return copies |
293 return copies |
294 |
294 |
295 def getcommit(self, rev): |
295 def getcommit(self, rev): |
296 ctx = self.changectx(rev) |
296 ctx = self.changectx(rev) |