phases: update the phase set as we go during retract boundary
Apparently iterating over the `changed_revs` dictionary is very expensive.
On mozilla-try-2019-02-18, a perf::unbundle call with a 10 000 changesets
bundle gives give use the following timing.
e57d4b868a3e: 4.6 seconds
ac1c75188440: 102.5 seconds
prev-changeset: 30.0 seconds
this-changeset: 4.6 seconds
So, the performance regression is gone.
Once again: thanks to marvelous Python!
#require no-windows
$ . "$TESTDIR/remotefilelog-library.sh"
$ hg init master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [remotefilelog]
> server=True
> EOF
$ echo x > x
$ echo y > y
$ echo z > z
$ hg commit -qAm xy
$ cd ..
$ hgcloneshallow ssh://user@dummy/master shallow -q
3 files fetched over 1 fetches - (3 misses, 0.00% hit ratio) over *s (glob)
$ cd shallow
Verify error message when noc achepath specified
$ hg up -q null
$ cp $HGRCPATH $HGRCPATH.bak
$ grep -v cachepath < $HGRCPATH.bak > tmp
$ mv tmp $HGRCPATH
$ hg up tip
abort: could not find config option remotefilelog.cachepath
[255]
$ mv $HGRCPATH.bak $HGRCPATH
Verify error message when no fallback specified
$ hg up -q null
$ rm .hg/hgrc
$ clearcache
$ hg up tip
3 files fetched over 1 fetches - (3 misses, 0.00% hit ratio) over *s (glob)
abort: no remotefilelog server configured - is your .hg/hgrc trusted?
[255]