author | Sune Foldager <cryo@cyanite.org> |
Wed, 14 Apr 2010 19:43:19 +0200 | |
changeset 10910 | 78db9b7d9f65 |
parent 10014 | 54cd28258ea7 |
permissions | -rwxr-xr-x |
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 |