view tests/test-walk @ 2474:1e32e2fe8a67

Fix cold cache diff performance cold cache diff performance has regressed in two ways. localrepo.changes has optimizations for diffing against the working dir parent that expect node1 to be None. commands.revpair() usage means that commands.dodiff() never sends node1 == None. This is fixed in localrepo.changes by checking against the dirstate parents. In the non-dirstate parents case, localrepo.changes does a loop comparing files without first sorting the file names, leading to random access across the disk.
author Chris Mason <mason@suse.com>
date Wed, 21 Jun 2006 09:28:48 -0700
parents df8416346bb7
children 01c4ea5e788c c93562fb12cc
line wrap: on
line source

#!/bin/sh

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"
hg debugwalk
cd mammals
hg debugwalk .
hg debugwalk Procyonidae
cd Procyonidae
hg debugwalk .
hg debugwalk ..
cd ..
hg debugwalk ../beans
hg debugwalk .
hg debugwalk .hg
hg debugwalk ../.hg
cd ..
hg debugwalk -Ibeans
hg debugwalk 'glob:mammals/../beans/b*'
hg debugwalk '-X*/Procyonidae' mammals
hg debugwalk path:mammals
hg debugwalk ..
hg debugwalk beans/../..
hg debugwalk .hg
hg debugwalk beans/../.hg
hg debugwalk beans/../.hg/data
hg debugwalk beans/.hg
# Don't know how to test absolute paths without always getting a false
# error.
#hg debugwalk `pwd`/beans
#hg debugwalk `pwd`/..
hg debugwalk glob:\*
hg debugwalk 're:.*[kb]$'
hg debugwalk path:beans/black
hg debugwalk beans 'glob:beans/*'
hg debugwalk 'glob:j*'
hg debugwalk NOEXIST
mkfifo fifo
hg debugwalk fifo
rm fenugreek
hg debugwalk fenugreek
hg rm fenugreek
hg debugwalk fenugreek
touch new
hg debugwalk new