Mercurial > hg
annotate tests/test-execute-bit.t @ 18091:f7f8159caad3
ancestor: add lazy membership testing to lazyancestors
This also makes the perfancestorset command use lazy membership testing. In a
linear repository with over 400,000 commits, without this patch, hg
perfancestorset takes 0.80 seconds no matter how far behind we're looking.
With this patch, hg perfancestorset -- X takes:
Rev X Time
-1 0.00s
-4000 0.01s
-20000 0.04s
-80000 0.17s
-200000 0.43s
-300000 0.69s
0 0.88s
Thus, for revisions close to tip, we're up to several orders of magnitude
faster. At 0 we're around 10% slower.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Tue, 18 Dec 2012 12:47:20 -0800 |
parents | 9231c629ec10 |
children | 44bda93df90e |
rev | line source |
---|---|
12190
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
1 $ "$TESTDIR/hghave" execbit || exit 80 |
5490
bf2bb53e5d2b
See if execute bit is honoured when we go back in time
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
2 |
12190
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
3 $ hg init |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
4 $ echo a > a |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
5 $ hg ci -Am'not executable' |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
6 adding a |
5495
363ba35f55bd
test-execute-bit: skip if execute-bit is not supported
Patrick Mezard <pmezard@gmail.com>
parents:
5490
diff
changeset
|
7 |
12190
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
8 $ chmod +x a |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
9 $ hg ci -m'executable' |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
10 $ hg id |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
11 79abf14474dc tip |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
12 |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
13 Make sure we notice the change of mode if the cached size == -1: |
5490
bf2bb53e5d2b
See if execute bit is honoured when we go back in time
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
14 |
12190
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
15 $ hg rm a |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
16 $ hg revert -r 0 a |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
17 $ hg debugstate |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
18 n 0 -1 unset a |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
19 $ hg status |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
20 M a |
5490
bf2bb53e5d2b
See if execute bit is honoured when we go back in time
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
21 |
12190
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
22 $ hg up 0 |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
23 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
24 $ hg id |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
25 d69afc33ff8a |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
26 $ test -x a && echo executable -- bad || echo not executable -- good |
9231c629ec10
tests: unify test-execute-bit
Adrian Buehlmann <adrian@cadifra.com>
parents:
6158
diff
changeset
|
27 not executable -- good |
6158
23ffe82615d8
repo.status: also compare flags for files in the lookup list.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5495
diff
changeset
|
28 |