##// END OF EJS Templates
revisionbranchcache: fall back to slow path if starting readonly (issue4531)...
revisionbranchcache: fall back to slow path if starting readonly (issue4531) Transitioning to Mercurial versions with revision branch cache could be slow as long as all operations were readonly (revset queries) and the cache would be populated but not written back. Instead, fall back to using the consistently slow path when readonly and the cache doesn't exist yet. That avoids the overhead of populating the cache without writing it back. If not readonly, it will still populate all missing entries initially. That avoids repeated writing of the cache file with small updates, and it also makes sure a fully populated cache available for the readonly operations.

File last commit:

r22565:8d45a42b default
r24159:5b4ed033 3.3.1 stable
Show More
heredoctest.py
18 lines | 467 B | text/x-python | PythonLexer
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 import sys
Idan Kamara
tests: remove temp doctest file when finished running it
r15247
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 globalvars = {}
lines = sys.stdin.readlines()
while lines:
l = lines.pop(0)
if l.startswith('SALT'):
print l[:-1]
elif l.startswith('>>> '):
snippet = l[4:]
while lines and lines[0].startswith('... '):
l = lines.pop(0)
Yuya Nishihara
heredoctest: do not append extra newline character to continuation line...
r22565 snippet += l[4:]
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 c = compile(snippet, '<heredoc>', 'single')
try:
Yuya Nishihara
heredoctest: use the same dict for local/global contexts as in doctest...
r22564 exec c in globalvars
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 except Exception, inst:
print repr(inst)