uncommit: use repo.setparents() instead of repo.dirstate.setparents()
setparents() was added to localrepository class in 2012, and now we finally
have some differences between calling repo.setparents() vs
repo.dirstate.setparents(): _quick_access_* things, introduced in hg 5.3.
This patch fixes potential quick-access desync problems where repo[b'.'] would
be different from repo.dirstate.p1().
Test that share-clones use the cache in the original repository.
$ . $TESTDIR/testlib/common.sh
$ hg init share-base
$ cd share-base/
$ cat >> .hg/hgrc <<EOF
> [extensions]
> evolve=
> share=
> EOF
$ hg debugbuilddag .+3:branchpoint+4*branchpoint+2
$ cd ..
$ hg --config extensions.share= share -U share-base share-client
$ cd share-client
$ hg debugupdatecache
$ test -d .hg/cache
[1]
$ test -d ../share-base/.hg/cache