# HG changeset patch # User Kevin Bullock # Date 1506858709 -3600 # Node ID 5db8d0d0ae47c4aa12ea50e19a164737f487ef00 # Parent 7decccb79f8ad13211c5755924f1c2076d480cd4 compat: update for upcoming hg 4.4 release This is a bit of a simplification of an earlier patch from Jun Wu . diff -r 7decccb79f8a -r 5db8d0d0ae47 hggit/gitrepo.py --- a/hggit/gitrepo.py Thu Aug 17 13:44:29 2017 -0700 +++ b/hggit/gitrepo.py Sun Oct 01 12:51:49 2017 +0100 @@ -1,21 +1,34 @@ from util import isgitsshuri from mercurial import util from mercurial.error import RepoError -from mercurial.peer import peerrepository + +peerapi = False +try: + from mercurial.repository import peer as peerrepository + peerapi = True +except ImportError: + from mercurial.peer import peerrepository class gitrepo(peerrepository): - capabilities = ['lookup'] - - def _capabilities(self): - return self.capabilities - 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 @@ -48,6 +61,37 @@ 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 def islocal(path):