##// END OF EJS Templates
Merge with crew-stable
Merge with crew-stable

File last commit:

r8044:c1e2b740 default
r8166:56719b1a merge default
Show More
test-purge
138 lines | 2.4 KiB | text/plain | TextLexer
Emanuele Aina
Add a test for the purge extension
r4145 #!/bin/sh
cat <<EOF >> $HGRCPATH
[extensions]
Emanuele Aina
Move back the purge extension in hgext
r4311 hgext.purge=
Emanuele Aina
Add a test for the purge extension
r4145 EOF
echo % init
hg init t
cd t
echo % 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'
echo % delete an empty directory
mkdir empty_dir
hg purge -p
hg purge -v
ls
echo % delete an untracked directory
mkdir untracked_dir
touch untracked_dir/untracked_file1
touch untracked_dir/untracked_file2
hg purge -p
hg purge -v
ls
echo % delete an untracked file
touch untracked_file
Patrick Mezard
purge: remove read-only files under Windows (issue583)...
r8043 touch untracked_file_readonly
python <<EOF
import os, stat
f= 'untracked_file_readonly'
Patrick Mezard
purge: fix b777dd8f7836 (remove read-only files)...
r8044 os.chmod(f, stat.S_IMODE(os.stat(f).st_mode) & ~stat.S_IWRITE)
Patrick Mezard
purge: remove read-only files under Windows (issue583)...
r8043 EOF
Emanuele Aina
Add a test for the purge extension
r4145 hg purge -p
hg purge -v
ls
echo % delete an untracked file in a tracked directory
touch directory/untracked_file
hg purge -p
hg purge -v
ls
echo % delete nested directories
mkdir -p untracked_directory/nested_directory
hg purge -p
hg purge -v
ls
Alexis S. L. Carvalho
purge.py: fix invocation of statwalk
r4155 echo % delete nested directories from a subdir
mkdir -p untracked_directory/nested_directory
cd directory
hg purge -p
hg purge -v
cd ..
ls
echo % delete only part of the tree
mkdir -p untracked_directory/nested_directory
touch directory/untracked_file
cd directory
hg purge -p ../untracked_directory
hg purge -v ../untracked_directory
cd ..
ls
ls directory/untracked_file
rm directory/untracked_file
Emanuele Aina
purge: don't delete ignored files if --all is not specified
r4691 echo % skip ignored files if --all not specified
Emanuele Aina
Add a test for the purge extension
r4145 touch ignored
hg purge -p
hg purge -v
ls
Emanuele Aina
purge: don't delete ignored files if --all is not specified
r4691 hg purge -p --all
hg purge -v --all
ls
Emanuele Aina
purge: abort with missing files avoiding problems with name-mangling fs...
r4310
echo % 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
Matt Mackall
purge: cleanup...
r6757 hg st
hg purge -p
Emanuele Aina
purge: abort with missing files avoiding problems with name-mangling fs...
r4310 hg purge -v 2> /dev/null
Matt Mackall
purge: cleanup...
r6757 hg st
hg purge -v
Emanuele Aina
purge: abort with missing files avoiding problems with name-mangling fs...
r4310 hg revert --all --quiet
Matt Mackall
purge: cleanup...
r6757 hg st -a
Emanuele Aina
purge: add --include and --exclude options
r4463
Alexis S. L. Carvalho
purge: simplify safety net for case mangling filesystems...
r5517 echo '% tracked file in ignored directory (issue621)'
echo directory >> .hgignore
hg ci -m 'ignore directory'
touch untracked_file
hg purge -p
hg purge -v
Emanuele Aina
purge: add --include and --exclude options
r4463 echo % skip excluded files
touch excluded_file
hg purge -p -X excluded_file
hg purge -v -X excluded_file
ls
rm excluded_file
echo % skip files in excluded dirs
mkdir excluded_dir
touch excluded_dir/file
hg purge -p -X excluded_dir
hg purge -v -X excluded_dir
ls
ls excluded_dir
rm -R excluded_dir
echo % skip excluded empty dirs
mkdir excluded_dir
hg purge -p -X excluded_dir
hg purge -v -X excluded_dir
ls
rmdir excluded_dir
echo % 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