Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-up-local-change @ 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 | 7544700fd931 |
children | 2ff37e3bf780 |
rev | line source |
---|---|
544
3d4d5f2aba9a
Remove bashisms and use /bin/sh instead of /bin/bash.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
485
diff
changeset
|
1 #!/bin/sh |
331 | 2 |
800
ec85f9e6f3b1
Don't use 'set -x', fix exports, sed and hexdump usage for Solaris.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
3 set -e |
331 | 4 mkdir r1 |
5 cd r1 | |
6 hg init | |
7 echo a > a | |
8 hg addremove | |
1933
7544700fd931
Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1674
diff
changeset
|
9 hg commit -m "1" -d "1000000 0" |
331 | 10 |
485 | 11 hg clone . ../r2 |
12 cd ../r2 | |
331 | 13 hg up |
14 echo abc > a | |
949 | 15 hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
16 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | |
331 | 17 |
18 cd ../r1 | |
19 echo b > b | |
20 echo a2 > a | |
21 hg addremove | |
1933
7544700fd931
Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1674
diff
changeset
|
22 hg commit -m "2" -d "1000000 0" |
331 | 23 |
24 cd ../r2 | |
25 hg -q pull ../r1 | |
26 hg status | |
1674
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
27 hg parents |
591 | 28 hg --debug up |
1674
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
29 hg parents |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
30 hg --debug up 0 |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
31 hg parents |
1581
db10b7114de0
abort when merging two heads and repository has local changes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
981
diff
changeset
|
32 hg --debug up -m || echo failed |
1674
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
33 hg parents |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
34 hg --debug up |
331 | 35 hg parents |
36 hg -v history | |
949 | 37 hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
38 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" | |
331 | 39 |
1674
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
40 # create a second head |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
41 cd ../r1 |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
42 hg up 0 |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
43 echo b2 > b |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
44 echo a3 > a |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
45 hg addremove |
1933
7544700fd931
Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1674
diff
changeset
|
46 hg commit -m "3" -d "1000000 0" |
1674
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
47 |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
48 cd ../r2 |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
49 hg -q pull ../r1 |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
50 hg status |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
51 hg parents |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
52 hg --debug up || echo failed |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
53 hg --debug up -m || echo failed |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
54 hg --debug up -f -m |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
55 hg parents |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
56 hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ |
dee55c4a4963
abort when using 'update -m' and this is not a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1581
diff
changeset
|
57 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" |