Mercurial > hg
view tests/test-purge @ 11532:f3732ab1149f
setup.py: Adjustments to make setup.py run in py3k.
In py3k, subprocess.Popen.communicate's output are bytes objects. String
literals are Unicode objects. Thus, when a bytes object startswith method is
called, with string literals, it fails. What this patch does is:
* Convert the string (unicode in py3k) literals to bytes objects;
* As "bytes" is not a builtin in python < 2.6, it defines a "b" helper
function that merely returns its argument, as suggested by Antoine Pitrou.
author | Renato Cunha <renatoc@gmail.com> |
---|---|
date | Fri, 02 Jul 2010 16:21:34 -0300 |
parents | bb5ea66789e3 |
children |
line wrap: on
line source
#!/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