Changeset - 0e83a1bf6e49
[Not reviewed]
default
0 3 0
Mads Kiilerich - 8 years ago 2018-04-02 14:14:55
mads@kiilerich.com
setup: drop support for Mercurial < 4.0

There is little point in supporting Mercurial versions more than 2 years old.

Also, the old memfilectx hack gets in the way for a clean workaround for a new
API change.

Some further cleanups might be possible when we can assume Mercurial >= 4.0 .
3 files changed with 1 insertions and 18 deletions:
0 comments (0 inline, 0 general)
kallithea/lib/vcs/backends/hg/inmemory.py
Show inline comments
 
@@ -47,12 +47,7 @@ class MercurialInMemoryChangeset(BaseInM
 

	
 
            # check if this path is removed
 
            if path in (node.path for node in self.removed):
 
                if getattr(memctx, '_returnnoneformissingfiles', False):
 
                    return None
 
                else:
 
                    # (hg < 3.2) Raising exception is the way to mark node for
 
                    # removal
 
                    raise IOError(errno.ENOENT, '%s is deleted' % path)
 

	
 
            # check if this path is added
 
            for node in self.added:
kallithea/lib/vcs/utils/hgcompat.py
Show inline comments
 
@@ -30,20 +30,8 @@ from mercurial.sshpeer import sshpeer
 
from mercurial.util import url as hg_url
 
from mercurial.scmutil import revrange
 
from mercurial.node import nullrev
 

	
 
# those authhandlers are patched for python 2.6.5 bug an
 
# infinite looping when given invalid resources
 
from mercurial.url import httpbasicauthhandler, httpdigestauthhandler
 

	
 
import inspect
 
# Mercurial 3.1 503bb3af70fe
 
if inspect.getargspec(memfilectx.__init__).args[1] != 'repo':
 
    _org__init__ = memfilectx.__init__
 

	
 
    def _memfilectx__init__(self, repo, *a, **b):
 
        return _org__init__(self, *a, **b)
 
    memfilectx.__init__ = _memfilectx__init__
 

	
 
# workaround for 3.3 94ac64bcf6fe and not calling largefiles reposetup correctly
 
localrepository._lfstatuswriters = [lambda *msg, **opts: None]
 
# 3.5 7699d3212994 added the invariant that repo.lfstatus must exist before hitting overridearchive
setup.py
Show inline comments
 
@@ -57,7 +57,7 @@ requirements = [
 
    "URLObject==2.3.4",
 
    "Routes==1.13",
 
    "dulwich>=0.14.1",
 
    "mercurial>=2.9,<4.5",
 
    "mercurial>=4.0,<4.5",
 
    "decorator >= 3.3.2",
 
    "Paste >= 2.0.3, < 3.0",
 
]
0 comments (0 inline, 0 general)