# HG changeset patch # User Anton Shestakov # Date 1583841908 -25200 # Node ID a4d081923c81971a4fe51287e8608b458eb31cca # Parent f5b366a3174051aa5b3ad748edb99facbd412d8c compat: update hg-X.Y compat comments and test them diff -r f5b366a31740 -r a4d081923c81 hgext3rd/evolve/__init__.py --- a/hgext3rd/evolve/__init__.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/evolve/__init__.py Tue Mar 10 19:05:08 2020 +0700 @@ -1306,7 +1306,7 @@ statemod.addunfinished(b'pick', fname=b'pickstate', continueflag=True, abortfunc=cmdrewrite.hgabortpick) else: - # compat <= hg-5.0 (5f2f6912c9e6) + # hg <= 5.0 (5f2f6912c9e6) estate = (b'evolvestate', False, False, _(b'evolve in progress'), _(b"use 'hg evolve --continue' or 'hg evolve --abort' to abort")) cmdutil.unfinishedstates.append(estate) diff -r f5b366a31740 -r a4d081923c81 hgext3rd/evolve/cmdrewrite.py --- a/hgext3rd/evolve/cmdrewrite.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/evolve/cmdrewrite.py Tue Mar 10 19:05:08 2020 +0700 @@ -520,7 +520,8 @@ try: uipathfn = scmutil.getuipathfn(repo) except AttributeError: - uipathfn = match.rel # <= 4.9 + # hg <= 4.9 (e6ec0737b706) + uipathfn = match.rel for f in sorted(badfiles): if f in s.clean: diff -r f5b366a31740 -r a4d081923c81 hgext3rd/evolve/compat.py --- a/hgext3rd/evolve/compat.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/evolve/compat.py Tue Mar 10 19:05:08 2020 +0700 @@ -28,7 +28,7 @@ arraytobytes = array.array.tostring arrayfrombytes = array.array.fromstring -# hg <= 5.3 (c21aca51b392) +# hg <= 5.2 (c21aca51b392) try: from mercurial import pathutil dirs = pathutil.dirs @@ -78,7 +78,7 @@ islink=b'l' in flags, isexec=b'x' in flags, copysource=copied.get(path)) - # compat with hg <= 4.9 + # hg <= 4.9 (550a172a603b) elif varnames[2] == r"changectx": mctx = context.memfilectx(repo, ctx, fctx.path(), fctx.data(), islink=b'l' in flags, @@ -86,10 +86,8 @@ copied=copied.get(path)) # pytype: disable=wrong-keyword-args return mctx -# 46c2b19a1263f18a5829a21b7a5053019b0c5a31 in hg moved repair.stripbmrevset to -# scmutil.bookmarkrevs -# This change is a part of 4.7 cycle, so drop this when we drop support for hg <= 4.6 try: + # hg <= 4.6 (46c2b19a1263) bmrevset = repair.stripbmrevset # pytype: disable=module-attr except AttributeError: bmrevset = scmutil.bookmarkrevs @@ -100,7 +98,7 @@ """A complete copy-patse of copies._fullcopytrace with a one line fix to handle when the base is not parent of both c1 and c2. This should be converted in a compat function once https://phab.mercurial-scm.org/D3896 - gets in and once we drop support for 4.7, this should be removed.""" + gets in and once we drop support for 4.6, this should be removed.""" from mercurial import pathutil @@ -121,7 +119,7 @@ if util.safehasattr(base, 'isancestorof'): dirtyc1 = not base.isancestorof(_c1) dirtyc2 = not base.isancestorof(_c2) - else: # hg <= 4.6 + else: # hg <= 4.6 (fbec9c0b32d3) dirtyc1 = not base.descendant(_c1) dirtyc2 = not base.descendant(_c2) graft = dirtyc1 or dirtyc2 @@ -129,7 +127,7 @@ if graft: tca = _c1.ancestor(_c2) - # hg < 4.8 compat (dc50121126ae) + # hg <= 4.9 (dc50121126ae) try: limit = copies._findlimit(repo, c1, c2) # pytype: disable=module-attr except (AttributeError, TypeError): @@ -350,7 +348,7 @@ return copy, movewithdir, diverge, renamedelete, dirmove -# hg <= 4.9 compat (7694b685bb10) +# hg <= 4.9 (7694b685bb10) fixupstreamed = util.safehasattr(scmutil, 'movedirstate') if not fixupstreamed: copies._fullcopytracing = fixedcopytracing @@ -365,7 +363,7 @@ return {'helpcategory': category} # nodemap.get and index.[has_node|rev|get_rev] -# hg <= 5.3 (02802fa87b74) +# hg <= 5.2 (02802fa87b74) def getgetrev(cl): """Returns index.get_rev or nodemap.get (for pre-5.3 Mercurial).""" if util.safehasattr(cl.index, 'get_rev'): diff -r f5b366a31740 -r a4d081923c81 hgext3rd/evolve/evolvecmd.py --- a/hgext3rd/evolve/evolvecmd.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/evolve/evolvecmd.py Tue Mar 10 19:05:08 2020 +0700 @@ -781,7 +781,7 @@ try: effectflag = obsutil.geteffectflag(prec, (succ,)) except TypeError: - # hg <= 4.7 + # hg <= 4.7 (bae6f1418a95) effectflag = obsutil.geteffectflag((prec, (succ,))) metadata[obsutil.EFFECTFLAGFIELD] = b"%d" % effectflag diff -r f5b366a31740 -r a4d081923c81 hgext3rd/evolve/obshistory.py --- a/hgext3rd/evolve/obshistory.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/evolve/obshistory.py Tue Mar 10 19:05:08 2020 +0700 @@ -153,7 +153,7 @@ super(obsmarker_printer, self).__init__(ui, repo, *args, **kwargs) diffopts = kwargs.get('diffopts', {}) - # Compat 4.6 + # hg <= 4.6 (3fe1c9263024) if not util.safehasattr(self, "_includediff"): self._includediff = diffopts and diffopts.get(b'patch') diff -r f5b366a31740 -r a4d081923c81 hgext3rd/evolve/safeguard.py --- a/hgext3rd/evolve/safeguard.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/evolve/safeguard.py Tue Mar 10 19:05:08 2020 +0700 @@ -19,7 +19,7 @@ eh = exthelper.exthelper() -# hg <= 4.8 +# hg <= 4.8 (33d30fb1e4ae) if b'auto-publish' not in configitems.coreitems.get(b'experimental', {}): eh.configitem(b'experimental', b'auto-publish', b'publish') diff -r f5b366a31740 -r a4d081923c81 hgext3rd/pullbundle.py --- a/hgext3rd/pullbundle.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/pullbundle.py Tue Mar 10 19:05:08 2020 +0700 @@ -640,7 +640,7 @@ ui.progress(topic, pos, item, unit, total) # nodemap.get and index.[has_node|rev|get_rev] -# hg <= 5.3 (02802fa87b74) +# hg <= 5.2 (02802fa87b74) def getgetrev(cl): """Returns index.get_rev or nodemap.get (for pre-5.3 Mercurial).""" if util.safehasattr(cl.index, 'get_rev'): diff -r f5b366a31740 -r a4d081923c81 hgext3rd/serverminitopic.py --- a/hgext3rd/serverminitopic.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/serverminitopic.py Tue Mar 10 19:05:08 2020 +0700 @@ -158,7 +158,7 @@ if util.safehasattr(self, '_entries'): _entries = self._entries else: - # hg <= 4.9 (624d6683c705, b137a6793c51) + # hg <= 4.9 (624d6683c705+b137a6793c51) _entries = self new = self.__class__(_entries, self.tipnode, self.tiprev, self.filteredhash, self._closednodes) @@ -232,10 +232,10 @@ def uisetup(ui): wrapclass(branchmap, 'branchcache', _topiccache) try: - # Mercurial 4.8 and older + # hg <= 4.9 (3461814417f3) extensions.wrapfunction(branchmap, 'read', wrapread) except AttributeError: - # Mercurial 4.9; branchcache.fromfile now takes care of this + # Mercurial 5.0; branchcache.fromfile now takes care of this # which is alredy defined on _topiccache pass extensions.wrapfunction(wireprotov1server, '_capabilities', wireprotocaps) diff -r f5b366a31740 -r a4d081923c81 hgext3rd/topic/__init__.py --- a/hgext3rd/topic/__init__.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/topic/__init__.py Tue Mar 10 19:05:08 2020 +0700 @@ -481,7 +481,7 @@ reporef = weakref.ref(self) if self.ui.configbool(b'experimental', b'enforce-single-head'): - if util.safehasattr(tr, 'validator'): # hg <= 4.7 + if util.safehasattr(tr, 'validator'): # hg <= 4.7 (ebbba3ba3f66) origvalidator = tr.validator else: origvalidator = tr._validator @@ -491,7 +491,7 @@ flow.enforcesinglehead(repo, tr2) origvalidator(tr2) - if util.safehasattr(tr, 'validator'): # hg <= 4.7 + if util.safehasattr(tr, 'validator'): # hg <= 4.7 (ebbba3ba3f66) tr.validator = validator else: tr._validator = validator @@ -500,7 +500,7 @@ b'topic-mode.server', b'ignore') ispush = (desc.startswith(b'push') or desc.startswith(b'serve')) if (topicmodeserver != b'ignore' and ispush): - if util.safehasattr(tr, 'validator'): # hg <= 4.7 + if util.safehasattr(tr, 'validator'): # hg <= 4.7 (ebbba3ba3f66) origvalidator = tr.validator else: origvalidator = tr._validator @@ -509,7 +509,7 @@ repo = reporef() flow.rejectuntopicedchangeset(repo, tr2) return origvalidator(tr2) - if util.safehasattr(tr, 'validator'): # hg <= 4.7 + if util.safehasattr(tr, 'validator'): # hg <= 4.7 (ebbba3ba3f66) tr.validator = validator else: tr._validator = validator @@ -531,7 +531,7 @@ b'topic.allow-publish', True) if not allow_publish: - if util.safehasattr(tr, 'validator'): # hg <= 4.7 + if util.safehasattr(tr, 'validator'): # hg <= 4.7 (ebbba3ba3f66) origvalidator = tr.validator else: origvalidator = tr._validator @@ -540,7 +540,7 @@ repo = reporef() flow.reject_publish(repo, tr2) return origvalidator(tr2) - if util.safehasattr(tr, 'validator'): # hg <= 4.7 + if util.safehasattr(tr, 'validator'): # hg <= 4.7 (ebbba3ba3f66) tr.validator = validator else: tr._validator = validator diff -r f5b366a31740 -r a4d081923c81 hgext3rd/topic/compat.py --- a/hgext3rd/topic/compat.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/topic/compat.py Tue Mar 10 19:05:08 2020 +0700 @@ -32,7 +32,7 @@ return {'helpcategory': category} # nodemap.get and index.[has_node|rev|get_rev] -# hg <= 5.3 (02802fa87b74) +# hg <= 5.2 (02802fa87b74) def getgetrev(cl): """Returns index.get_rev or nodemap.get (for pre-5.3 Mercurial).""" if util.safehasattr(cl.index, 'get_rev'): diff -r f5b366a31740 -r a4d081923c81 hgext3rd/topic/discovery.py --- a/hgext3rd/topic/discovery.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/topic/discovery.py Tue Mar 10 19:05:08 2020 +0700 @@ -157,7 +157,7 @@ return tr._prepushheads = _nbheads(op.repo) reporef = weakref.ref(op.repo) - if util.safehasattr(tr, 'validator'): # hg <= 4.7 + if util.safehasattr(tr, 'validator'): # hg <= 4.7 (ebbba3ba3f66) oldvalidator = tr.validator else: oldvalidator = tr._validator @@ -178,7 +178,7 @@ % branch) raise error.Abort(msg) return oldvalidator(tr) - if util.safehasattr(tr, 'validator'): # hg <= 4.7 + if util.safehasattr(tr, 'validator'): # hg <= 4.7 (ebbba3ba3f66) tr.validator = validator else: tr._validator = validator diff -r f5b366a31740 -r a4d081923c81 hgext3rd/topic/flow.py --- a/hgext3rd/topic/flow.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/topic/flow.py Tue Mar 10 19:05:08 2020 +0700 @@ -101,7 +101,8 @@ def installpushflag(ui): entry = extensions.wrapcommand(commands.table, b'push', wrappush) - if not any(opt for opt in entry[1] if opt[1] == b'publish'): # hg <= 4.9 + if not any(opt for opt in entry[1] if opt[1] == b'publish'): + # hg <= 4.8 (9b8d1ad851f8) entry[1].append((b'', b'publish', False, _(b'push the changeset as public'))) extensions.wrapfunction(exchange.pushoperation, '__init__', diff -r f5b366a31740 -r a4d081923c81 hgext3rd/topic/revset.py --- a/hgext3rd/topic/revset.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/topic/revset.py Tue Mar 10 19:05:08 2020 +0700 @@ -124,6 +124,7 @@ b'relation subscript bounds must be integers', None, None) else: + # hg <= 4.9 (431cf2c8c839+13f7a6a4f0db) a = b = z s = revset.getset(repo, revset.fullreposet(repo), x) diff -r f5b366a31740 -r a4d081923c81 hgext3rd/topic/server.py --- a/hgext3rd/topic/server.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/topic/server.py Tue Mar 10 19:05:08 2020 +0700 @@ -16,7 +16,7 @@ ) repoviewutil.subsettable except (AttributeError, ImportError): - # hg <= 4.8 + # hg <= 4.9 (caebe5e7f4bd) from mercurial import branchmap as repoviewutil from . import ( diff -r f5b366a31740 -r a4d081923c81 hgext3rd/topic/topicmap.py --- a/hgext3rd/topic/topicmap.py Tue Mar 10 19:04:33 2020 +0700 +++ b/hgext3rd/topic/topicmap.py Tue Mar 10 19:05:08 2020 +0700 @@ -125,7 +125,7 @@ branchmap.branchcache = topiccache try: - # Mercurial 4.9 + # Mercurial 5.0 class remotetopiccache(_topiccache, branchmap.remotebranchcache): pass branchmap.remotebranchcache = remotetopiccache @@ -135,7 +135,7 @@ return _wrapupdatebmcache(orig.__get__(self), repo) extensions.wrapfunction(branchmap.BranchMapCache, 'updatecache', _wrapupdatebmcachemethod) except AttributeError: - # Mercurial 4.8 and before + # hg <= 4.9 (3461814417f3) extensions.wrapfunction(branchmap, 'updatecache', _wrapupdatebmcache) @@ -173,7 +173,7 @@ if util.safehasattr(self, '_entries'): _entries = self._entries else: - # hg <= 4.9 (624d6683c705, b137a6793c51) + # hg <= 4.9 (624d6683c705+b137a6793c51) _entries = self new = self.__class__(_entries, self.tipnode, self.tiprev, self.filteredhash, self._closednodes) diff -r f5b366a31740 -r a4d081923c81 tests/test-check-compat-strings.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-check-compat-strings.t Tue Mar 10 19:05:08 2020 +0700 @@ -0,0 +1,8 @@ +Enable obsolescence to avoid the warning issue when obsmarkers are found + + $ cat << EOF >> $HGRCPATH + > [experimental] + > evolution = all + > EOF + + $ $TESTDIR/../contrib/check-compat-strings.sh "$TESTDIR/../hgext3rd/" "$RUNTESTDIR/.."