annotate tests/test-purge.t @ 50400:95acba2c29f6

encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings Apparently the code uses "+=" with a bytes object, which is linear-time, so the whole encoding is quadratic-time. This patch makes us use a bytearray object, instead, which has a(n amortized-)constant-time append operation. The encoding is still not particularly fast, but at least a 10MB file takes tens of seconds, not many hours to encode.
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Mon, 06 Mar 2023 11:27:57 +0000
parents 0cc5f74ff7f0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
48068
bf8837e3d7ce dirstate: Remove the flat Rust DirstateMap implementation
Simon Sapin <simon.sapin@octobus.net>
parents: 47281
diff changeset
1 #testcases dirstate-v1 dirstate-v2
47129
93eb6c8035a9 dirstate-tree: Add a dirstate-v1-tree variant of some tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46368
diff changeset
2
47281
6763913fa175 dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents: 47129
diff changeset
3 #if dirstate-v2
48235
5c567aca080d dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48223
diff changeset
4 $ cat >> $HGRCPATH << EOF
5c567aca080d dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48223
diff changeset
5 > [format]
48674
f7086f6173f8 dirstate-v2: rename the configuration to enable the format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48295
diff changeset
6 > use-dirstate-v2=1
48235
5c567aca080d dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48223
diff changeset
7 > [storage]
5c567aca080d dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48223
diff changeset
8 > dirstate-v2.slow-path=allow
5c567aca080d dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48223
diff changeset
9 > EOF
47281
6763913fa175 dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents: 47129
diff changeset
10 #endif
6763913fa175 dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents: 47129
diff changeset
11
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
12 init
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
13
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
14 $ hg init t
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
15 $ cd t
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
16
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
17 setup
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
18
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
19 $ echo r1 > r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
20 $ hg ci -qAmr1 -d'0 0'
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
21 $ mkdir directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
22 $ echo r2 > directory/r2
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
23 $ hg ci -qAmr2 -d'1 0'
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
24 $ echo 'ignored' > .hgignore
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
25 $ hg ci -qAmr3 -d'2 0'
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
26
46368
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
27 purge without the extension
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
28
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
29 $ hg st
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
30 $ touch foo
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
31 $ hg purge
48423
fff5942d445f typo: s/unkown/unknown across the codebase
Raphaël Gomès <rgomes@octobus.net>
parents: 48295
diff changeset
32 permanently delete 1 unknown files? (yN) n
46368
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
33 abort: removal cancelled
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
34 [250]
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
35 $ hg st
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
36 ? foo
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
37 $ hg purge --no-confirm
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
38 $ hg st
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
39
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
40 now enabling the extension
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
41
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
42 $ cat <<EOF >> $HGRCPATH
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
43 > [extensions]
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
44 > purge =
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
45 > EOF
bb3a5c0df06b purge: move extension into core mercurial
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46367
diff changeset
46
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
47 delete an empty directory
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
48
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
49 $ mkdir empty_dir
20565
f1c3ba167b0c purge: avoid duplicate output for --print (issue4092)
anuraggoel <anurag.dsps@gmail.com>
parents: 16930
diff changeset
50 $ hg purge -p -v
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
51 empty_dir
46367
57370e7deb7b purge: also deal with directory with --confirm
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46366
diff changeset
52 $ hg purge --confirm
57370e7deb7b purge: also deal with directory with --confirm
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46366
diff changeset
53 permanently delete at least 1 empty directories? (yN) n
57370e7deb7b purge: also deal with directory with --confirm
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46366
diff changeset
54 abort: removal cancelled
57370e7deb7b purge: also deal with directory with --confirm
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46366
diff changeset
55 [250]
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
56 $ hg purge -v
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
57 removing directory empty_dir
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
58 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
59 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
60 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
61 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
62 r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
63
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
64 delete an untracked directory
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
65
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
66 $ mkdir untracked_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
67 $ touch untracked_dir/untracked_file1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
68 $ touch untracked_dir/untracked_file2
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
69 $ hg purge -p
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
70 untracked_dir/untracked_file1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
71 untracked_dir/untracked_file2
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
72 $ hg purge -v
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
73 removing file untracked_dir/untracked_file1
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
74 removing file untracked_dir/untracked_file2
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
75 removing directory untracked_dir
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
76 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
77 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
78 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
79 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
80 r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
81
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
82 delete an untracked file
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
83
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
84 $ touch untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
85 $ touch untracked_file_readonly
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 33262
diff changeset
86 $ "$PYTHON" <<EOF
40369
ef6cab7930b3 py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 39707
diff changeset
87 > import os
ef6cab7930b3 py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 39707
diff changeset
88 > import stat
41738
c70bdd222dcd tests: bulk changes to avoid whitespace errors of check-code.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 40369
diff changeset
89 > f = 'untracked_file_readonly'
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
90 > os.chmod(f, stat.S_IMODE(os.stat(f).st_mode) & ~stat.S_IWRITE)
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
91 > EOF
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
92 $ hg purge -p
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
93 untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
94 untracked_file_readonly
46366
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
95 $ hg purge --confirm
48423
fff5942d445f typo: s/unkown/unknown across the codebase
Raphaël Gomès <rgomes@octobus.net>
parents: 48295
diff changeset
96 permanently delete 2 unknown files? (yN) n
46366
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
97 abort: removal cancelled
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
98 [250]
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
99 $ hg purge -v
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
100 removing file untracked_file
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
101 removing file untracked_file_readonly
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
102 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
103 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
104 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
105 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
106 r1
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
107
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
108 delete an untracked file in a tracked directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
109
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
110 $ touch directory/untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
111 $ hg purge -p
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
112 directory/untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
113 $ hg purge -v
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
114 removing file directory/untracked_file
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
115 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
116 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
117 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
118 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
119 r1
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
120
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
121 delete nested directories
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
123 $ mkdir -p untracked_directory/nested_directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
124 $ hg purge -p
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
125 untracked_directory/nested_directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
126 $ hg purge -v
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
127 removing directory untracked_directory/nested_directory
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
128 removing directory untracked_directory
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
129 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
130 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
131 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
132 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
133 r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
134
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
135 delete nested directories from a subdir
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
136
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
137 $ mkdir -p untracked_directory/nested_directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
138 $ cd directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
139 $ hg purge -p
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
140 untracked_directory/nested_directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
141 $ hg purge -v
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
142 removing directory untracked_directory/nested_directory
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
143 removing directory untracked_directory
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
144 $ cd ..
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
145 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
146 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
147 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
148 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
149 r1
4145
2ebdd33fe456 Add a test for the purge extension
Emanuele Aina <faina.mail@tiscali.it>
parents:
diff changeset
150
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
151 delete only part of the tree
4155
4c714ed245d6 purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4145
diff changeset
152
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
153 $ mkdir -p untracked_directory/nested_directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
154 $ touch directory/untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
155 $ cd directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
156 $ hg purge -p ../untracked_directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
157 untracked_directory/nested_directory
46366
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
158 $ hg purge --confirm
48423
fff5942d445f typo: s/unkown/unknown across the codebase
Raphaël Gomès <rgomes@octobus.net>
parents: 48295
diff changeset
159 permanently delete 1 unknown files? (yN) n
46366
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
160 abort: removal cancelled
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
161 [250]
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
162 $ hg purge -v ../untracked_directory
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
163 removing directory untracked_directory/nested_directory
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
164 removing directory untracked_directory
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
165 $ cd ..
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
166 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
167 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
168 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
169 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
170 r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
171 $ ls directory/untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
172 directory/untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
173 $ rm directory/untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
174
44289
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
175 skip ignored files if -i or --all not specified
4155
4c714ed245d6 purge.py: fix invocation of statwalk
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4145
diff changeset
176
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
177 $ touch ignored
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
178 $ hg purge -p
46366
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
179 $ hg purge --confirm
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
180 $ hg purge -v
44289
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
181 $ touch untracked_file
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
182 $ ls
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
183 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
184 ignored
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
185 r1
44289
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
186 untracked_file
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
187 $ hg purge -p -i
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
188 ignored
46366
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
189 $ hg purge --confirm -i
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
190 permanently delete 1 ignored files? (yN) n
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
191 abort: removal cancelled
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
192 [250]
44289
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
193 $ hg purge -v -i
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
194 removing file ignored
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
195 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
196 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
197 .hgignore
44289
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
198 directory
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
199 r1
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
200 untracked_file
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
201 $ touch ignored
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
202 $ hg purge -p --all
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
203 ignored
44289
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
204 untracked_file
46366
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
205 $ hg purge --confirm --all
48423
fff5942d445f typo: s/unkown/unknown across the codebase
Raphaël Gomès <rgomes@octobus.net>
parents: 48295
diff changeset
206 permanently delete 1 unknown and 1 ignored files? (yN) n
46366
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
207 abort: removal cancelled
135056e8b5a8 purge: add a --confirm option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44724
diff changeset
208 [250]
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
209 $ hg purge -v --all
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
210 removing file ignored
44289
9f8eddd2723f purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 41738
diff changeset
211 removing file untracked_file
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
212 $ ls
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
213 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
214 r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
215
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
216 abort with missing files until we support name mangling filesystems
4310
c8919eb0f315 purge: abort with missing files avoiding problems with name-mangling fs
Emanuele Aina <em@nerd.ocracy.org>
parents: 4155
diff changeset
217
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
218 $ touch untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
219 $ rm r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
220
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
221 hide error messages to avoid changing the output when the text changes
6757
55c71226eceb purge: cleanup
Matt Mackall <mpm@selenic.com>
parents: 5517
diff changeset
222
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
223 $ hg purge -p 2> /dev/null
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
224 untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
225 $ hg st
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
226 ! r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
227 ? untracked_file
6757
55c71226eceb purge: cleanup
Matt Mackall <mpm@selenic.com>
parents: 5517
diff changeset
228
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
229 $ hg purge -p
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
230 untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
231 $ hg purge -v 2> /dev/null
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
232 removing file untracked_file
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
233 $ hg st
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
234 ! r1
4463
a73cf208b2a0 purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents: 4311
diff changeset
235
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
236 $ hg purge -v
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
237 $ hg revert --all --quiet
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
238 $ hg st -a
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
239
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
240 tracked file in ignored directory (issue621)
5517
98d5f9b95699 purge: simplify safety net for case mangling filesystems
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4691
diff changeset
241
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
242 $ echo directory >> .hgignore
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
243 $ hg ci -m 'ignore directory'
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
244 $ touch untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
245 $ hg purge -p
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
246 untracked_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
247 $ hg purge -v
16930
9efe4a95c099 purge: lowercase messages
Martin Geisler <mg@aragost.com>
parents: 16913
diff changeset
248 removing file untracked_file
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
249
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
250 skip excluded files
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
251
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
252 $ touch excluded_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
253 $ hg purge -p -X excluded_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
254 $ hg purge -v -X excluded_file
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
255 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
256 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
257 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
258 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
259 excluded_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
260 r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
261 $ rm excluded_file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
262
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
263 skip files in excluded dirs
4463
a73cf208b2a0 purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents: 4311
diff changeset
264
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
265 $ mkdir excluded_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
266 $ touch excluded_dir/file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
267 $ hg purge -p -X excluded_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
268 $ hg purge -v -X excluded_dir
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
269 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
270 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
271 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
272 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
273 excluded_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
274 r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
275 $ ls excluded_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
276 file
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
277 $ rm -R excluded_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
278
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
279 skip excluded empty dirs
4463
a73cf208b2a0 purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents: 4311
diff changeset
280
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
281 $ mkdir excluded_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
282 $ hg purge -p -X excluded_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
283 $ hg purge -v -X excluded_dir
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
284 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
285 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
286 .hgignore
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
287 directory
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
288 excluded_dir
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
289 r1
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
290 $ rmdir excluded_dir
4463
a73cf208b2a0 purge: add --include and --exclude options
Emanuele Aina <em@nerd.ocracy.org>
parents: 4311
diff changeset
291
12122
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
292 skip patterns
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
293
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
294 $ mkdir .svn
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
295 $ touch .svn/foo
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
296 $ mkdir directory/.svn
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
297 $ touch directory/.svn/foo
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
298 $ hg purge -p -X .svn -X '*/.svn'
9bab9ee901e8 tests: unify test-purge
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10119
diff changeset
299 $ hg purge -p -X re:.*.svn
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12122
diff changeset
300
21853
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
301 $ rm -R .svn directory r1
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
302
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
303 only remove files
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
304
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
305 $ mkdir -p empty_dir dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
306 $ touch untracked_file dir/untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
307 $ hg purge -p --files
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
308 dir/untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
309 untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
310 $ hg purge -v --files
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
311 removing file dir/untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
312 removing file untracked_file
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
313 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
314 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
315 .hgignore
21853
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
316 dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
317 empty_dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
318 $ ls dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
319
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
320 only remove dirs
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
321
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
322 $ mkdir -p empty_dir dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
323 $ touch untracked_file dir/untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
324 $ hg purge -p --dirs
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
325 empty_dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
326 $ hg purge -v --dirs
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
327 removing directory empty_dir
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
328 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
329 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
330 .hgignore
21853
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
331 dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
332 untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
333 $ ls dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
334 untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
335
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
336 remove both files and dirs
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
337
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
338 $ mkdir -p empty_dir dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
339 $ touch untracked_file dir/untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
340 $ hg purge -p --files --dirs
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
341 dir/untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
342 untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
343 empty_dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
344 $ hg purge -v --files --dirs
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
345 removing file dir/untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
346 removing file untracked_file
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
347 removing directory empty_dir
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
348 removing directory dir
44724
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
349 $ ls -A
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
350 .hg
5c2a4f37eace tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de>
parents: 44289
diff changeset
351 .hgignore
21853
8127b9e798b1 purge: add options for deleting only files or only directories
Ben Kehoe <benk@berkeley.edu>
parents: 20565
diff changeset
352
49352
0cc5f74ff7f0 purge: prevent a silly crash with --confirm --files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48681
diff changeset
353 Test some --confirm case that ended crashing
0cc5f74ff7f0 purge: prevent a silly crash with --confirm --files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48681
diff changeset
354
0cc5f74ff7f0 purge: prevent a silly crash with --confirm --files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48681
diff changeset
355 $ hg purge --confirm
0cc5f74ff7f0 purge: prevent a silly crash with --confirm --files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48681
diff changeset
356 $ hg purge --confirm --all --files
0cc5f74ff7f0 purge: prevent a silly crash with --confirm --files
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48681
diff changeset
357
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12122
diff changeset
358 $ cd ..