inotify: completely ignore events on the repository root
They can only be events on the top directory object. Those events are
meaningless for us: permission changes, repository-wide moves...
And they break the assertion that all events happen in repo/*.
Just ignore them.
Fixes one of the failures of run-test.py --inotify test-permissions
#!/bin/sh
cat > echo.py <<EOF
#!/usr/bin/env python
import os, sys
try:
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
pass
for k in ('HG_FILE', 'HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
print k, os.environ[k]
EOF
# Create 2 heads containing the same file, once as
# a file, once as a link. Bundle was generated with:
#
# hg init t
# cd t
# echo a > a
# hg ci -qAm t0 -d '0 0'
# echo l > l
# hg ci -qAm t1 -d '1 0'
# hg up -C 0
# ln -s a l
# hg ci -qAm t2 -d '2 0'
# echo l2 > l2
# hg ci -qAm t3 -d '3 0'
hg init t
cd t
hg -q pull "$TESTDIR/test-merge-symlinks.hg"
hg up -C 3
# Merge them and display *_ISLINK vars
echo % merge heads
HGMERGE="python ../echo.py" hg merge
# Test working directory symlink bit calculation wrt copies,
# especially on non-supporting systems.
echo % merge working directory
hg up -C 2
hg copy l l2
HGMERGE="python ../echo.py" hg up 3