author | Matt Mackall <mpm@selenic.com> |
Mon, 18 Jun 2007 13:24:34 -0500 | |
changeset 4614 | a8be3c875988 |
parent 4463 | a73cf208b2a0 |
child 4691 | ca4971347e0a |
permissions | -rwxr-xr-x |
4145
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
1 |
#!/bin/sh |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
2 |
|
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
3 |
cat <<EOF >> $HGRCPATH |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
4 |
[extensions] |
4311
1043e4b27ab9
Move back the purge extension in hgext
Emanuele Aina <em@nerd.ocracy.org>
parents:
4310
diff
changeset
|
5 |
hgext.purge= |
4145
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
6 |
EOF |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
7 |
|
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
8 |
echo % init |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
9 |
hg init t |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
10 |
cd t |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
11 |
|
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
12 |
echo % setup |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
13 |
echo r1 > r1 |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
14 |
hg ci -qAmr1 -d'0 0' |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
15 |
mkdir directory |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
16 |
echo r2 > directory/r2 |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
17 |
hg ci -qAmr2 -d'1 0' |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
18 |
echo 'ignored' > .hgignore |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
19 |
hg ci -qAmr3 -d'2 0' |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
20 |
|
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
21 |
echo % delete an empty directory |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
22 |
mkdir empty_dir |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
23 |
hg purge -p |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
24 |
hg purge -v |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
25 |
ls |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
26 |
|
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
27 |
echo % delete an untracked directory |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
28 |
mkdir untracked_dir |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
29 |
touch untracked_dir/untracked_file1 |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
30 |
touch untracked_dir/untracked_file2 |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
31 |
hg purge -p |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
32 |
hg purge -v |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
33 |
ls |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
34 |
|
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
35 |
echo % delete an untracked file |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
36 |
touch untracked_file |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
37 |
hg purge -p |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
38 |
hg purge -v |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
39 |
ls |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
40 |
|
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
41 |
echo % delete an untracked file in a tracked directory |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
42 |
touch directory/untracked_file |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
43 |
hg purge -p |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
44 |
hg purge -v |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
45 |
ls |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
46 |
|
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
47 |
echo % delete nested directories |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
48 |
mkdir -p untracked_directory/nested_directory |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
49 |
hg purge -p |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
50 |
hg purge -v |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
51 |
ls |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
52 |
|
4155
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
53 |
echo % delete nested directories from a subdir |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
54 |
mkdir -p untracked_directory/nested_directory |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
55 |
cd directory |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
56 |
hg purge -p |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
57 |
hg purge -v |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
58 |
cd .. |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
59 |
ls |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
60 |
|
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
61 |
echo % delete only part of the tree |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
62 |
mkdir -p untracked_directory/nested_directory |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
63 |
touch directory/untracked_file |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
64 |
cd directory |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
65 |
hg purge -p ../untracked_directory |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
66 |
hg purge -v ../untracked_directory |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
67 |
cd .. |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
68 |
ls |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
69 |
ls directory/untracked_file |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
70 |
rm directory/untracked_file |
4c714ed245d6
purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4145
diff
changeset
|
71 |
|
4145
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
72 |
echo % delete ignored files |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
73 |
touch ignored |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
74 |
hg purge -p |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
75 |
hg purge -v |
2ebdd33fe456
Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff
changeset
|
76 |
ls |
4310
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
77 |
|
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
78 |
echo % abort with missing files until we support name mangling filesystems |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
79 |
touch untracked_file |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
80 |
rm r1 |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
81 |
# hide error messages to avoid changing the output when the text changes |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
82 |
hg purge -p 2> /dev/null |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
83 |
if [ $? -ne 0 ]; then |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
84 |
echo "refused to run" |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
85 |
fi |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
86 |
if [ -f untracked_file ]; then |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
87 |
echo "untracked_file still around" |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
88 |
fi |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
89 |
hg purge -p --force |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
90 |
hg purge -v 2> /dev/null |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
91 |
if [ $? -ne 0 ]; then |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
92 |
echo "refused to run" |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
93 |
fi |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
94 |
if [ -f untracked_file ]; then |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
95 |
echo "untracked_file still around" |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
96 |
fi |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
97 |
hg purge -v --force |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
98 |
hg revert --all --quiet |
c8919eb0f315
purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents:
4155
diff
changeset
|
99 |
ls |
4463
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
100 |
|
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
101 |
echo % skip excluded files |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
102 |
touch excluded_file |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
103 |
hg purge -p -X excluded_file |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
104 |
hg purge -v -X excluded_file |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
105 |
ls |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
106 |
rm excluded_file |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
107 |
|
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
108 |
echo % skip files in excluded dirs |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
109 |
mkdir excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
110 |
touch excluded_dir/file |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
111 |
hg purge -p -X excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
112 |
hg purge -v -X excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
113 |
ls |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
114 |
ls excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
115 |
rm -R excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
116 |
|
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
117 |
echo % skip excluded empty dirs |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
118 |
mkdir excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
119 |
hg purge -p -X excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
120 |
hg purge -v -X excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
121 |
ls |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
122 |
rmdir excluded_dir |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
123 |
|
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
124 |
echo % skip patterns |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
125 |
mkdir .svn |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
126 |
touch .svn/foo |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
127 |
mkdir directory/.svn |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
128 |
touch directory/.svn/foo |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
129 |
hg purge -p -X .svn -X '*/.svn' |
a73cf208b2a0
purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents:
4311
diff
changeset
|
130 |
hg purge -p -X re:.*.svn |