From a1f98d69de202d21fd6589d6e3df513f48a7159e Mon Sep 17 00:00:00 2001
From: Petr Stodulka <pstodulk@redhat.com>
Date: Mon, 28 Nov 2016 23:30:37 +0100
Subject: [PATCH 2/2] Fix remote push error because of incompatibility with
mercurial v4.0.
---
git-remote-hg | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/git-remote-hg b/git-remote-hg
index 1749d43..cc033d1 100755
--- a/git-remote-hg
+++ b/git-remote-hg
@@ -1064,11 +1064,15 @@ def push_unsafe(repo, remote, parsed_refs, p_revs):
fci = discovery.findcommonincoming
commoninc = fci(repo, remote, force=force)
common, _, remoteheads = commoninc
+ fco = discovery.findcommonoutgoing
+ outgoing = fco(repo, remote, onlyheads=list(p_revs), commoninc=commoninc, force=force)
if not checkheads(repo, remote, p_revs):
return None
- if check_version(3, 2):
+ if check_version(4, 0):
+ cg = changegroup.getlocalchangegroup(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)
--
2.5.5