view tests/test-remove @ 11059:ef4aa90b1e58

Move 'findrenames' code into its own file. The next few patches will increase the size of the "findrenames" functionality. This patch simply moves the function into its own file to avoid clutter building up in 'cmdutil.py'.
author David Greenaway <hg-dev@davidgreenaway.com>
date Sat, 03 Apr 2010 11:58:16 +1100
parents 1f665246dab3
children 07ac2a560fce
line wrap: on
line source

#!/bin/sh

remove() {
    hg rm $@
    hg st
    # do not use ls -R, which recurses in .hg subdirs on Mac OS X 10.5
    find . -name .hg -prune -o -type f -print | sort
    hg up -C
}

hg init a
cd a
echo a > foo

echo % file not managed
remove foo

hg add foo
hg commit -m1

# the table cases

echo % 00 state added, options none
echo b > bar
hg add bar
remove bar

echo % 01 state clean, options none
remove foo

echo % 02 state modified, options none
echo b >> foo
remove foo

echo % 03 state missing, options none
rm foo
remove foo

echo % 10 state added, options -f
echo b > bar
hg add bar
remove -f bar
rm bar

echo % 11 state clean, options -f
remove -f foo

echo % 12 state modified, options -f
echo b >> foo
remove -f foo

echo % 13 state missing, options -f
rm foo
remove -f foo

echo % 20 state added, options -A
echo b > bar
hg add bar
remove -A bar

echo % 21 state clean, options -A
remove -A foo

echo % 22 state modified, options -A
echo b >> foo
remove -A foo

echo % 23 state missing, options -A
rm foo
remove -A foo

echo % 30 state added, options -Af
echo b > bar
hg add bar
remove -Af bar
rm bar

echo % 31 state clean, options -Af
remove -Af foo

echo % 32 state modified, options -Af
echo b >> foo
remove -Af foo

echo % 33 state missing, options -Af
rm foo
remove -Af foo

# test some directory stuff

mkdir test
echo a > test/foo
echo b > test/bar
hg ci -Am2

echo % dir, options none
rm test/bar
remove test

echo % dir, options -f
rm test/bar
remove -f test

echo % dir, options -A
rm test/bar
remove -A test

echo % dir, options -Af
rm test/bar
remove -Af test

echo 'test remove dropping empty trees (issue1861)'
mkdir -p issue1861/b/c
echo x > issue1861/x
echo y > issue1861/b/c/y
hg ci -Am add
hg rm issue1861/b
hg ci -m remove
ls issue1861