Add compatibility for Mercurial v3.2

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This commit is contained in:
Felipe Contreras
2016-05-16 18:46:00 -05:00
parent 02a0a59a4b
commit 1e279075dc

View File

@@ -430,7 +430,12 @@ def get_repo(url, alias):
peer = hg.peer(repo.ui, {}, url)
except:
die('Repository error')
repo.pull(peer, heads=None, force=True)
if check_version(3, 0):
from mercurial import exchange
exchange.pull(repo, peer, heads=None, force=True)
else:
repo.pull(peer, heads=None, force=True)
updatebookmarks(repo, peer)
@@ -803,7 +808,10 @@ def parse_commit(parser):
def getfilectx(repo, memctx, f):
of = files[f]
if 'deleted' in of:
raise IOError
if check_version(3, 2):
return None
else:
raise IOError
if 'ctx' in of:
return of['ctx']
is_exec = of['mode'] == 'x'
@@ -1036,7 +1044,9 @@ def push_unsafe(repo, remote, parsed_refs, p_revs):
if not checkheads(repo, remote, p_revs):
return None
if check_version(3, 0):
if check_version(3, 2):
cg = changegroup.getchangegroup(repo, 'push', heads=list(p_revs), common=common)
elif check_version(3, 0):
cg = changegroup.getbundle(repo, 'push', heads=list(p_revs), common=common)
else:
cg = repo.getbundle('push', heads=list(p_revs), common=common)