view tests/test-status @ 6032:b41f0d6a74fc

dirstate: don't walk ignored directories With a pattern like '^directory$' in .hgignore, a "hg status directory" would still walk "directory" and all its subdirs. This is the first half of a fix for issue886.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 08 Feb 2008 18:07:55 -0200
parents a7b61c3b0f93
children a1ebd5cd7e55
line wrap: on
line source

#!/bin/sh

hg init repo1
cd repo1
mkdir a b a/1 b/1 b/2
touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2
echo "hg status in repo root:"
hg status
echo "hg status . in repo root:"
hg status .
for dir in a b a/1 b/1 b/2; do
    echo "hg status in $dir:"
    hg status --cwd "$dir"
    echo "hg status . in $dir:"
    hg status --cwd "$dir" .
    echo "hg status .. in $dir:"
    hg status --cwd "$dir" ..
done
cd ..

hg init repo2
cd repo2
touch modified removed deleted ignored
echo "ignored" > .hgignore
hg ci -A -m 'initial checkin' -d "1000000 0"
sleep 1 # make sure mtime is changed
touch modified added unknown ignored
hg add added
hg remove removed
rm deleted
echo "hg status:"
hg status
echo "hg status modified added removed deleted unknown never-existed ignored:"
hg status modified added removed deleted unknown never-existed ignored
hg copy modified copied
echo "hg status -C:"
hg status -C
echo "hg status -A:"
hg status -A