From patchwork Wed Feb 6 11:57:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D5867: largefiles: use wrappedfunction() for match() override in overridecopy() From: phabricator X-Patchwork-Id: 38478 Message-Id: To: mercurial-devel@mercurial-scm.org Date: Wed, 6 Feb 2019 11:57:08 +0000 This revision was automatically updated to reflect the committed changes. Closed by commit rHG9f11759fc5f5: largefiles: use wrappedfunction() for match() override in overridecopy() (authored by martinvonz, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D5867?vs=13842&id=13847 REVISION DETAIL https://phab.mercurial-scm.org/D5867 AFFECTED FILES hgext/largefiles/overrides.py CHANGE DETAILS To: martinvonz, #hg-reviewers, pulkit Cc: mercurial-devel diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -652,7 +652,7 @@ wlock = repo.wlock() manifest = repo[None].manifest() - def overridematch(ctx, pats=(), opts=None, globbed=False, + def overridematch(orig, ctx, pats=(), opts=None, globbed=False, default='relpath', badfn=None): if opts is None: opts = {} @@ -664,7 +664,7 @@ newpats.append(pat.replace(lfutil.shortname, '')) else: newpats.append(pat) - match = oldmatch(ctx, newpats, opts, globbed, default, badfn=badfn) + match = orig(ctx, newpats, opts, globbed, default, badfn=badfn) m = copy.copy(match) lfile = lambda f: lfutil.standin(f) in manifest m._files = [lfutil.standin(f) for f in m._files if lfile(f)] @@ -678,7 +678,6 @@ None) m.matchfn = matchfn return m - oldmatch = installmatchfn(overridematch) listpats = [] for pat in pats: if matchmod.patkind(pat) is not None: @@ -696,7 +695,8 @@ _('destination largefile already exists')) copiedfiles.append((src, dest)) orig(src, dest, *args, **kwargs) - with extensions.wrappedfunction(util, 'copyfile', overridecopyfile): + with extensions.wrappedfunction(util, 'copyfile', overridecopyfile), \ + extensions.wrappedfunction(scmutil, 'match', overridematch): result += orig(ui, repo, listpats, opts, rename) lfdirstate = lfutil.openlfdirstate(ui, repo) @@ -727,7 +727,6 @@ else: nolfiles = True finally: - restorematchfn() wlock.release() if nolfiles and nonormalfiles: