--- a/mercurial/sparse.py Thu Jul 06 12:15:14 2017 -0700
+++ b/mercurial/sparse.py Thu Jul 06 12:26:04 2017 -0700
@@ -8,6 +8,7 @@
from __future__ import absolute_import
from .i18n import _
+from .node import nullid
from . import (
error,
)
@@ -115,3 +116,13 @@
includes.add('.hg*')
return includes, excludes, profiles
+
+def activeprofiles(repo):
+ revs = [repo.changelog.rev(node) for node in
+ repo.dirstate.parents() if node != nullid]
+
+ profiles = set()
+ for rev in revs:
+ profiles.update(patternsforrev(repo, rev)[2])
+
+ return profiles