tests/test-server-view.t
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 17 Apr 2019 23:10:29 -0700
changeset 42230 fdbeacb9d456
parent 42106 bcf59ddc6173
child 42231 d345627d104b
permissions -rw-r--r--
copies: filter out copies from non-existent source later in _chain() _changesetforwardcopies() repeatedly calls _chain(). That is very expensive because _chain() does lookups in the manifest. I hope to split up the function in two parts: 1) simple chaining, not considering end points, and 2) filter out files that don't exist in the end points (and ping-pong copies/renames). This patches gets us closer to that by moving the check for non-existent source later in the function. Now there are no more checks for "src" and "dst" in the first loop; all the filtering of invalid copies is done in the second loop. The code also looks much more consistent now. No measureable impact on `hg debugpathcopies 4.0 4.8`. That shouldn't be surprising since the only case we're doing more checks now is in case of chained copies/renames, which are quire rare in practice. Differential Revision: https://phab.mercurial-scm.org/D6277
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41840
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     1
  $ hg init test
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     2
  $ cd test
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     3
  $ hg debugbuilddag '+2'
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     4
  $ hg phase --public 0
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     5
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     6
  $ hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     7
  $ cat hg.pid >> $DAEMON_PIDS
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     8
  $ cd ..
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     9
  $ hg init test2
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    10
  $ cd test2
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    11
  $ hg incoming http://foo:xyzzy@localhost:$HGPORT/
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    12
  comparing with http://foo:***@localhost:$HGPORT/
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    13
  changeset:   0:1ea73414a91b
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    14
  user:        debugbuilddag
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    15
  date:        Thu Jan 01 00:00:00 1970 +0000
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    16
  summary:     r0
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    17
  
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    18
  changeset:   1:66f7d451a68b
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    19
  tag:         tip
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    20
  user:        debugbuilddag
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    21
  date:        Thu Jan 01 00:00:01 1970 +0000
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    22
  summary:     r1
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    23
  
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    24
  $ killdaemons.py
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    25
42106
bcf59ddc6173 test: minor cleanup to test-server-view.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41840
diff changeset
    26
  $ cd ..
bcf59ddc6173 test: minor cleanup to test-server-view.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41840
diff changeset
    27
  $ hg -R test --config server.view=immutable serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
41840
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    28
  $ cat hg.pid >> $DAEMON_PIDS
42106
bcf59ddc6173 test: minor cleanup to test-server-view.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41840
diff changeset
    29
  $ hg -R test2 incoming http://foo:xyzzy@localhost:$HGPORT/
41840
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    30
  comparing with http://foo:***@localhost:$HGPORT/
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    31
  changeset:   0:1ea73414a91b
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    32
  tag:         tip
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    33
  user:        debugbuilddag
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    34
  date:        Thu Jan 01 00:00:00 1970 +0000
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    35
  summary:     r0
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    36
  
42106
bcf59ddc6173 test: minor cleanup to test-server-view.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41840
diff changeset
    37
  $ cat errors.log
41840
d6569f1e9b37 server: allow customizing the default repo filter
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    38
  $ killdaemons.py