sparse: move active profiles function into core

Also includes some light formatting changes.
This commit is contained in:
Gregory Szorc 2017-07-06 12:26:04 -07:00
parent b77eafa212
commit 82797a75d4
2 changed files with 12 additions and 12 deletions

View File

@ -213,7 +213,7 @@ def _setupupdates(ui):
for file, flags, msg in actions:
dirstate.normal(file)
profiles = repo.getactiveprofiles()
profiles = sparse.activeprofiles(repo)
changedprofiles = profiles & files
# If an active profile changed during the update, refresh the checkout.
# Don't do this during a branch merge, since all incoming changes should
@ -517,17 +517,6 @@ def _wraprepo(ui, repo):
return result
def getactiveprofiles(self):
revs = [self.changelog.rev(node) for node in
self.dirstate.parents() if node != nullid]
activeprofiles = set()
for rev in revs:
_, _, profiles = sparse.patternsforrev(self, rev)
activeprofiles.update(profiles)
return activeprofiles
def writesparseconfig(self, include, exclude, profiles):
raw = '%s[include]\n%s\n[exclude]\n%s\n' % (
''.join(['%%include %s\n' % p for p in sorted(profiles)]),

View File

@ -8,6 +8,7 @@
from __future__ import absolute_import
from .i18n import _
from .node import nullid
from . import (
error,
)
@ -115,3 +116,13 @@ def patternsforrev(repo, rev):
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