#!/bin/sh if ! [ "$DID_SELF_UPDATE" ] then GIT_WORK_TREE=. git checkout -f master -- hooks/post-receive DID_SELF_UPDATE=y exec hooks/post-receive fi exec >&2 GIT_WORK_TREE=. git checkout -f master -- authorized_keys.d/\* if [ "$SSH_USER_AUTH" ] && [ -f "$SSH_USER_AUTH" ] then read authtype keytype keyval < "$SSH_USER_AUTH" [ "$authtype" = publickey ] || exit user= for keyname in authorized_keys.d/* do while read a b _ do case "$a $b" in "$keytype $keyval") user=${keyname#authorized_keys.d/} break ;; esac done < "$keyname" done if [ "$user" ] then echo "user=$user" fi else echo "\$SSH_USER_AUTH missing. Try putting 'ExposeAuthInfo yes' in /etc/ssh/sshd_config" fi