Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-pull-pull-corruption2 @ 2577:fa76c5d609c9
bdiff: improve worst case behavior by 100x.
on 5.8MB (244.000 lines) text file with similar lines, hash before
this change made diff against empty file take 75 seconds. this change
improves performance to 0.6 seconds. result is that clone of smallish
repo (137MB) with some files like this takes 1 minute instead of 10
minutes.
common case of diff is 10% slower now, probably because of worse cache
locality. but diff does not affect overall performance in common case
(less than 1% of runtime is in diff when it is working ok), so this
tradeoff looks good.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 07 Jul 2006 15:02:55 -0700 |
parents | d181845bdc51 |
children |
rev | line source |
---|---|
2000
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
2 # |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
3 # Corrupt an hg repo with two pulls. |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
4 # |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
5 |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
6 # create one repo with a long history |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
7 hg init source1 |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
8 cd source1 |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
9 touch foo |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
10 hg add foo |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
11 for i in 1 2 3 4 5 6 7 8 9 10; do |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
12 echo $i >> foo |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
13 hg ci -m $i |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
14 done |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
15 cd .. |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
16 |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
17 # create a third repo to pull both other repos into it |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
18 hg init version2 |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
19 hg -R version2 pull source1 & |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
20 sleep 1 |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
21 |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
22 hg clone --pull -U version2 corrupted |
2530
d181845bdc51
Wait for first pull to be completed before doing verify.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2000
diff
changeset
|
23 wait |
2000
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
24 hg -R corrupted verify |
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
25 hg -R version2 verify |