2010-10-08 43 views
3

Je pense que la question explique tout, mais laissez-moi vous expliquer ce que je veux faire. Je suis en train de jouer avec l'idée que chaque fois qu'un tag est créé dans mon repo, tous les messages de validation entrés depuis le tag précédent sont entrés dans une page wiki. De cette façon, les utilisateurs n'ont pas besoin d'accéder au serveur subversion pour voir les validations effectuées pour chaque tag.Existe-t-il un crochet disponible lors de la création d'un tag dans Subversion?

Peut-être qu'il y a un moyen plus facile, mais je pensais que je pouvais le faire en câblant dans un crochet pour la création d'étiquettes. Pensées? Conseil?

Merci

Répondre

2

Il n'y a pas d'opération "création de tags" pour svn, tous les noms de dossiers tels que balises, coffre, etc - sont juste convention sur la mise en page du référentiel norme SVN. Ce que vous appelez "création d'étiquette" est en réalité une création d'un nouvel emplacement svn (qui est spécialement connu du côté serveur comme copié d'un autre endroit). Toutes les opérations sur les fichiers - téléchargement de modifications, ajout de nouveaux fichiers, suppression, même modification des propriétés svn - sont des opérations de validation. C'est pourquoi vous devez écrire un script et le définir comme a pre-commit or post-commit hook on SVN server. Selon votre tâche bien décrite, je peux donner une idée de la façon dont je vois la mise en œuvre. Ce script doit vérifier le chemin étant commited (ou après) si elle ressemble à some_svn_path/tags/tag_name , puis trouver la balise précédente dans ce dossier some_svn_path/tags/tag_name_prev et obtenir la révision de svn, puis obtenir le chemin d'origine de la transaction en cours (chemin d'où cette étiquette est copiée à partir de), probablement some_svn_path/trunk , et enfin obtenir des messages de journal du chemin svn d'origine à partir de la révision de la balise précédente jusqu'à la révision en cours.