stream: in v3, skip the "size" fast path if the entries as some unknown size
We are about to prefetch size during the lock less in the v3 case. So we need to
avoid trying to use that prefetched size when it is not available.
See next changeset for the motivation.
import os
import sys
from mercurial import dispatch
def printb(data, end=b'\n'):
out = getattr(sys.stdout, 'buffer', sys.stdout)
out.write(data + end)
out.flush()
def testdispatch(cmd):
"""Simple wrapper around dispatch.dispatch()
Prints command and result value, but does not handle quoting.
"""
printb(b"running: %s" % (cmd,))
req = dispatch.request(cmd.split())
result = dispatch.dispatch(req)
printb(b"result: %r" % (result,))
testdispatch(b"init test1")
os.chdir('test1')
# create file 'foo', add and commit
f = open('foo', 'wb')
f.write(b'foo\n')
f.close()
testdispatch(b"add foo")
testdispatch(b"commit -m commit1 -d 2000-01-01 foo")
# append to file 'foo' and commit
f = open('foo', 'ab')
f.write(b'bar\n')
f.close()
testdispatch(b"commit -m commit2 -d 2000-01-02 foo")
# check 88803a69b24 (fancyopts modified command table)
testdispatch(b"log -r 0")
testdispatch(b"log -r tip")