- Is there anything that I have missed or overlooked in implementing hooks?
Não use permissão 777. Às vezes isso pode ser contraproducente. Algumas ferramentas podem não funcionar com essas permissões suspeitas. No seu caso, é improvável que isso seja o problema, porque funciona para mim com essa configuração. Mas simplesmente não faça isso. Mude para 755.
Outra verificação de integridade é executar o script de gancho diretamente no servidor:
/path/to/test-for-svn-hooks/hooks/pre-commit
Quando o script tem um conteúdo mais significativo, então você deve testar com parâmetros apropriados também, por exemplo:
/path/to/test-for-svn-hooks/hooks/pre-commit /path/to/test-for-svn-hooks TXN
Em seguida, teste-o usando um checkout no próprio servidor, por exemplo:
svn co /path/to/test-for-svn-hooks /tmp/test1
cd /tmp/test1
date > date.txt
svn add date.txt
svn ci -m 'added some junk'
Com base no que você escreveu em sua postagem, essas etapas devem funcionar. Eu não sei os detalhes das condições sob as quais seus testes estão falhando. Se você pode chegar a este ponto, então talvez você veja a razão dos seus testes fracassados.
- If I implement a hook in this fashion do I have to worry about implementing the same hook again in Tortoisesvn?
Não. Os ganchos são definidos no lado do servidor. Não há necessidade de fazer nada no lado do cliente. Todos os clientes estarão sujeitos às regras definidas no gancho de pré-consolidação.