diff --git a/git-remote-hg b/git-remote-hg index 55fe01b..7af4b45 100755 --- a/git-remote-hg +++ b/git-remote-hg @@ -1075,7 +1075,11 @@ def push_unsafe(repo, remote, parsed_refs, p_revs): if not checkheads(repo, remote, p_revs): return None - if check_version(3, 2): + if check_version(4, 0): + from mercurial import exchange + outgoing = exchange._computeoutgoing(repo, list(p_revs), common) + cg = changegroup.getchangegroup(repo, 'push', outgoing) + elif 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)