diff options
Diffstat (limited to 'hgext/convert/hg.py')
-rw-r--r-- | hgext/convert/hg.py | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/hgext/convert/hg.py b/hgext/convert/hg.py index 287c771..26c43a5 100644 --- a/hgext/convert/hg.py +++ b/hgext/convert/hg.py @@ -70,10 +70,10 @@ class mercurial_sink(converter_sink): self.wlock.release() def revmapfile(self): - return self.repo.join("shamap") + return os.path.join(self.path, ".hg", "shamap") def authorfile(self): - return self.repo.join("authormap") + return os.path.join(self.path, ".hg", "authormap") def getheads(self): h = self.repo.changelog.heads() @@ -95,7 +95,7 @@ class mercurial_sink(converter_sink): self.after() try: self.repo = hg.repository(self.ui, branchpath) - except Exception: + except: self.repo = hg.repository(self.ui, branchpath, create=True) self.before() @@ -105,7 +105,7 @@ class mercurial_sink(converter_sink): for b in pbranches: try: self.repo.lookup(b[0]) - except Exception: + except: missings.setdefault(b[1], []).append(b[0]) if missings: @@ -178,7 +178,7 @@ class mercurial_sink(converter_sink): closed = 'close' in commit.extra if not closed and not man.cmp(m1node, man.revision(mnode)): self.ui.status(_("filtering out empty revision\n")) - self.repo.rollback(force=True) + self.repo.rollback() return parent return p2 @@ -192,7 +192,7 @@ class mercurial_sink(converter_sink): try: oldlines = sorted(parentctx['.hgtags'].data().splitlines(True)) - except Exception: + except: oldlines = [] newlines = sorted([("%s %s\n" % (tags[tag], tag)) for tag in tags]) @@ -223,12 +223,6 @@ class mercurial_sink(converter_sink): self.repo._bookmarks[bookmark] = bin(updatedbookmark[bookmark]) bookmarks.write(self.repo) - def hascommit(self, rev): - if rev not in self.repo and self.clonebranches: - raise util.Abort(_('revision %s not found in destination ' - 'repository (lookups with clonebranches=true ' - 'are not implemented)') % rev) - return rev in self.repo class mercurial_source(converter_source): def __init__(self, ui, path, rev=None): @@ -241,7 +235,7 @@ class mercurial_source(converter_source): # try to provoke an exception if this isn't really a hg # repo, but some other bogus compatible-looking url if not self.repo.local(): - raise error.RepoError + raise error.RepoError() except error.RepoError: ui.traceback() raise NoRepo(_("%s is not a local Mercurial repository") % path) @@ -259,7 +253,7 @@ class mercurial_source(converter_source): % startnode) startrev = self.repo.changelog.rev(startnode) children = {startnode: 1} - for rev in self.repo.changelog.descendants([startrev]): + for rev in self.repo.changelog.descendants(startrev): children[self.repo.changelog.node(rev)] = 1 self.keep = children.__contains__ else: @@ -294,8 +288,7 @@ class mercurial_source(converter_source): if not parents: files = sorted(ctx.manifest()) # getcopies() is not needed for roots, but it is a simple way to - # detect missing revlogs and abort on errors or populate - # self.ignored + # detect missing revlogs and abort on errors or populate self.ignored self.getcopies(ctx, parents, files) return [(f, rev) for f in files if f not in self.ignored], {} if self._changescache and self._changescache[0] == rev: @@ -343,8 +336,7 @@ class mercurial_source(converter_source): crev = rev else: crev = None - return commit(author=ctx.user(), - date=util.datestr(ctx.date(), '%Y-%m-%d %H:%M:%S %1%2'), + return commit(author=ctx.user(), date=util.datestr(ctx.date()), desc=ctx.description(), rev=crev, parents=parents, branch=ctx.branch(), extra=ctx.extra(), sortkey=ctx.rev()) @@ -372,7 +364,8 @@ class mercurial_source(converter_source): def converted(self, rev, destrev): if self.convertfp is None: - self.convertfp = open(self.repo.join('shamap'), 'a') + self.convertfp = open(os.path.join(self.path, '.hg', 'shamap'), + 'a') self.convertfp.write('%s %s\n' % (destrev, rev)) self.convertfp.flush() |