Il gancio post-commit di subversion non funziona su commit, lo script funziona perché posso eseguirlo sulla riga di comando
-
21-12-2019 - |
Domanda
Ho appena fatto un nuovo repository. Il mio server è Ubuntu 12.04 32 bit. Voglio che i miei commi siano vivi non appena li ho impegnati. Ciò si ottiene effettuando una copia di lavoro nella mia directory HTML pubblica e avere il gancio post-commit aggiorna che copia la copia di lavoro. L'ho impostato usando le istruzioni qui:
http://www.frenssen.be/content/ Usando-Subversion-Aggiornamento automatico-Update-Live-Sito Web
Il problema è che il mio post-commit non funziona quando si impegna il mio progetto. Il mio progetto si impegna solo bene . So che anche lo script è uno script valido, perché posso eseguirlo con
env ./post-commit
.
all'interno della directory hooks
e aggiorna correttamente.
Ho pensato che potesse essere una cosa permessi, quindi ho fatto un uso ampio di chown
per garantire che www-data
sia il proprietario di:
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
.
Ma ancora niente. I miei commi sono riusciti, ma il gancio non corre mai. Il mio hook script è così:
#!/bin/sh
/home/svn/autoupdate/autoupdate
.
Tutto il googling sembra indicare un problema di autorizzazioni ma non riesco a capire questo fuori.
Soluzione
Puoi ripetere l'esempio di questo ragazzo e vedere se funziona affatto?
.
mikewest.org/2006/06/subversion-post-commit-hooks-101
Hai un errore quando ci si impegna?
Se il tuo gancio post-commit effettivamente fallito, penso che vedresti la prova di quello in qualsiasi cliente che stavi usando per eseguire il check-in.Sto quasi sospettando che post-commit non si spara affatto.Solo per ricontrollare, il file deve effettivamente essere chiamato post-commit, tutte le minuscole e non post-commit.tmpl.