Mercurial > hg
annotate tests/test-status @ 10111:27457d31ae3f
cmdutil: replace sys.maxint with None as default value in loglimit
Semantically, it is better to use None over any other value when there is
"no value". Using maxint in this context is quite hackish, and is not forward
compatible.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 14 Dec 2009 00:32:29 +0900 |
parents | 54cd28258ea7 |
children |
rev | line source |
---|---|
1624
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
1 #!/bin/sh |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
3 hg init repo1 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
4 cd repo1 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
5 mkdir a b a/1 b/1 b/2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
6 touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
7 echo "hg status in repo root:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
8 hg status |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
9 echo "hg status . in repo root:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
10 hg status . |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
11 for dir in a b a/1 b/1 b/2; do |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
12 echo "hg status in $dir:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
13 hg status --cwd "$dir" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
14 echo "hg status . in $dir:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
15 hg status --cwd "$dir" . |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
16 echo "hg status .. in $dir:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
17 hg status --cwd "$dir" .. |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
18 done |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
19 cd .. |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
20 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
21 hg init repo2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
22 cd repo2 |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
23 touch modified removed deleted ignored |
6033
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
24 echo "^ignored$" > .hgignore |
1933
7544700fd931
Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1624
diff
changeset
|
25 hg ci -A -m 'initial checkin' -d "1000000 0" |
1624
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
26 touch modified added unknown ignored |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
27 hg add added |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
28 hg remove removed |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
29 rm deleted |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
30 echo "hg status:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
31 hg status |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
32 echo "hg status modified added removed deleted unknown never-existed ignored:" |
d9e576e55d81
Added test for relative paths and all status flags for 'hg status'
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
33 hg status modified added removed deleted unknown never-existed ignored |
2639
001703ec311d
Add an option '-C|--copies' to hg status to show the source of copied files.
Brendan Cully <brendan@kublai.com>
parents:
1933
diff
changeset
|
34 hg copy modified copied |
001703ec311d
Add an option '-C|--copies' to hg status to show the source of copied files.
Brendan Cully <brendan@kublai.com>
parents:
1933
diff
changeset
|
35 echo "hg status -C:" |
001703ec311d
Add an option '-C|--copies' to hg status to show the source of copied files.
Brendan Cully <brendan@kublai.com>
parents:
1933
diff
changeset
|
36 hg status -C |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
37 echo "hg status -A:" |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
38 hg status -A |
6033
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
39 echo "^ignoreddir$" > .hgignore |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
40 mkdir ignoreddir |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
41 touch ignoreddir/file |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
42 echo "hg status ignoreddir/file:" |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
43 hg status ignoreddir/file |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
44 echo "hg status -i ignoreddir/file:" |
a1ebd5cd7e55
dirstate.status: avoid putting ignored files in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3834
diff
changeset
|
45 hg status -i ignoreddir/file |
6200
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
46 cd .. |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
47 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
48 # check 'status -q' and some combinations |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
49 hg init repo3 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
50 cd repo3 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
51 touch modified removed deleted ignored |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
52 echo "^ignored$" > .hgignore |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
53 hg commit -A -m 'initial checkin' |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
54 touch added unknown ignored |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
55 hg add added |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
56 echo "test" >> modified |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
57 hg remove removed |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
58 rm deleted |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
59 hg copy modified copied |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
60 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
61 # Run status with 2 different flags. |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
62 # Check if result is the same or different. |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
63 # If result is not as expected, raise error |
6202
0ab0da2215d7
test-status: Make assert function definition sh compatible.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6201
diff
changeset
|
64 assert() { |
6200
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
65 hg status $1 > ../a |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
66 hg status $2 > ../b |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
67 out=`diff ../a ../b` |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
68 if [ $? -ne 0 ]; then |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
69 out=1 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
70 else |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
71 out=0 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
72 fi |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
73 if [ $3 -eq 0 ]; then |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
74 df="same" |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
75 else |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
76 df="different" |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
77 fi |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
78 if [ $out -ne $3 ]; then |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
79 echo "Error on $1 and $2, should be $df." |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
80 fi |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
81 } |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
82 |
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
83 # assert flag1 flag2 [0-same | 1-different] |
6201
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
84 assert "-q" "-mard" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
85 assert "-A" "-marduicC" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
86 assert "-qA" "-mardcC" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
87 assert "-qAui" "-A" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
88 assert "-qAu" "-marducC" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
89 assert "-qAi" "-mardicC" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
90 assert "-qu" "-u" 0 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
91 assert "-q" "-u" 1 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
92 assert "-m" "-a" 1 |
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
93 assert "-r" "-d" 1 |
10014
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
94 cd .. |
6200
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6033
diff
changeset
|
95 |
10014
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
96 hg init repo4 |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
97 cd repo4 |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
98 touch modified removed deleted |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
99 hg ci -q -A -m 'initial checkin' -d "1000000 0" |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
100 touch added unknown |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
101 hg add added |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
102 hg remove removed |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
103 rm deleted |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
104 echo x > modified |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
105 hg copy modified copied |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
106 hg ci -m 'test checkin' -d "1000001 0" |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
107 rm * |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
108 touch unrelated |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
109 hg ci -q -A -m 'unrelated checkin' -d "1000002 0" |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
110 echo "hg status --change 1:" |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
111 hg status --change 1 |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
112 echo "hg status --change 1 unrelated:" |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
113 hg status --change 1 unrelated |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
114 echo "hg status -C --change 1 added modified copied removed deleted:" |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
115 hg status -C --change 1 added modified copied removed deleted |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
116 echo "hg status -A --change 1" |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
6328
diff
changeset
|
117 hg status -A --change 1 |