test-purge.t
358 lines
| 6.5 KiB
| text/troff
|
Tads3Lexer
/ tests / test-purge.t
Simon Sapin
|
r48882 | #testcases dirstate-v1 dirstate-v2 | ||
Simon Sapin
|
r47900 | |||
Simon Sapin
|
r48056 | #if dirstate-v2 | ||
r49049 | $ cat >> $HGRCPATH << EOF | |||
> [format] | ||||
r49523 | > use-dirstate-v2=1 | |||
r49049 | > [storage] | |||
> dirstate-v2.slow-path=allow | ||||
> EOF | ||||
Simon Sapin
|
r48056 | #endif | ||
Nicolas Dumazet
|
r12122 | init | ||
$ hg init t | ||||
$ cd t | ||||
setup | ||||
$ echo r1 > r1 | ||||
$ hg ci -qAmr1 -d'0 0' | ||||
$ mkdir directory | ||||
$ echo r2 > directory/r2 | ||||
$ hg ci -qAmr2 -d'1 0' | ||||
$ echo 'ignored' > .hgignore | ||||
$ hg ci -qAmr3 -d'2 0' | ||||
Valentin Gatien-Baron
|
r47080 | purge without the extension | ||
$ hg st | ||||
$ touch foo | ||||
$ hg purge | ||||
Raphaël Gomès
|
r49252 | permanently delete 1 unknown files? (yN) n | ||
Valentin Gatien-Baron
|
r47080 | abort: removal cancelled | ||
[250] | ||||
$ hg st | ||||
? foo | ||||
$ hg purge --no-confirm | ||||
$ hg st | ||||
now enabling the extension | ||||
$ cat <<EOF >> $HGRCPATH | ||||
> [extensions] | ||||
> purge = | ||||
> EOF | ||||
Nicolas Dumazet
|
r12122 | delete an empty directory | ||
$ mkdir empty_dir | ||||
anuraggoel
|
r20565 | $ hg purge -p -v | ||
Nicolas Dumazet
|
r12122 | empty_dir | ||
r47079 | $ hg purge --confirm | |||
permanently delete at least 1 empty directories? (yN) n | ||||
abort: removal cancelled | ||||
[250] | ||||
Nicolas Dumazet
|
r12122 | $ hg purge -v | ||
Martin Geisler
|
r16930 | removing directory empty_dir | ||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
r1 | ||||
delete an untracked directory | ||||
$ mkdir untracked_dir | ||||
$ touch untracked_dir/untracked_file1 | ||||
$ touch untracked_dir/untracked_file2 | ||||
$ hg purge -p | ||||
untracked_dir/untracked_file1 | ||||
untracked_dir/untracked_file2 | ||||
$ hg purge -v | ||||
Martin Geisler
|
r16930 | removing file untracked_dir/untracked_file1 | ||
removing file untracked_dir/untracked_file2 | ||||
removing directory untracked_dir | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
r1 | ||||
delete an untracked file | ||||
$ touch untracked_file | ||||
$ touch untracked_file_readonly | ||||
Matt Harbison
|
r39743 | $ "$PYTHON" <<EOF | ||
Matt Harbison
|
r40405 | > import os | ||
> import stat | ||||
FUJIWARA Katsunori
|
r41885 | > f = 'untracked_file_readonly' | ||
Nicolas Dumazet
|
r12122 | > os.chmod(f, stat.S_IMODE(os.stat(f).st_mode) & ~stat.S_IWRITE) | ||
> EOF | ||||
$ hg purge -p | ||||
untracked_file | ||||
untracked_file_readonly | ||||
r47078 | $ hg purge --confirm | |||
Raphaël Gomès
|
r49252 | permanently delete 2 unknown files? (yN) n | ||
r47078 | abort: removal cancelled | |||
[250] | ||||
Nicolas Dumazet
|
r12122 | $ hg purge -v | ||
Martin Geisler
|
r16930 | removing file untracked_file | ||
removing file untracked_file_readonly | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
r1 | ||||
delete an untracked file in a tracked directory | ||||
$ touch directory/untracked_file | ||||
$ hg purge -p | ||||
directory/untracked_file | ||||
$ hg purge -v | ||||
Martin Geisler
|
r16930 | removing file directory/untracked_file | ||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
r1 | ||||
delete nested directories | ||||
$ mkdir -p untracked_directory/nested_directory | ||||
$ hg purge -p | ||||
untracked_directory/nested_directory | ||||
$ hg purge -v | ||||
Martin Geisler
|
r16930 | removing directory untracked_directory/nested_directory | ||
removing directory untracked_directory | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
r1 | ||||
delete nested directories from a subdir | ||||
$ mkdir -p untracked_directory/nested_directory | ||||
$ cd directory | ||||
$ hg purge -p | ||||
untracked_directory/nested_directory | ||||
$ hg purge -v | ||||
Martin Geisler
|
r16930 | removing directory untracked_directory/nested_directory | ||
removing directory untracked_directory | ||||
Nicolas Dumazet
|
r12122 | $ cd .. | ||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
r1 | ||||
delete only part of the tree | ||||
$ mkdir -p untracked_directory/nested_directory | ||||
$ touch directory/untracked_file | ||||
$ cd directory | ||||
$ hg purge -p ../untracked_directory | ||||
untracked_directory/nested_directory | ||||
r47078 | $ hg purge --confirm | |||
Raphaël Gomès
|
r49252 | permanently delete 1 unknown files? (yN) n | ||
r47078 | abort: removal cancelled | |||
[250] | ||||
Nicolas Dumazet
|
r12122 | $ hg purge -v ../untracked_directory | ||
Martin Geisler
|
r16930 | removing directory untracked_directory/nested_directory | ||
removing directory untracked_directory | ||||
Nicolas Dumazet
|
r12122 | $ cd .. | ||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
r1 | ||||
$ ls directory/untracked_file | ||||
directory/untracked_file | ||||
$ rm directory/untracked_file | ||||
Valentin Gatien-Baron
|
r44771 | skip ignored files if -i or --all not specified | ||
Nicolas Dumazet
|
r12122 | |||
$ touch ignored | ||||
$ hg purge -p | ||||
r47078 | $ hg purge --confirm | |||
Nicolas Dumazet
|
r12122 | $ hg purge -v | ||
Valentin Gatien-Baron
|
r44771 | $ touch untracked_file | ||
Nicolas Dumazet
|
r12122 | $ ls | ||
directory | ||||
ignored | ||||
r1 | ||||
Valentin Gatien-Baron
|
r44771 | untracked_file | ||
$ hg purge -p -i | ||||
ignored | ||||
r47078 | $ hg purge --confirm -i | |||
permanently delete 1 ignored files? (yN) n | ||||
abort: removal cancelled | ||||
[250] | ||||
Valentin Gatien-Baron
|
r44771 | $ hg purge -v -i | ||
removing file ignored | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Valentin Gatien-Baron
|
r44771 | directory | ||
r1 | ||||
untracked_file | ||||
$ touch ignored | ||||
Nicolas Dumazet
|
r12122 | $ hg purge -p --all | ||
ignored | ||||
Valentin Gatien-Baron
|
r44771 | untracked_file | ||
r47078 | $ hg purge --confirm --all | |||
Raphaël Gomès
|
r49252 | permanently delete 1 unknown and 1 ignored files? (yN) n | ||
r47078 | abort: removal cancelled | |||
[250] | ||||
Nicolas Dumazet
|
r12122 | $ hg purge -v --all | ||
Martin Geisler
|
r16930 | removing file ignored | ||
Valentin Gatien-Baron
|
r44771 | removing file untracked_file | ||
Nicolas Dumazet
|
r12122 | $ ls | ||
directory | ||||
r1 | ||||
abort with missing files until we support name mangling filesystems | ||||
$ touch untracked_file | ||||
$ rm r1 | ||||
hide error messages to avoid changing the output when the text changes | ||||
$ hg purge -p 2> /dev/null | ||||
untracked_file | ||||
$ hg st | ||||
! r1 | ||||
? untracked_file | ||||
$ hg purge -p | ||||
untracked_file | ||||
$ hg purge -v 2> /dev/null | ||||
Martin Geisler
|
r16930 | removing file untracked_file | ||
Nicolas Dumazet
|
r12122 | $ hg st | ||
! r1 | ||||
$ hg purge -v | ||||
$ hg revert --all --quiet | ||||
$ hg st -a | ||||
tracked file in ignored directory (issue621) | ||||
$ echo directory >> .hgignore | ||||
$ hg ci -m 'ignore directory' | ||||
$ touch untracked_file | ||||
$ hg purge -p | ||||
untracked_file | ||||
$ hg purge -v | ||||
Martin Geisler
|
r16930 | removing file untracked_file | ||
Nicolas Dumazet
|
r12122 | |||
skip excluded files | ||||
$ touch excluded_file | ||||
$ hg purge -p -X excluded_file | ||||
$ hg purge -v -X excluded_file | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
excluded_file | ||||
r1 | ||||
$ rm excluded_file | ||||
skip files in excluded dirs | ||||
$ mkdir excluded_dir | ||||
$ touch excluded_dir/file | ||||
$ hg purge -p -X excluded_dir | ||||
$ hg purge -v -X excluded_dir | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
excluded_dir | ||||
r1 | ||||
$ ls excluded_dir | ||||
file | ||||
$ rm -R excluded_dir | ||||
skip excluded empty dirs | ||||
$ mkdir excluded_dir | ||||
$ hg purge -p -X excluded_dir | ||||
$ hg purge -v -X excluded_dir | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Nicolas Dumazet
|
r12122 | directory | ||
excluded_dir | ||||
r1 | ||||
$ rmdir excluded_dir | ||||
skip patterns | ||||
$ mkdir .svn | ||||
$ touch .svn/foo | ||||
$ mkdir directory/.svn | ||||
$ touch directory/.svn/foo | ||||
$ hg purge -p -X .svn -X '*/.svn' | ||||
$ hg purge -p -X re:.*.svn | ||||
Mads Kiilerich
|
r16913 | |||
Ben Kehoe
|
r21853 | $ rm -R .svn directory r1 | ||
only remove files | ||||
$ mkdir -p empty_dir dir | ||||
$ touch untracked_file dir/untracked_file | ||||
$ hg purge -p --files | ||||
dir/untracked_file | ||||
untracked_file | ||||
$ hg purge -v --files | ||||
removing file dir/untracked_file | ||||
removing file untracked_file | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Ben Kehoe
|
r21853 | dir | ||
empty_dir | ||||
$ ls dir | ||||
only remove dirs | ||||
$ mkdir -p empty_dir dir | ||||
$ touch untracked_file dir/untracked_file | ||||
$ hg purge -p --dirs | ||||
empty_dir | ||||
$ hg purge -v --dirs | ||||
removing directory empty_dir | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Ben Kehoe
|
r21853 | dir | ||
untracked_file | ||||
$ ls dir | ||||
untracked_file | ||||
remove both files and dirs | ||||
$ mkdir -p empty_dir dir | ||||
$ touch untracked_file dir/untracked_file | ||||
$ hg purge -p --files --dirs | ||||
dir/untracked_file | ||||
untracked_file | ||||
empty_dir | ||||
$ hg purge -v --files --dirs | ||||
removing file dir/untracked_file | ||||
removing file untracked_file | ||||
removing directory empty_dir | ||||
removing directory dir | ||||
Joerg Sonnenberger
|
r45218 | $ ls -A | ||
.hg | ||||
.hgignore | ||||
Ben Kehoe
|
r21853 | |||
r50239 | Test some --confirm case that ended crashing | |||
$ hg purge --confirm | ||||
$ hg purge --confirm --all --files | ||||
Mads Kiilerich
|
r16913 | $ cd .. | ||