summaryrefslogtreecommitdiff
path: root/hgext/convert/hg.py
diff options
context:
space:
mode:
Diffstat (limited to 'hgext/convert/hg.py')
-rw-r--r--hgext/convert/hg.py31
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()