sparse: clean up config signature code
Before, 0 was being used as the default signature value and we cast
the int to a string. We also handled I/O exceptions manually.
The new code uses cfs.tryread() so we always feed data into the
hasher. The empty string does hash and and should be suitable
for input into a cache key.
The changes made the code simple enough that the separate checksum
function could be inlined.
from __future__ import absolute_import
from mercurial import (
util,
)
# XXX: we should probably offer a devel option to do this in blackbox directly
def getuser():
return 'bob'
def getpid():
return 5000
# mock the date and user apis so the output is always the same
def uisetup(ui):
util.getuser = getuser
util.getpid = getpid