##// END OF EJS Templates
localrepo: strip now incrementally updates the branchheads cache...
localrepo: strip now incrementally updates the branchheads cache Destroying history via strip used to invalidate the branchheads cache, causing it to be regenerated the next time it is read. This is expensive in large repos. This change converts strip to pass info to localrepo.destroyed() to enable to it to incrementally update the cache, improving the performance of strip and other operations that depend on it (e.g., rebase). This change also strengthens a bit the integrity checking of the branchheads cache when it is read, by rejecting the cache if it has nodes in it that no longer exist.

File last commit:

r14438:08bfec2e default
r16716:0311a6ab default
Show More
test-dispatch.py
33 lines | 786 B | text/x-python | PythonLexer
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 import os
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 from mercurial import dispatch
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 def testdispatch(cmd):
"""Simple wrapper around dispatch.dispatch()
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
Prints command and result value, but does not handle quoting.
"""
print "running: %s" % (cmd,)
Idan Kamara
dispatch: wrap dispatch related information in a request class...
r14438 req = dispatch.request(cmd.split())
result = dispatch.dispatch(req)
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 print "result: %r" % (result,)
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("init test1")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 os.chdir('test1')
# create file 'foo', add and commit
Alejandro Santos
compat: use open() instead of file() everywhere
r9031 f = open('foo', 'wb')
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 f.write('foo\n')
f.close()
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("add foo")
testdispatch("commit -m commit1 -d 2000-01-01 foo")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
# append to file 'foo' and commit
Alejandro Santos
compat: use open() instead of file() everywhere
r9031 f = open('foo', 'ab')
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 f.write('bar\n')
f.close()
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("commit -m commit2 -d 2000-01-02 foo")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
# check 88803a69b24 (fancyopts modified command table)
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("log -r 0")
testdispatch("log -r tip")