2010-08-17 1 views

Répondre

1

Vous pouvez utiliser SVN hooks à partir de la ligne de commande, sur divers événements (pré- et post-) pour exécuter vos scripts personnalisés.

Il semble qu'il n'y a pas de crochet pour l'événement « mise à jour », s'il vous plaît voir here et recueillir des détails.

+3

TortoiseSVN n'est pas une "couche GUI sur le noyau SVN". TortoiseSVN est une application développée indépendamment qui exploite les bibliothèques SVN publiées. Il implémente plusieurs fonctionnalités qui ne sont pas dans SVN.EXE, telles que les scripts hook côté client (un exemple). Les hooks SVN sont côté serveur. Ils ne s'exécutent pas lorsqu'un utilisateur fait SVN UPDATE sur leur copie de travail locale. –

+0

Oups! Merci pour l'info! – pavanlimo

+0

"si l'interface graphique prend en charge, la ligne de commande doit!" - Qui a fait cette règle? –

7

En ce qui concerne SVN: pas sûr que cela vous aidera, mais si vous utilisez TortoiseSVN, vous pouvez utiliser des scripts hook côté client:

Il existe actuellement six types de scripts hook disponibles

Démarrer-COMMIT
Appelé avant l'affichage de la boîte de dialogue de validation. Vous pourriez vouloir utiliser ceci si le crochet modifie un fichier versionné et affecte la liste des fichiers qui doivent être validés et/ou commettre un message. Cependant, notez que, comme le hook est appelé à un stade précoce, la liste complète des objets sélectionnés pour la validation n'est pas disponible.

Pré-validation
Appelée après que l'utilisateur a cliqué sur OK dans la boîte de dialogue de livraison, et avant que la validation réelle commence. Ce crochet a une liste de ce qui va être commis. Post-commit
Appelée après la fin de la validation (réussie ou non).

Début de la mise à jour
Appelé avant l'affichage de la boîte de dialogue de mise à jour vers la révision.

Pré-mise à jour
Appelée avant le début de la mise à jour de Subversion.

Post-mise à jour
Appelée après la fin de la mise à jour (réussie ou non).

Un crochet est défini pour un trajet de copie de travail particulier. Vous avez seulement besoin de spécifier le chemin de niveau supérieur; Si vous effectuez une opération dans un sous-dossier, TortoiseSVN recherche automatiquement un chemin correspondant.

Ensuite, vous devez spécifier la ligne de commande à exécuter, en commençant par le chemin du script crochet ou exécutable. Cela peut être un fichier batch, un fichier exécutable ou tout autre fichier ayant une association de fichier Windows valide, par exemple. un script Perl.

+0

Je lance les commandes update/pull sur le serveur via SSH et n'utilise pas TortoiseSVN - j'aurais besoin d'un poste de travail distant pour que cela fonctionne. – Tower

Questions connexes