mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 09:48:05 +03:00
75fa0e5ea9
Adds a new discovery method based on repeatedly sampling the still undecided subset of the local node graph to determine the set of nodes common to both the client and the server. For small differences between client and server, it uses about the same or slightly fewer roundtrips than the old tree-based discovery. For larger differences, it typically reduces the number of roundtrips drastically (from 150 to 4, for instance). The old discovery code now lives in treediscovery.py, the new code is in setdiscovery.py. Still missing is a hook for extensions to contribute nodes to the initial sample. For instance, Augie's remotebranches could contribute the last known state of the server's heads. Credits for the actual sampler and computing common heads instead of bases go to Benoit Boissinot.
48 lines
910 B
Perl
48 lines
910 B
Perl
|
|
$ cat <<EOF >> $HGRCPATH
|
|
> [extensions]
|
|
> schemes=
|
|
>
|
|
> [schemes]
|
|
> l = http://localhost:$HGPORT/
|
|
> parts = http://{1}:$HGPORT/
|
|
> z = file:\$PWD/
|
|
> EOF
|
|
$ hg init test
|
|
$ cd test
|
|
$ echo a > a
|
|
$ hg ci -Am initial
|
|
adding a
|
|
$ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
|
|
$ cat hg.pid >> $DAEMON_PIDS
|
|
$ hg incoming l://
|
|
comparing with l://
|
|
searching for changes
|
|
no changes found
|
|
[1]
|
|
|
|
check that {1} syntax works
|
|
|
|
$ hg incoming --debug parts://localhost
|
|
using http://localhost:$HGPORT/
|
|
sending capabilities command
|
|
comparing with parts://localhost/
|
|
query 1; heads
|
|
sending heads command
|
|
searching for changes
|
|
all remote heads known locally
|
|
no changes found
|
|
[1]
|
|
|
|
check that paths are expanded
|
|
|
|
$ PWD=`pwd` hg incoming z://
|
|
comparing with z://
|
|
searching for changes
|
|
no changes found
|
|
[1]
|
|
|
|
errors
|
|
|
|
$ cat errors.log
|