revlog: have an explicit "pack_header" method
Having to pass the version header when retrieving the binary version of every
single entry is a bit silly. So we extract that special logic in its own method.
This also prepare the move to newer revlog format, not storing the header within
an actual entry…
Differential Revision: https://phab.mercurial-scm.org/D10510
from __future__ import absolute_import
import os
from mercurial import (
dispatch,
extensions,
ui as uimod,
)
def testdispatch(cmd):
"""Simple wrapper around dispatch.dispatch()
Prints command and result value, but does not handle quoting.
"""
ui = uimod.ui.load()
extensions.populateui(ui)
ui.statusnoi18n(b"running: %s\n" % cmd)
req = dispatch.request(cmd.split(), ui)
result = dispatch.dispatch(req)
ui.statusnoi18n(b"result: %r\n" % result)
# create file 'foo', add and commit
f = open(b'foo', 'wb')
f.write(b'foo\n')
f.close()
testdispatch(b"--debug add foo")
testdispatch(b"--debug commit -m commit1 -d 2000-01-01 foo")
# append to file 'foo' and commit
f = open(b'foo', 'ab')
f.write(b'bar\n')
f.close()
# remove blackbox.log directory (proxy for readonly log file)
os.rmdir(b".hg/blackbox.log")
# replace it with the real blackbox.log file
os.rename(b".hg/blackbox.log-", b".hg/blackbox.log")
testdispatch(b"--debug commit -m commit2 -d 2000-01-02 foo")
# check 88803a69b24 (fancyopts modified command table)
testdispatch(b"--debug log -r 0")
testdispatch(b"--debug log -r tip")