view tests/test-status @ 2081:416d8b2a75b8

Speedup revlog.ancestors for the linear case revlog.ancestors can be expensive on big repos. This cuts down the overall time for hg update by ~19% by short cutting revlog.ancestors when one of the revisions is reachable from another.
author Chris Mason <mason@suse.com>
date Thu, 06 Apr 2006 20:13:09 -0400
parents 7544700fd931
children
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