--- a/mercurial/sparse.py Thu Jul 06 12:24:55 2017 -0700
+++ b/mercurial/sparse.py Thu Jul 06 14:48:16 2017 -0700
@@ -149,3 +149,20 @@
fh.write('\n')
invalidatesignaturecache(repo)
+
+def readtemporaryincludes(repo):
+ raw = repo.vfs.tryread('tempsparse')
+ if not raw:
+ return set()
+
+ return set(raw.split('\n'))
+
+def writetemporaryincludes(repo, includes):
+ repo.vfs.write('tempsparse', '\n'.join(sorted(includes)))
+ invalidatesignaturecache(repo)
+
+def addtemporaryincludes(repo, additional):
+ includes = readtemporaryincludes(repo)
+ for i in additional:
+ includes.add(i)
+ writetemporaryincludes(repo, includes)