annotate tests/test-pull @ 2079:ee96ca273f32

New lazy index code for revlogs. This tunes for large repositories. It does not read the whole index file in one big chunk, but tries to buffer reads in more reasonable chunks instead. Search speeds are improved in two ways. When trying to find a specific sha hash, it searches from the end of the file backward. More recent entries are more likely to be relevant, especially the tip. Also, this can load only the mapping of nodes to revlog index number. Loading the map uses less cpu (no struct.unpack) and much less memory than loading both the map and the index. This cuts down the time for hg tip on the 80,000 changeset kernel repo from 1.8s to 3.69s. Most commands the pull a single rev out of a big index get roughly the same benefit. Commands that read the whole index are not slower.
author mason@suse.com
date Tue, 04 Apr 2006 16:47:12 -0400
parents 85daa4e03b4c
children 83cfd95eafb5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
544
3d4d5f2aba9a Remove bashisms and use /bin/sh instead of /bin/bash.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 522
diff changeset
1 #!/bin/sh
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
2
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
3 mkdir test
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
4 cd test
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
5 echo foo>foo
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
6 hg init
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
7 hg addremove
749
7e4843b7efd2 Update tests to use commit -m and default -u
mpm@selenic.com
parents: 642
diff changeset
8 hg commit -m 1
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
9 hg verify
1786
ffb584a182d1 Don't use mktemp in tests, we're already in a secure temp dir.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1744
diff changeset
10 hg serve -p 20059 -d --pid-file=hg.pid
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
11 cd ..
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
12
1927
397b62d5dd13 add http_proxy= lines to test-bad-pull and test-pull
Peter van Dijk <peter@dataloss.nl>
parents: 814
diff changeset
13 http_proxy= hg clone http://localhost:20059/ copy
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
14 cd copy
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
15 hg verify
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
16 hg co
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
17 cat foo
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
18 hg manifest
522
2f1de824798a Fix empty pull bug that appeared this morning
mpm@selenic.com
parents: 495
diff changeset
19 hg pull
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
20
1786
ffb584a182d1 Don't use mktemp in tests, we're already in a secure temp dir.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1744
diff changeset
21 kill `cat ../test/hg.pid`