phases: stop using `repo.set` in `remotephasessummary`
The `repository.set` create changectx on the fly, an expensive operation. Using
`repo.revs` and a direct rev-num → node-id translation will be significantly
faster.
This is especially true as we prepare ourself to no longer do the rev-num →
node-id transalation there.
The speedup is a bit lost in the overall noisyness of the slow phase discovery algorithm, but it save a small amount of time in my benchmark.
Same with share-safe
$ echo "[format]" >> $HGRCPATH
$ echo "use-share-safe = True" >> $HGRCPATH
$ cd $TESTTMP
$ hg init myrepo
$ cd myrepo
$ cat > .hg/hgrc <<EOF
> [extensions]
> sparse=
> EOF
$ echo a > show
$ echo x > hide
$ hg ci -Aqm 'initial'
Regression test: checks that this command correctly locks the store
before updating the store [requirements] config.
$ hg up -q 0
$ hg debugsparse --include 'hide'