Mercurial > hg
annotate tests/test-status-rev.t @ 38956:a3cabe9415e1
dirstate: use visitchildrenset in traverse
This speeds up `hg status` a fair amount when there is a very large directory
and narrow is in use.
Timing numbers according to command:
hyperfine --warmup 1 'hg status'
HGRCPATH points to a file with the following contents:
[extensions]
narrow =
mozilla-unified (called m-u below) was at revision #468856.
regular hash: eb39298e432d
treemanifests hash: 0553b7f29eaf
large-dir-repo (called l-d-r below) was generated with the following script:
#!/bin/bash
hg init large-dir-repo
mkdir -p large-dir-repo/third_party/rust/log
touch large-dir-repo/third_party/rust/log/foo.txt
for i in $(seq 1 30000); do
d=$(mktemp -d large-dir-repo/third_party/XXXXXXXXX)
touch $d/file.txt
done
hg -R large-dir-repo ci -Am 'rev0' --user test --date '0 0'
for repos that use narrow, the narrowspec was this:
[includes]
rootfilesin:third_party/rust/log
[excludes]
This narrowspec was chosen due to the size of the third_party/rust directory;
this directory was *not* modified in revision #468856 in mozilla-unified.
Importantly, when using narrow, these repos had everything checked out (in the
case of large-dir-repo, that means all 30,001 directories), *before* adding the
narrowspec. This is to simulate the behavior when using a virtual filesystem
that shows everything for the user even if they haven't added it to the
narrowspec yet. This is not a supported configuration, and `hg update` will not
really do the "correct" thing, but non-mutating commands should behave
correctly.
There are two repos below that do not follow the setup above, 'citc1' and
'citc2', which are using a virtual filesystem and can not be reproduced
upstream; these numbers are here mostly to indicate that these performance
improvements are not hypothetical, and show the benefits we're hoping to achieve
on our real workloads. 'citc1' is closest to large-dir-repo with one of our
pathological cases, 'citc2' is an arbitrary repo and closer to "average".
I'm not claiming anything less than a 5% speed win as improvements due to this
change; these are probably eiter measurement artifacts or constant time
improvements. The numbers that aren't changing are shown primarily to prove that
this doesn't make anything worse in any case I plan on testing during this
series.
'before' is hg from commit c83ad576. 'N' indicates narrow in use, 'T' indicates
treemanifest in use.
hg status:
repo | N | T | before (mean +- stdev) | after (mean +- stdev) | % of before
------+---+---+------------------------+-----------------------+------------
m-u | | | 2.284 s +- 0.022 s | 2.274 s +- 0.021 s | 99.6%
m-u | | x | 2.289 s +- 0.008 s | 2.284 s +- 0.028 s | 99.8%
m-u | x | | 430.8 ms +- 3.1 ms | 424.5 ms +- 3.2 ms | 98.5%
m-u | x | x | 429.8 ms +- 2.5 ms | 425.8 ms +- 3.7 ms | 99.1%
l-d-r | | | 681.3 ms +- 5.5 ms | 689.6 ms +- 8.0 ms | 101.2%
l-d-r | | x | 666.8 ms +- 21.8 ms | 672.5 ms +- 14.9 ms | 100.9%
l-d-r | x | | 282.6 ms +- 1.8 ms | 203.0 ms +- 1.2 ms | 71.8% <--
l-d-r | x | x | 275.2 ms +- 3.9 ms | 199.3 ms +- 3.5 ms | 72.4% <--
citc1 | x | x | 1.023 s +- 0.011 s | 398.6 ms +- 9.2 ms | 39.0% <--
citc2 | x | x | 297.9 ms +- 4.4 ms | 289.6 ms +- 4.2 ms | 97.2%
hg status --change .:
repo | N | T | before (mean +- stdev) | after (mean +- stdev) | % of before
------+---+---+------------------------+-----------------------+------------
m-u | | | 478.2 ms +- 2.0 ms | 476.9 ms +- 3.7 ms | 99.7%
m-u | | x | 169.5 ms +- 2.7 ms | 169.5 ms +- 2.5 ms | 100.0%
m-u | x | | 477.0 ms +- 2.4 ms | 476.1 ms +- 1.4 ms | 99.8%
m-u | x | x | 124.7 ms +- 1.9 ms | 124.2 ms +- 3.3 ms | 99.6%
l-d-r | | | 97.4 ms +- 1.2 ms | 96.5 ms +- 1.2 ms | 99.1%
l-d-r | | x | 4.778 s +- 0.018 s | 4.774 s +- 0.011 s | 99.9%
l-d-r | x | | 99.9 ms +- 1.1 ms | 98.8 ms +- 1.3 ms | 98.9%
l-d-r | x | x | 848.7 ms +- 7.1 ms | 849.4 ms +- 6.5 ms | 100.1%
citc1 | x | x | 4.250 s +- 0.051 s | 4.283 s +- 0.042 s | 100.8%
citc2 | x | x | 341.5 ms +- 4.7 ms | 341.5 ms +- 4.1 ms | 100.0%
hg update $rev^; hg update $rev:
repo | N | T | before (mean +- stdev) | after (mean +- stdev) | % of before
------+---+---+------------------------+-----------------------+------------
m-u | | | 4.357 s +- 0.032 s | 4.312 s +- 0.093 s | 99.0%
m-u | | x | 3.599 s +- 0.061 s | 3.592 s +- 0.071 s | 99.8%
m-u | x | | 1.815 s +- 0.012 s | 1.816 s +- 0.013 s | 100.1%
m-u | x | x | 1.110 s +- 0.009 s | 1.106 s +- 0.005 s | 99.6%
l-d-r | | | 527.1 ms +- 7.8 ms | 523.3 ms +- 6.5 ms | 99.3%
l-d-r | | x | 8.835 s +- 0.067 s | 8.825 s +- 0.064 s | 99.9%
l-d-r | x | | 313.0 ms +- 2.2 ms | 312.1 ms +- 1.2 ms | 99.7%
l-d-r | x | x | 1.780 s +- 0.011 s | 1.799 s +- 0.013 s | 101.1%
citc1 | x | x | 6.825 s +- 0.262 s | 6.707 s +- 0.353 s | 98.3%
citc2 | x | x | 776.4 ms +- 4.5 ms | 781.3 ms +- 6.3 ms | 100.6%
hg diff:
repo | N | T | before (mean +- stdev) | after (mean +- stdev) | % of before
------+---+---+------------------------+-----------------------+------------
m-u | | | 1.519 s +- 0.015 s | 1.525 s +- 0.017 s | 100.4%
m-u | | x | 1.512 s +- 0.010 s | 1.517 s +- 0.027 s | 100.3%
m-u | x | | 420.0 ms +- 3.2 ms | 417.1 ms +- 1.9 ms | 99.3%
m-u | x | x | 415.0 ms +- 3.8 ms | 415.7 ms +- 2.7 ms | 100.2%
l-d-r | | | 220.8 ms +- 4.0 ms | 220.8 ms +- 3.7 ms | 100.0%
l-d-r | | x | 216.6 ms +- 7.5 ms | 211.4 ms +- 2.1 ms | 97.6%
l-d-r | x | | 111.9 ms +- 1.8 ms | 112.0 ms +- 1.5 ms | 100.1%
l-d-r | x | x | 111.4 ms +- 1.4 ms | 110.2 ms +- 1.0 ms | 98.9%
citc1 | x | x | 268.7 ms +- 2.3 ms | 269.6 ms +- 2.8 ms | 100.3%
citc2 | x | x | 273.5 ms +- 5.5 ms | 273.9 ms +- 3.7 ms | 100.1%
hg diff -c .:
repo | N | T | before (mean +- stdev) | after (mean +- stdev) | % of before
------+---+---+--------------------------+-----------------------+----------
m-u | | | 497.1 ms +- 1.4 ms | 500.1 ms +- 2.4 ms | 100.6%
m-u | | x | 195.3 ms +- 13.2 ms | 191.6 ms +- 3.0 ms | 98.1%
m-u | x | | 476.8 ms +- 1.9 ms | 476.7 ms +- 2.3 ms | 100.0%
m-u | x | x | 122.8 ms +- 2.1 ms | 122.9 ms +- 2.0 ms | 100.1%
l-d-r | | | 99.3 ms +- 2.3 ms | 98.8 ms +- 1.7 ms | 99.5%
l-d-r | | x | 4.875 s +- 0.041 s | 4.847 s +- 0.038 s | 99.4%
l-d-r | x | | 98.5 ms +- 1.2 ms | 98.9 ms +- 1.3 ms | 100.4%
l-d-r | x | x | 864.6 ms +- 7.4 ms | 855.4 ms +- 6.6 ms | 98.9%
citc1 | x | x | 4.505 s +- 0.060 s | 4.466 s +- 0.036 s | 99.1%
citc2 | x | x | 368.0 ms +- 4.0 ms | 365.5 ms +- 6.3 ms | 99.3%
Differential Revision: https://phab.mercurial-scm.org/D4131
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Tue, 31 Jul 2018 16:47:43 -0700 |
parents | feecfefeba25 |
children | 5abc47d4ca6b |
rev | line source |
---|---|
23037
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
1 Tests of 'hg status --rev <rev>' to make sure status between <rev> and '.' get |
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
2 combined correctly with the dirstate status. |
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
3 |
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
4 $ hg init |
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
5 |
23196
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
6 First commit |
23037
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
7 |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
23731
diff
changeset
|
8 $ $PYTHON $TESTDIR/generate-working-copy-states.py state 2 1 |
23197
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
9 $ hg addremove --similarity 0 |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
10 adding content1_content1_content1-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
11 adding content1_content1_content1-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
12 adding content1_content1_content3-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
13 adding content1_content1_content3-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
14 adding content1_content1_missing-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
15 adding content1_content1_missing-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
16 adding content1_content2_content1-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
17 adding content1_content2_content1-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
18 adding content1_content2_content2-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
19 adding content1_content2_content2-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
20 adding content1_content2_content3-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
21 adding content1_content2_content3-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
22 adding content1_content2_missing-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
23 adding content1_content2_missing-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
24 adding content1_missing_content1-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
25 adding content1_missing_content1-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
26 adding content1_missing_content3-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
27 adding content1_missing_content3-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
28 adding content1_missing_missing-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
29 adding content1_missing_missing-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
30 $ hg commit -m first |
23037
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
31 |
23196
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
32 Second commit |
23037
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
33 |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
23731
diff
changeset
|
34 $ $PYTHON $TESTDIR/generate-working-copy-states.py state 2 2 |
23197
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
35 $ hg addremove --similarity 0 |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
36 removing content1_missing_content1-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
37 removing content1_missing_content1-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
38 removing content1_missing_content3-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
39 removing content1_missing_content3-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
40 removing content1_missing_missing-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
41 removing content1_missing_missing-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
42 adding missing_content2_content2-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
43 adding missing_content2_content2-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
44 adding missing_content2_content3-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
45 adding missing_content2_content3-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
46 adding missing_content2_missing-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
47 adding missing_content2_missing-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
48 $ hg commit -m second |
23037
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
49 |
23196
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
50 Working copy |
23037
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
51 |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
23731
diff
changeset
|
52 $ $PYTHON $TESTDIR/generate-working-copy-states.py state 2 wc |
23197
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
53 $ hg addremove --similarity 0 |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
54 adding content1_missing_content1-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
55 adding content1_missing_content1-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
56 adding content1_missing_content3-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
57 adding content1_missing_content3-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
58 adding content1_missing_missing-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
59 adding content1_missing_missing-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
60 adding missing_missing_content3-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
61 adding missing_missing_content3-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
62 adding missing_missing_missing-tracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
63 adding missing_missing_missing-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
64 $ hg forget *_*_*-untracked |
636158ff7329
test-status-rev: use common script for generating file history
Martin von Zweigbergk <martinvonz@google.com>
parents:
23196
diff
changeset
|
65 $ rm *_*_missing-* |
23037
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
66 |
23230
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
67 Status compared to parent of the working copy, i.e. the dirstate status |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
68 |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
69 $ hg status -A --rev 1 'glob:missing_content2_content3-tracked' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
70 M missing_content2_content3-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
71 $ hg status -A --rev 1 'glob:missing_content2_content2-tracked' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
72 C missing_content2_content2-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
73 $ hg status -A --rev 1 'glob:missing_missing_content3-tracked' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
74 A missing_missing_content3-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
75 $ hg status -A --rev 1 'glob:missing_missing_content3-untracked' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
76 ? missing_missing_content3-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
77 $ hg status -A --rev 1 'glob:missing_content2_*-untracked' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
78 R missing_content2_content2-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
79 R missing_content2_content3-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
80 R missing_content2_missing-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
81 $ hg status -A --rev 1 'glob:missing_*_missing-tracked' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
82 ! missing_content2_missing-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
83 ! missing_missing_missing-tracked |
33343
305935be8d5c
test-status-rev: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
32940
diff
changeset
|
84 |
23353
c2907334276b
tests: handle differences between missing file error strings on Windows and Unix
Matt Harbison <matt_harbison@yahoo.com>
parents:
23230
diff
changeset
|
85 $ hg status -A --rev 1 'glob:missing_missing_missing-untracked' |
35230
feecfefeba25
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents:
33343
diff
changeset
|
86 missing_missing_missing-untracked: $ENOENT$ |
23230
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
87 |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
88 Status between first and second commit. Should ignore dirstate status. |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
89 |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
90 $ hg status -A --rev 0:1 'glob:content1_content2_*' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
91 M content1_content2_content1-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
92 M content1_content2_content1-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
93 M content1_content2_content2-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
94 M content1_content2_content2-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
95 M content1_content2_content3-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
96 M content1_content2_content3-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
97 M content1_content2_missing-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
98 M content1_content2_missing-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
99 $ hg status -A --rev 0:1 'glob:content1_content1_*' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
100 C content1_content1_content1-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
101 C content1_content1_content1-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
102 C content1_content1_content3-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
103 C content1_content1_content3-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
104 C content1_content1_missing-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
105 C content1_content1_missing-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
106 $ hg status -A --rev 0:1 'glob:missing_content2_*' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
107 A missing_content2_content2-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
108 A missing_content2_content2-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
109 A missing_content2_content3-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
110 A missing_content2_content3-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
111 A missing_content2_missing-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
112 A missing_content2_missing-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
113 $ hg status -A --rev 0:1 'glob:content1_missing_*' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
114 R content1_missing_content1-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
115 R content1_missing_content1-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
116 R content1_missing_content3-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
117 R content1_missing_content3-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
118 R content1_missing_missing-tracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
119 R content1_missing_missing-untracked |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
120 $ hg status -A --rev 0:1 'glob:missing_missing_*' |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
121 |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
122 Status compared to one revision back, checking that the dirstate status |
7f4f4217c924
test-status-rev: add tests for plain dirstate and inter-revision status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23229
diff
changeset
|
123 is correctly combined with the inter-revision status |
23037
eeaed3d2b004
status: add more complete tests for --rev
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
diff
changeset
|
124 |
23229
2a462c0792fe
test-status-rev: remove unnecessary initial commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
23228
diff
changeset
|
125 $ hg status -A --rev 0 'glob:content1_*_content[23]-tracked' |
23196
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
126 M content1_content1_content3-tracked |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
127 M content1_content2_content2-tracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
128 M content1_content2_content3-tracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
129 M content1_missing_content3-tracked |
23229
2a462c0792fe
test-status-rev: remove unnecessary initial commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
23228
diff
changeset
|
130 $ hg status -A --rev 0 'glob:content1_*_content1-tracked' |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
131 C content1_content1_content1-tracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
132 C content1_content2_content1-tracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
133 C content1_missing_content1-tracked |
23229
2a462c0792fe
test-status-rev: remove unnecessary initial commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
23228
diff
changeset
|
134 $ hg status -A --rev 0 'glob:missing_*_content?-tracked' |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
135 A missing_content2_content2-tracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
136 A missing_content2_content3-tracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
137 A missing_missing_content3-tracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
138 BROKEN: missing_content2_content[23]-untracked exist, so should be listed |
23229
2a462c0792fe
test-status-rev: remove unnecessary initial commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
23228
diff
changeset
|
139 $ hg status -A --rev 0 'glob:missing_*_content?-untracked' |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
140 ? missing_missing_content3-untracked |
23229
2a462c0792fe
test-status-rev: remove unnecessary initial commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
23228
diff
changeset
|
141 $ hg status -A --rev 0 'glob:content1_*_*-untracked' |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
142 R content1_content1_content1-untracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
143 R content1_content1_content3-untracked |
23196
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
144 R content1_content1_missing-untracked |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
145 R content1_content2_content1-untracked |
23196
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
146 R content1_content2_content2-untracked |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
147 R content1_content2_content3-untracked |
23196
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
148 R content1_content2_missing-untracked |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
149 R content1_missing_content1-untracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
150 R content1_missing_content3-untracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
151 R content1_missing_missing-untracked |
23229
2a462c0792fe
test-status-rev: remove unnecessary initial commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
23228
diff
changeset
|
152 $ hg status -A --rev 0 'glob:*_*_missing-tracked' |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
153 ! content1_content1_missing-tracked |
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
154 ! content1_content2_missing-tracked |
23196
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
155 ! content1_missing_missing-tracked |
daa73289dd2a
test-status-rev: use same names as from generate-working-copy-states
Martin von Zweigbergk <martinvonz@google.com>
parents:
23037
diff
changeset
|
156 ! missing_content2_missing-tracked |
23228
5f5876a2d2b2
test-status-rev: use one glob for each expected status
Martin von Zweigbergk <martinvonz@google.com>
parents:
23227
diff
changeset
|
157 ! missing_missing_missing-tracked |
23229
2a462c0792fe
test-status-rev: remove unnecessary initial commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
23228
diff
changeset
|
158 $ hg status -A --rev 0 'glob:missing_*_missing-untracked' |