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`