And "Stefan Pfetzing" writes: - printf ("access: %d\n", access("/etc/motd", X_OK)); [...] - will return 0 on solaris - when run as root, even though /etc/motd - is not executeable. This is explicitly allowed by the SUS, even for non-root: http://www.opengroup.org/onlinepubs/000095399/functions/access.html For non-root, some ACL systems could allow you to execute the file even if there are no execute bits. What a joy ACLs are. Or NFS uid mappings could play tricks on you, or... And as you've noticed, this kills [ -x ]. (Failing to run the hooks in receive-pack.c is noisy but not fatal. It's the shell scripts that stop.) I think you're stuck. To disable the hooks for all possible users, OSes, file systems, etc., you need to remove them. Or just don't run as root, and hope that the OS isn't completely insane. BTW, ERR_RUN_COMMAND_EXEC is never returned. Any failure to exec will produce an exit code of 128 from die. This will be an issue when commit becomes a built-in, right? Jason - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html