mq: don't allow patches with some reserved names
The current list of reserved names includes only mq control files.
Also, reserve names starting with ".hg" (to avoid troubles with
e.g. .hgignore and .hgtags), and with ".mq" (to allow future
extensions).
This should fix
issue841.
#!/bin/sh
# test parents command
hg init repo
cd repo
echo % no working directory
hg parents
echo a > a
echo b > b
hg ci -Amab -d '0 0'
echo a >> a
hg ci -Ama -d '1 0'
echo b >> b
hg ci -Amb -d '2 0'
echo c > c
hg ci -Amc -d '3 0'
hg up -C 1
echo d > c
hg ci -Amc2 -d '4 0'
hg up -C 3
echo % hg parents
hg parents
echo % hg parents a
hg parents a
echo % hg parents c, single revision
hg parents c
echo % hg parents -r 3 c
hg parents -r 3 c
echo % hg parents -r 2
hg parents -r 2
echo % hg parents -r 2 a
hg parents -r 2 a
echo % hg parents -r 2 ../a
hg parents -r 2 ../a
echo '% cd dir; hg parents -r 2 ../a'
mkdir dir
cd dir
hg parents -r 2 ../a
echo '% hg parents -r 2 path:a'
hg parents -r 2 path:a
echo '% hg parents -r 2 glob:a'
cd ..
hg parents -r 2 glob:a
echo % merge working dir with 2 parents, hg parents c
HGMERGE=true hg merge
hg parents c
echo % merge working dir with 1 parent, hg parents
hg up -C 2
HGMERGE=true hg merge -r 4
hg parents
echo % merge working dir with 1 parent, hg parents c
hg parents c
true