Issue a warning if "-r ." is used with two working directory parents.
Rationale for not aborting instead:
The first parent is usually more important as it is the local branch
during a merge and commands like 'hg diff' and 'hg diff -r.' behave still
identically (except for the warning of course).
Added a test for log -r. with one and two parents.
#!/bin/sh
# http://www.selenic.com/mercurial/bts/issue322
echo % file replaced with directory
hg init a
cd a
echo a > a
hg commit -Ama
rm a
mkdir a
echo a > a/a
echo % should fail - would corrupt dirstate
hg add a/a
cd ..
echo % directory replaced with file
hg init c
cd c
mkdir a
echo a > a/a
hg commit -Ama
rm -r a
echo a > a
echo % should fail - would corrupt dirstate
hg add a
cd ..
echo % directory replaced with file
hg init d
cd d
mkdir b
mkdir b/c
echo a > b/c/d
hg commit -Ama
rm -r b
echo a > b
echo % should fail - would corrupt dirstate
hg add b
exit 0