--- a/tests/test-purge Mon Aug 30 18:47:02 2010 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-#!/bin/sh
-
-cat <<EOF >> $HGRCPATH
-[extensions]
-purge =
-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
-touch untracked_file_readonly
-python <<EOF
-import os, stat
-f= 'untracked_file_readonly'
-os.chmod(f, stat.S_IMODE(os.stat(f).st_mode) & ~stat.S_IWRITE)
-EOF
-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
-
-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
-
-echo % skip ignored files if --all not specified
-touch ignored
-hg purge -p
-hg purge -v
-ls
-hg purge -p --all
-hg purge -v --all
-ls
-
-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
-hg st
-
-hg purge -p
-hg purge -v 2> /dev/null
-hg st
-
-hg purge -v
-hg revert --all --quiet
-hg st -a
-
-echo '% tracked file in ignored directory (issue621)'
-echo directory >> .hgignore
-hg ci -m 'ignore directory'
-touch untracked_file
-hg purge -p
-hg purge -v
-
-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
--- a/tests/test-purge.out Mon Aug 30 18:47:02 2010 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-% init
-% setup
-% delete an empty directory
-empty_dir
-Removing directory empty_dir
-directory
-r1
-% delete an untracked directory
-untracked_dir/untracked_file1
-untracked_dir/untracked_file2
-Removing file untracked_dir/untracked_file1
-Removing file untracked_dir/untracked_file2
-Removing directory untracked_dir
-directory
-r1
-% delete an untracked file
-untracked_file
-untracked_file_readonly
-Removing file untracked_file
-Removing file untracked_file_readonly
-directory
-r1
-% delete an untracked file in a tracked directory
-directory/untracked_file
-Removing file directory/untracked_file
-directory
-r1
-% delete nested directories
-untracked_directory/nested_directory
-Removing directory untracked_directory/nested_directory
-Removing directory untracked_directory
-directory
-r1
-% delete nested directories from a subdir
-untracked_directory/nested_directory
-Removing directory untracked_directory/nested_directory
-Removing directory untracked_directory
-directory
-r1
-% delete only part of the tree
-untracked_directory/nested_directory
-Removing directory untracked_directory/nested_directory
-Removing directory untracked_directory
-directory
-r1
-directory/untracked_file
-% skip ignored files if --all not specified
-directory
-ignored
-r1
-ignored
-Removing file ignored
-directory
-r1
-% abort with missing files until we support name mangling filesystems
-untracked_file
-! r1
-? untracked_file
-untracked_file
-Removing file untracked_file
-! r1
-% tracked file in ignored directory (issue621)
-untracked_file
-Removing file untracked_file
-% skip excluded files
-directory
-excluded_file
-r1
-% skip files in excluded dirs
-directory
-excluded_dir
-r1
-file
-% skip excluded empty dirs
-directory
-excluded_dir
-r1
-% skip patterns
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-purge.t Mon Aug 30 18:50:44 2010 +0900
@@ -0,0 +1,216 @@
+ $ cat <<EOF >> $HGRCPATH
+ > [extensions]
+ > purge =
+ > EOF
+
+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'
+
+delete an empty directory
+
+ $ mkdir empty_dir
+ $ hg purge -p
+ empty_dir
+ $ hg purge -v
+ Removing directory empty_dir
+ $ ls
+ 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
+ Removing file untracked_dir/untracked_file1
+ Removing file untracked_dir/untracked_file2
+ Removing directory untracked_dir
+ $ ls
+ directory
+ r1
+
+delete an untracked file
+
+ $ touch untracked_file
+ $ touch untracked_file_readonly
+ $ python <<EOF
+ > import os, stat
+ > f= 'untracked_file_readonly'
+ > os.chmod(f, stat.S_IMODE(os.stat(f).st_mode) & ~stat.S_IWRITE)
+ > EOF
+ $ hg purge -p
+ untracked_file
+ untracked_file_readonly
+ $ hg purge -v
+ Removing file untracked_file
+ Removing file untracked_file_readonly
+ $ ls
+ directory
+ r1
+
+delete an untracked file in a tracked directory
+
+ $ touch directory/untracked_file
+ $ hg purge -p
+ directory/untracked_file
+ $ hg purge -v
+ Removing file directory/untracked_file
+ $ ls
+ directory
+ r1
+
+delete nested directories
+
+ $ mkdir -p untracked_directory/nested_directory
+ $ hg purge -p
+ untracked_directory/nested_directory
+ $ hg purge -v
+ Removing directory untracked_directory/nested_directory
+ Removing directory untracked_directory
+ $ ls
+ 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
+ Removing directory untracked_directory/nested_directory
+ Removing directory untracked_directory
+ $ cd ..
+ $ ls
+ 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
+ $ hg purge -v ../untracked_directory
+ Removing directory untracked_directory/nested_directory
+ Removing directory untracked_directory
+ $ cd ..
+ $ ls
+ directory
+ r1
+ $ ls directory/untracked_file
+ directory/untracked_file
+ $ rm directory/untracked_file
+
+skip ignored files if --all not specified
+
+ $ touch ignored
+ $ hg purge -p
+ $ hg purge -v
+ $ ls
+ directory
+ ignored
+ r1
+ $ hg purge -p --all
+ ignored
+ $ hg purge -v --all
+ Removing file ignored
+ $ 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
+ Removing file untracked_file
+ $ 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
+ Removing file untracked_file
+
+skip excluded files
+
+ $ touch excluded_file
+ $ hg purge -p -X excluded_file
+ $ hg purge -v -X excluded_file
+ $ ls
+ 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
+ $ ls
+ 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
+ $ ls
+ 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