lfs: respect narrowmatcher when testing to add 'lfs' requirement (issue5794)
There's a similar test in lfs.wrapper.convertsink(), but I didn't update that
because I don't think that the sink repo in a convert can be narrow.
It seems reasonable that a narrow clone of an LFS repo may not necessarily be an
LFS repo. The only potential issue is that LFS has a hard requirement for
changegroup v3, which that extension enables. The use of treemanifest will
enable changegroup v3 in narrow clones, because allsupportedversions() in
changegroup.py preserves it when it sees a 'treemanifest' requirement. But I
don't see where changegroup v3 is enabled for a flat manifest.
from __future__ import absolute_import
from mercurial.i18n import _
from mercurial import (
changegroup,
error,
extensions
)
def abort(orig, *args, **kwargs):
raise error.Abort(_('this is an exercise'))
def uisetup(ui):
extensions.wrapfunction(changegroup, 'getbundler', abort)