obshash: properly cache obshash value
The code was buggy and only cached non-nullid/non-inherited value. This was
previous hidden because we were using a 'propertycache' to cache the value on
the range object. This fixes it and restore a lot of performance.
#require test-repo
$ checkcm() {
> if ! (which check-manifest > /dev/null); then
> echo skipped: missing tool: check-manifest;
> exit 80;
> fi;
> };
$ checkcm
$ cat << EOF >> $HGRCPATH
> [experimental]
> evolution=all
> EOF
Run check manifest:
$ cd $TESTDIR/..
$ check-manifest
lists of files in version control and sdist match