tests/test-schemes.t
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
Mon, 02 May 2011 19:21:30 +0200
changeset 14164 cb98fed52495
parent 13815 d066d8d652c8
child 14624 f03c82d1f50a
permissions -rw-r--r--
discovery: add new set-based discovery 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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9964
e600ad9bc257 schemes extension
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff changeset
     1
12486
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
     2
  $ cat <<EOF >> $HGRCPATH
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
     3
  > [extensions]
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
     4
  > schemes=
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
     5
  > 
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
     6
  > [schemes]
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
     7
  > l = http://localhost:$HGPORT/
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
     8
  > parts = http://{1}:$HGPORT/
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
     9
  > z = file:\$PWD/
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    10
  > EOF
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    11
  $ hg init test
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    12
  $ cd test
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    13
  $ echo a > a
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    14
  $ hg ci -Am initial
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    15
  adding a
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    16
  $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    17
  $ cat hg.pid >> $DAEMON_PIDS
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    18
  $ hg incoming l://
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    19
  comparing with l://
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    20
  searching for changes
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    21
  no changes found
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    22
  [1]
9964
e600ad9bc257 schemes extension
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff changeset
    23
12486
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    24
check that {1} syntax works
9964
e600ad9bc257 schemes extension
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff changeset
    25
12486
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    26
  $ hg incoming --debug parts://localhost
12643
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12486
diff changeset
    27
  using http://localhost:$HGPORT/
13603
395a84f78736 httprepo: use caps instead of between for compat check
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 12643
diff changeset
    28
  sending capabilities command
13815
d066d8d652c8 url: add trailing slashes to URLs with hostnames that don't have one
Brodie Rao <brodie@bitheap.org>
parents: 13742
diff changeset
    29
  comparing with parts://localhost/
14164
cb98fed52495 discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13815
diff changeset
    30
  query 1; heads
12486
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    31
  sending heads command
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    32
  searching for changes
14164
cb98fed52495 discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13815
diff changeset
    33
  all remote heads known locally
12486
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    34
  no changes found
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    35
  [1]
9964
e600ad9bc257 schemes extension
Alexander Solovyov <piranha@piranha.org.ua>
parents:
diff changeset
    36
12486
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    37
check that paths are expanded
10070
9d1195b2f00d schemes: url parts are counted from 1
Alexander Solovyov <piranha@piranha.org.ua>
parents: 9964
diff changeset
    38
12486
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    39
  $ PWD=`pwd` hg incoming z://
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    40
  comparing with z://
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    41
  searching for changes
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    42
  no changes found
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    43
  [1]
11154
17031fea4e95 expand paths to local repository or bundle in appropriate classes
Alexander Solovyov <piranha@piranha.org.ua>
parents: 10070
diff changeset
    44
12486
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    45
errors
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    46
95b4af4eaa06 tests: unify test-schemes
Matt Mackall <mpm@selenic.com>
parents: 11154
diff changeset
    47
  $ cat errors.log