real=${ATTEST_REAL_GIT:?}
case "${ATTEST_FAULT:-}:$*" in
probe:*) echo attest-faulty-git; exit 0 ;;
ls-tree:*" ls-tree "*|ls-tree:"ls-tree "*)
"$real" "$@" | head -c 64
exit 1 ;;
cat-file:"cat-file blob "*|cat-file:*" cat-file blob "*)
exit 1 ;;
hang:*" fetch "*|hang:*" ls-remote "*|hang:"fetch "*|hang:"ls-remote "*)
exec sleep 120 ;;
env:*" fetch "*|env:*" ls-remote "*|env:"fetch "*|env:"ls-remote "*)
printf '%s|%s\n' "${GIT_TERMINAL_PROMPT-}" "${GIT_SSH_COMMAND-}" >> "${ATTEST_FAULT_LOG:?}" ;;
esac
exec "$real" "$@"