Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-purge @ 4370:4ddc6d374265
localrepository.status: only acquire wlock if actually needed.
This speeds up the common case of not needing to update the dirstate,
and avoids the need to reload and parse the dirstate "just in case".
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Tue, 24 Apr 2007 11:05:39 -0700 |
parents | 1043e4b27ab9 |
children | a73cf208b2a0 |
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 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 % delete ignored files touch ignored hg purge -p hg purge -v 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 if [ $? -ne 0 ]; then echo "refused to run" fi if [ -f untracked_file ]; then echo "untracked_file still around" fi hg purge -p --force hg purge -v 2> /dev/null if [ $? -ne 0 ]; then echo "refused to run" fi if [ -f untracked_file ]; then echo "untracked_file still around" fi hg purge -v --force hg revert --all --quiet ls