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.
adding a
adding b
adding dir.h/foo
adding t.h
adding t/b
adding t/e.h
adding t/x
hg locate a
a
locate succeeded
hg locate NONEXISTENT
locate failed
hg locate
a
b
dir.h/foo
t.h
t/b
t/e.h
t/x
hg locate a
hg locate NONEXISTENT
hg locate relpath:NONEXISTENT
hg locate
b
dir.h/foo
t.h
t/b
t/e.h
t/x
hg locate -r 0 a
a
hg locate -r 0 NONEXISTENT
hg locate -r 0 relpath:NONEXISTENT
hg locate -r 0
a
b
dir.h/foo
t.h
t/b
t/e.h
t/x
% -I/-X with relative path should work
hg locate
b
dir.h/foo
t.h
t/b
t/e.h
t/x
hg locate -I ../t
t/b
t/e.h
t/x
hg locate t/**
t/b
t/e.h
t/x
hg locate b
../b
../t/b
hg locate *.h
../t.h
../t/e.h
hg locate path:t/x
../t/x
hg locate re:.*\.h$
../t.h
../t/e.h
hg locate -r 0 b
../b
../t/b
hg locate -r 0 *.h
../t.h
../t/e.h
hg locate -r 0 path:t/x
../t/x
hg locate -r 0 re:.*\.h$
../t.h
../t/e.h