devel/py-hg-git needs this patch to work with the next version of
mercurial. Tested also with mercurial 4.3.

OK?


diff --git Makefile Makefile
--- Makefile
+++ Makefile
@@ -3,6 +3,7 @@
 COMMENT =              mercurial extension to work with git repositories
 
 MODPY_EGG_VERSION =    0.8.9
+REVISION =             0
 DISTNAME =             py-hg-git-${MODPY_EGG_VERSION}
 
 CATEGORIES =           devel
diff --git patches/patch-hggit_gitrepo_py patches/patch-hggit_gitrepo_py
new file mode 100644
--- /dev/null
+++ patches/patch-hggit_gitrepo_py
@@ -0,0 +1,89 @@
+$OpenBSD$
+
+"compat: update for hg 4.4 release"
+
+https://bitbucket.org/durin42/hg-git/commits/5db8d0d0ae47c4aa12ea50e19a164737f487ef00
+
+Index: hggit/gitrepo.py
+--- hggit/gitrepo.py.orig
++++ hggit/gitrepo.py
+@@ -1,21 +1,34 @@
+ from util import isgitsshuri
+ from mercurial import util
+ from mercurial.error import RepoError
+-from mercurial.peer import peerrepository
+ 
+-class gitrepo(peerrepository):
+-    capabilities = ['lookup']
++peerapi = False
++try:
++    from mercurial.repository import peer as peerrepository
++    peerapi = True
++except ImportError:
++    from mercurial.peer import peerrepository
+ 
+-    def _capabilities(self):
+-        return self.capabilities
+-
++class gitrepo(peerrepository):
+     def __init__(self, ui, path, create):
+         if create:  # pragma: no cover
+             raise util.Abort('Cannot create a git repository.')
+-        self.ui = ui
++        self._ui = ui
+         self.path = path
+         self.localrepo = None
+ 
++    _peercapabilities = ['lookup']
++
++    def _capabilities(self):
++        return self._peercapabilities
++
++    def capabilities(self):
++        return self._peercapabilities
++
++    @property
++    def ui(self):
++        return self._ui
++
+     def url(self):
+         return self.path
+ 
+@@ -47,6 +60,37 @@ class gitrepo(peerrepository):
+ 
+     def pushkey(self, namespace, key, old, new):
+         return False
++
++    if peerapi:
++        def branchmap(self):
++            raise NotImplementedError
++
++        def canpush(self):
++            return True
++
++        def close(self):
++            pass
++
++        def debugwireargs(self):
++            raise NotImplementedError
++
++        def getbundle(self):
++            raise NotImplementedError
++
++        def iterbatch(self):
++            raise NotImplementedError
++
++        def known(self):
++            raise NotImplementedError
++
++        def peer(self):
++            return self
++
++        def stream_out(self):
++            raise NotImplementedError
++
++        def unbundle(self):
++            raise NotImplementedError
+ 
+ instance = gitrepo
+ 

Reply via email to