tests/test-walk
author Patrick Mezard <pmezard@gmail.com>
Sun, 26 Apr 2009 11:35:53 +0200
changeset 8165 78658990c725
parent 6048 cfb4a51da7d5
permissions -rwxr-xr-x
convert/bzr: make it work with filemaps (issue1631) The bzr converter maintains a child -> parents mapping and drop entries whenever a child is read. It does not work with filemaps, getchangedfiles() may be called more than once when filtered files belong to merge revisions. getchanges() still works that way but it is not clear whether a similar issue can arise when interacting with merges.

#!/bin/sh

debugwalk()
{
    echo "hg debugwalk $@"
    hg debugwalk "$@"
    echo
}

chdir()
{
    echo "cd $@"
    cd "$@"
    echo
}

mkdir t
cd t
hg init
mkdir -p beans
for b in kidney navy turtle borlotti black pinto; do
    echo $b > beans/$b
done
mkdir -p mammals/Procyonidae
for m in cacomistle coatimundi raccoon; do
    echo $m > mammals/Procyonidae/$m
done
echo skunk > mammals/skunk
echo fennel > fennel
echo fenugreek > fenugreek
echo fiddlehead > fiddlehead
echo glob:glob > glob:glob
hg addremove
hg commit -m "commit #0" -d "1000000 0"
debugwalk
debugwalk -I.
chdir mammals
debugwalk
debugwalk -X ../beans
debugwalk -I '*k'
debugwalk -I 'glob:*k'
debugwalk -I 'relglob:*k'
debugwalk -I 'relglob:*k' .
debugwalk -I 're:.*k$'
debugwalk -I 'relre:.*k$'
debugwalk -I 'path:beans'
debugwalk -I 'relpath:../beans'
debugwalk .
debugwalk -I.
debugwalk Procyonidae
chdir Procyonidae
debugwalk .
debugwalk ..
chdir ..
debugwalk ../beans
debugwalk .
debugwalk .hg
debugwalk ../.hg
chdir ..
debugwalk -Ibeans
debugwalk -I '{*,{b,m}*/*}k'
debugwalk 'glob:mammals/../beans/b*'
debugwalk '-X*/Procyonidae' mammals
debugwalk path:mammals
debugwalk ..
debugwalk beans/../..
debugwalk .hg
debugwalk beans/../.hg
debugwalk beans/../.hg/data
debugwalk beans/.hg
# Don't know how to test absolute paths without always getting a false
# error.
#debugwalk `pwd`/beans
#debugwalk `pwd`/..
debugwalk glob:\*
debugwalk 'glob:**e'
debugwalk 're:.*[kb]$'
debugwalk path:beans/black
debugwalk path:beans//black
debugwalk relglob:Procyonidae
debugwalk 'relglob:Procyonidae/**'
debugwalk 'relglob:Procyonidae/**' fennel
debugwalk beans 'glob:beans/*'
debugwalk 'glob:mamm**'
debugwalk 'glob:mamm**' fennel
debugwalk 'glob:j*'
debugwalk NOEXIST
mkfifo fifo
debugwalk fifo
rm fenugreek
debugwalk fenugreek
hg rm fenugreek
debugwalk fenugreek
touch new
debugwalk new

mkdir ignored
touch ignored/file
echo '^ignored$' > .hgignore
debugwalk ignored
debugwalk ignored/file

chdir ..
debugwalk -R t t/mammals/skunk
mkdir t2
chdir t2
debugwalk -R ../t ../t/mammals/skunk
debugwalk --cwd ../t mammals/skunk