diff -r ba5d89774db6 -r f41a99c45956 mercurial/sparse.py --- a/mercurial/sparse.py Thu Jul 06 12:14:03 2017 -0700 +++ b/mercurial/sparse.py Thu Jul 06 12:14:12 2017 -0700 @@ -46,3 +46,10 @@ current.add(line) return includes, excludes, profiles + +# Exists as separate function to facilitate monkeypatching. +def readprofile(repo, profile, changeid): + """Resolve the raw content of a sparse profile file.""" + # TODO add some kind of cache here because this incurs a manifest + # resolve and can be slow. + return repo.filectx(profile, changeid=changeid).data()