Mercurial > hg
view tests/test-purge @ 9315:fb66a7d3f28f
dispatch: also pass level argument to __import__ for ignored modules
I wanted to check if mercurial.demandimport could speed up the loading of
PyObjC, and ran into this: the level argument for __import__, available in
Python 2.5 and later, is silently dropped when doing an 'import *'. I have no
idea what these arguments mean, but this minor change made it work.
(Oh, and because of that 'from ... import *', PyObjC still took about 2s...)
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Wed, 05 Aug 2009 17:19:37 +0200 |
parents | c1e2b7407dc3 |
children | bb5ea66789e3 |
line wrap: on
line source
#!/bin/sh cat <<EOF >> $HGRCPATH [extensions] hgext.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