tests/test-remove
author Martin Geisler <mg@lazybytes.net>
Sat, 29 Aug 2009 00:29:16 +0200
changeset 9410 1c83938b6a8e
parent 6358 7cb9af02e250
child 9572 1f665246dab3
permissions -rwxr-xr-x
extensions: load and configure extensions in well-defined phases Extensions are now loaded with a call-graph like this: dispatch._dispatch extensions.loadall extensions.load # add foo module to extensions._extensions extensions.load # add bar module to extensions._extensions foo.uisetup(ui) bar.uisetup(ui) foo.extsetup() bar.extsetup() commands.table.update(foo.cmdtable) commands.table.update(bar.cmdtable) hg.repository foo.reposetup(ui, repo) bar.reposetup(ui, repo) The uisetup calls could easily be moved out to dispatch._dispatch, but have been kept in extensions.loadall since at least TortoiseHg calls extensions.loadall and expects it to call uisetup. The extensions.load function called uisetup. It now has an unused ui argument which has been kept for backwards compatibility.

#!/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