##// END OF EJS Templates
sparse: use set for capturing profiles...
Gregory Szorc -
r33550:32f348d7 default
parent child Browse files
Show More
@@ -34,7 +34,7 b' def parseconfig(ui, raw):'
34 includes = set()
34 includes = set()
35 excludes = set()
35 excludes = set()
36 current = includes
36 current = includes
37 profiles = []
37 profiles = set()
38 for line in raw.split('\n'):
38 for line in raw.split('\n'):
39 line = line.strip()
39 line = line.strip()
40 if not line or line.startswith('#'):
40 if not line or line.startswith('#'):
@@ -43,7 +43,7 b' def parseconfig(ui, raw):'
43 elif line.startswith('%include '):
43 elif line.startswith('%include '):
44 line = line[9:].strip()
44 line = line[9:].strip()
45 if line:
45 if line:
46 profiles.append(line)
46 profiles.add(line)
47 elif line == '[include]':
47 elif line == '[include]':
48 if current != includes:
48 if current != includes:
49 # TODO pass filename into this API so we can report it.
49 # TODO pass filename into this API so we can report it.
@@ -76,11 +76,11 b' def patternsforrev(repo, rev):'
76 """
76 """
77 # Feature isn't enabled. No-op.
77 # Feature isn't enabled. No-op.
78 if not enabled:
78 if not enabled:
79 return set(), set(), []
79 return set(), set(), set()
80
80
81 raw = repo.vfs.tryread('sparse')
81 raw = repo.vfs.tryread('sparse')
82 if not raw:
82 if not raw:
83 return set(), set(), []
83 return set(), set(), set()
84
84
85 if rev is None:
85 if rev is None:
86 raise error.Abort(_('cannot parse sparse patterns from working '
86 raise error.Abort(_('cannot parse sparse patterns from working '
@@ -115,8 +115,7 b' def patternsforrev(repo, rev):'
115 pincludes, pexcludes, subprofs = parseconfig(repo.ui, raw)
115 pincludes, pexcludes, subprofs = parseconfig(repo.ui, raw)
116 includes.update(pincludes)
116 includes.update(pincludes)
117 excludes.update(pexcludes)
117 excludes.update(pexcludes)
118 for subprofile in subprofs:
118 profiles.update(subprofs)
119 profiles.append(subprofile)
120
119
121 profiles = visited
120 profiles = visited
122
121
@@ -142,7 +141,7 b' def activeconfig(repo):'
142 includes, excludes, profiles = patternsforrev(repo, rev)
141 includes, excludes, profiles = patternsforrev(repo, rev)
143 allincludes |= includes
142 allincludes |= includes
144 allexcludes |= excludes
143 allexcludes |= excludes
145 allprofiles |= set(profiles)
144 allprofiles |= profiles
146
145
147 return allincludes, allexcludes, allprofiles
146 return allincludes, allexcludes, allprofiles
148
147
@@ -504,7 +503,7 b' def aftercommit(repo, node):'
504 profiles = patternsforrev(repo, ctx.rev())[2]
503 profiles = patternsforrev(repo, ctx.rev())[2]
505
504
506 # profiles will only have data if sparse is enabled.
505 # profiles will only have data if sparse is enabled.
507 if set(profiles) & set(ctx.files()):
506 if profiles & set(ctx.files()):
508 origstatus = repo.status()
507 origstatus = repo.status()
509 origsparsematch = matcher(repo)
508 origsparsematch = matcher(repo)
510 refreshwdir(repo, origstatus, origsparsematch, force=True)
509 refreshwdir(repo, origstatus, origsparsematch, force=True)
@@ -555,7 +554,7 b' def importfromfiles(repo, opts, paths, f'
555 oldsize = len(includes) + len(excludes) + len(profiles)
554 oldsize = len(includes) + len(excludes) + len(profiles)
556 includes.update(iincludes - aincludes)
555 includes.update(iincludes - aincludes)
557 excludes.update(iexcludes - aexcludes)
556 excludes.update(iexcludes - aexcludes)
558 profiles.update(set(iprofiles) - aprofiles)
557 profiles.update(iprofiles - aprofiles)
559 if len(includes) + len(excludes) + len(profiles) > oldsize:
558 if len(includes) + len(excludes) + len(profiles) > oldsize:
560 changed = True
559 changed = True
561
560
@@ -604,7 +603,6 b' def updateconfig(repo, pats, opts, inclu'
604
603
605 raw = repo.vfs.tryread('sparse')
604 raw = repo.vfs.tryread('sparse')
606 oldinclude, oldexclude, oldprofiles = parseconfig(repo.ui, raw)
605 oldinclude, oldexclude, oldprofiles = parseconfig(repo.ui, raw)
607 oldprofiles = set(oldprofiles)
608
606
609 if reset:
607 if reset:
610 newinclude = set()
608 newinclude = set()
General Comments 0
You need to be logged in to leave comments. Login now