tests/test-inotify
author Mads Kiilerich <mads@kiilerich.com>
Tue, 29 Jun 2010 12:12:34 +0200
branchstable
changeset 11488 f786fc4b8764
parent 10944 6f1894d6a6b0
child 11545 db9d16233787
permissions -rwxr-xr-x
log: follow filenames through renames (issue647) In commands.log a displayer was initialized from cmdutil.show_changeset() with the initial matchfn (which designates the specified files which only is correct in the highest revision in the range). prep() is handed the correct list of files, but displayer.show() didn't use that list but keept using the original matchfn. The matchfn argument to cmdutil.show_changeset() wasn't specified in other places and is only used in .show(), so now we give the matchfn as an optional parameter to .show(). We do however still have to detect --patch and --stat from opts in show_changeset() and let it imply a matchall, but that can now be overruled with the new .show() matchfn parameter.

#!/bin/sh

"$TESTDIR/hghave" inotify || exit 80

hg init repo1
cd repo1

touch a b c d e
mkdir dir
mkdir dir/bar
touch dir/x dir/y dir/bar/foo

hg ci -Am m
cd ..
hg clone repo1 repo2

echo "[extensions]" >> $HGRCPATH
echo "inotify=" >> $HGRCPATH

cd repo2
echo b >> a
# check that daemon started automatically works correctly
# and make sure that inotify.pidfile works
hg --config "inotify.pidfile=../hg2.pid" status

# make sure that pidfile worked. Output should be silent.
kill `cat ../hg2.pid`

cd ../repo1
echo % inserve
hg inserve -d --pid-file=hg.pid
cat hg.pid >> "$DAEMON_PIDS"

# let the daemon finish its stuff
sleep 1

echo % cannot start, already bound
hg inserve

# issue907
hg status
echo % clean
hg status -c
echo % all
hg status -A

echo '% path patterns'
echo x > dir/x
hg status .
hg status dir
cd dir
hg status .
cd ..

#issue 1375
#Testing that we can remove a folder and then add a file with the same name
echo % issue 1375

mkdir h
echo h > h/h
hg ci -Am t
hg rm h

echo h >h
hg add h

hg status
hg ci -m0

# Test for issue1735: inotify watches files in .hg/merge
hg st

echo a > a

hg ci -Am a
hg st

echo b >> a
hg ci -m ab
hg st

echo c >> a
hg st

HGMERGE=internal:local hg up 0
hg st

HGMERGE=internal:local hg up
hg st

# Test for 1844: "hg ci folder" will not commit all changes beneath "folder"
mkdir 1844
echo a > 1844/foo
hg add 1844
hg ci -m 'working'

echo b >> 1844/foo
hg ci 1844 -m 'broken'

kill `cat hg.pid`