J'essaie de faire en sorte que subversion déploie automatiquement la copie de travail actuelle lors de la validation. Par exemple, si quelqu'un extrait le repo 'public_html' puis valide une modification, j'ai besoin de SVN pour exécuter automatiquement svn update/path/to/public_html/'sur le serveur qui exécute svn.Subversion échoue sur le crochet post-commit?
J'ai mis en place un crochet post-commit qui appelle:
/usr/bin/svn update/chemin/vers/public_html/
J'ai assurer la post-commit hook est exécutable , et si je lance manuellement le script via SSH, il fonctionne correctement et met à jour le/path/to/public_html/dir, donc nous savons que le script post-commit fonctionne bien.
Le problème que je rencontre est que chaque fois que je commets, je reçois cette erreur:
Transmitting file data .svn: Commit failed (details follow):
svn: MERGE of '/svn/public_html': 200 OK (http://ourdomain.com)
La chose est, SVN est couché à travers ses dents: la commettras ne fait pas l'échec - si je mets à jour manuellement dir (ou exécutez manuellement le script post-commit) la mise à jour se termine et les modifications sont répercutées sur le serveur. Donc, est-ce que quelqu'un sait pourquoi mon hook de post-commit échoue?
J'ai vu pas mal de messages à ce sujet mais aucun ne semble avoir de solutions à part "essayer de lancer le script post-commit manuellement" que j'ai essayé et ça marche bien. commit script n'est pas le problème, il semble y avoir un problème avec SVN lui-même.
Toute aide serait grandement appréciée !!
Cela ne répond pas directement à votre question, donc je l'inclue dans un commentaire plutôt que dans une réponse - je vous déconseille d'exécuter votre contenu de serveur http public directement sur un référentiel svn. Au lieu de cela, vous devez utiliser un script build-and-deploy, qui empaquette votre code et contenu et le déplace vers un emplacement de publication. Faire un lien automatique pour commettre des sons particulièrement effrayant - que se passe-t-il si quelqu'un vérifie une erreur de code, ou une faute de frappe grossière dans un écrit? Vous n'avez jamais l'occasion de tester les changements avant qu'ils ne soient mis en ligne. – Ether