O gancho pós-commit do Subversion não será executado no commit, o script funciona porque posso executá-lo na linha de comando

StackOverflow https://stackoverflow.com//questions/20040218

Pergunta

Acabei de criar um novo repositório.Meu servidor é Ubuntu 12.04 32 bits.Quero que meus commits estejam ativos assim que eu os tiver confirmado.Isso é conseguido criando uma cópia de trabalho em meu diretório html público e fazendo com que o gancho pós-commit atualize essa cópia de trabalho.Eu configurei isso usando as instruções aqui:

http://www.frenssen.be/content/using-subversion-automatically-update-live-website

O problema é que meu pós-commit não será executado quando meu projeto for confirmado. Meu projeto é comprometido perfeitamente.Eu sei que o script também é válido, porque posso executá-lo com

env ./post-commit

dentro do hooks diretório e ele é atualizado corretamente.

Achei que poderia ser uma questão de permissões, então fiz uso extensivo de chown para garantir que www-data é proprietário de:

the repo /home/svn/repo2
the working copy /var/www/html
the hook /home/svn/repo2/hooks/post-commit
the update binary /home/svn/autoupdate/autoupdate

Mas ainda nada.Meus commits foram bem-sucedidos, mas o gancho nunca é executado.Meu script de gancho é assim:

#!/bin/sh
/home/svn/autoupdate/autoupdate

Toda a pesquisa no Google parece apontar para um problema de permissões, mas não consigo descobrir isso.

Foi útil?

Solução

Você pode repetir o exemplo desse cara e ver se funciona?
mikewest.org/2006/06/subversion-post-commit-hooks-101

Você recebe um erro ao confirmar?

Se o seu gancho pós-commit realmente falhou, acho que você veria evidências disso em qualquer cliente que estivesse usando para realizar o check-in.Estou quase suspeitando que o pós-commit não está disparando.Apenas para verificar, o arquivo precisa ser chamado de post-commit, tudo em letras minúsculas, e não post-commit.tmpl.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top