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
echo % should fail
hg add .hg/00changelog.i
mkdir a
echo a > a/a
hg ci -Ama
ln -s a b
echo b > a/b
echo % should fail
hg add b/b
echo % should succeed
hg add b
echo % should still fail - maybe
hg add b/b
exit 0