Use test -h instead of test -L for portability
Citing from the GNU autoconf manual:
"either form conforms to Posix 1003.1-2001, but older shells like Solaris 8
/bin/sh support only -h"
#!/bin/sh
hg init
echo a > a
hg ci -Amadd
chmod +x a
hg ci -mexecutable
hg up 0
rm a
ln -s symlink a
hg ci -msymlink
hg merge
echo % symlink is left parent, executable is right
if [ -h a ]; then
echo a is a symlink
readlink a
elif [ -x a ]; then
echo a is executable
fi
hg update -C 1
hg merge
echo % symlink is right parent, executable is left
if [ -h a ]; then
echo a is a symlink
readlink a
elif [ -x a ]; then
echo a is executable
fi