Make audit_path more stringent.
The following properties of a path are now checked for:
- under top-level .hg
- starts at the root of a windows drive
- contains ".."
- traverses a symlink (e.g. a/symlink_here/b)
- inside a nested repository
If any of these is true, the path is rejected.
The check for traversing a symlink is arguably stricter than necessary;
perhaps we should be checking for symlinks that point outside the
repository.
#!/bin/sh
hg init a
cd a
hg init b
echo x > b/x
echo '# should print nothing'
hg add b
hg st
echo '# should fail'
hg st b/x
hg add b/x
echo '# should arguably print nothing'
hg st b
echo a > a
hg ci -Ama a
echo '# should fail'
hg mv a b
hg st