Remove support for hg < 4.0

2016 is ancient anyway.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This commit is contained in:
Felipe Contreras
2023-03-06 13:48:06 -06:00
parent d51f508916
commit 9b54c626bc
3 changed files with 11 additions and 54 deletions

View File

@@ -52,7 +52,7 @@ the same commits:
Remember to run `git gc --aggressive` after cloning a repository, especially if Remember to run `git gc --aggressive` after cloning a repository, especially if
it's a big one. Otherwise lots of space will be wasted. it's a big one. Otherwise lots of space will be wasted.
The newest supported version of Mercurial is 6.2, the oldest one is 2.4. The newest supported version of Mercurial is 6.2, the oldest one is 4.0.
=== Pushing branches === === Pushing branches ===

View File

@@ -15,6 +15,7 @@
from mercurial import hg, ui, bookmarks, context, encoding from mercurial import hg, ui, bookmarks, context, encoding
from mercurial import node, error, extensions, discovery, util from mercurial import node, error, extensions, discovery, util
from mercurial import changegroup from mercurial import changegroup
from mercurial import exchange
import re import re
import sys import sys
@@ -411,12 +412,6 @@ def updatebookmarks(repo, peer):
localmarks.applychanges(repo, tr, changes.items()) localmarks.applychanges(repo, tr, changes.items())
else: else:
localmarks.update(changes) localmarks.update(changes)
if check_version(3, 2):
localmarks.recordchange(tr)
elif check_version(2, 5):
localmarks.write()
else:
bookmarks.write(repo)
tr.close() tr.close()
finally: finally:
tr.release() tr.release()
@@ -481,11 +476,7 @@ def get_repo(url, alias):
except: except:
die('Repository error') die('Repository error')
if check_version(3, 0): exchange.pull(repo, peer, heads=None, force=True)
from mercurial import exchange
exchange.pull(repo, peer, heads=None, force=True)
else:
repo.pull(peer, heads=None, force=True)
updatebookmarks(repo, peer) updatebookmarks(repo, peer)
@@ -792,10 +783,8 @@ def c_style_unescape(string):
def make_memfilectx(repo, changectx, path, data, islink=False, isexec=False, copied=None): def make_memfilectx(repo, changectx, path, data, islink=False, isexec=False, copied=None):
if check_version(4, 5): if check_version(4, 5):
return context.memfilectx(repo, changectx, path, data, islink, isexec, copied) return context.memfilectx(repo, changectx, path, data, islink, isexec, copied)
elif check_version(3, 1):
return context.memfilectx(repo, path, data, islink, isexec, copied)
else: else:
return context.memfilectx(path, data, islink, isexec, copied) return context.memfilectx(repo, path, data, islink, isexec, copied)
def parse_commit(parser): def parse_commit(parser):
from_mark = merge_mark = None from_mark = merge_mark = None
@@ -847,12 +836,9 @@ def parse_commit(parser):
def getfilectx(repo, memctx, f): def getfilectx(repo, memctx, f):
of = files[f] of = files[f]
if 'deleted' in of: if 'deleted' in of:
if check_version(3, 2): return None
return None
else:
raise IOError
if 'ctx' in of: if 'ctx' in of:
if mode == 'hg' and check_version(3, 2): if mode == 'hg':
# force the creation of a new filelog # force the creation of a new filelog
ctx = of['ctx'] ctx = of['ctx']
is_exec = ctx.isexec() is_exec = ctx.isexec()
@@ -1059,10 +1045,7 @@ def checkheads(repo, remote, p_revs):
for branch, heads in new.items(): for branch, heads in new.items():
old = [repo.changelog.rev(x) for x in remotemap[branch]] old = [repo.changelog.rev(x) for x in remotemap[branch]]
for rev in heads: for rev in heads:
if check_version(2, 3): ancestors = repo.changelog.ancestors([rev], stoprev=min(old))
ancestors = repo.changelog.ancestors([rev], stoprev=min(old))
else:
ancestors = repo.changelog.ancestors(rev)
found = False found = False
for x in old: for x in old:
@@ -1100,17 +1083,10 @@ def push_unsafe(repo, remote, parsed_refs, p_revs):
# Nothing to push # Nothing to push
return True return True
if check_version(4, 0): if check_version(4, 4):
if check_version(4, 4): cg = changegroup.makechangegroup(repo, outgoing, b'01', b'push')
cg = changegroup.makechangegroup(repo, outgoing, b'01', b'push')
else:
cg = changegroup.getchangegroup(repo, b'push', outgoing)
elif check_version(3, 2):
cg = changegroup.getchangegroup(repo, b'push', heads=list(p_revs), common=common)
elif check_version(3, 0):
cg = changegroup.getbundle(repo, b'push', heads=list(p_revs), common=common)
else: else:
cg = repo.getbundle(b'push', heads=list(p_revs), common=common) cg = changegroup.getchangegroup(repo, b'push', outgoing)
unbundle = remote.capable(b'unbundle') unbundle = remote.capable(b'unbundle')
if unbundle: if unbundle:
@@ -1240,10 +1216,7 @@ def do_export(parser):
tagnode, branch = write_tag(parser.repo, tag, node, msg, author) tagnode, branch = write_tag(parser.repo, tag, node, msg, author)
p_revs[tagnode] = 'refs/heads/branches/' + gitref(branch) p_revs[tagnode] = 'refs/heads/branches/' + gitref(branch)
else: else:
if check_version(2, 4): vfs = parser.repo.vfs
vfs = parser.repo.vfs
else:
vfs = parser.repo.opener
fp = vfs(b'localtags', b'a') fp = vfs(b'localtags', b'a')
fp.write(b'%s %s\n' % (node, tag)) fp.write(b'%s %s\n' % (node, tag))
fp.close() fp.close()

View File

@@ -1,19 +1,3 @@
2.4
2.5
2.6
2.7
2.8
2.9
3.0
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
4.0 4.0
4.1 4.1
4.2 4.2