2010-04-29 4 views
0

Je veux avoir une vérification du hook pré-commit si le commit actuel est un tag, et si c'est le cas, vérifiez les propriétés de svn: externals et changez-les pour avoir des révisions si elles ne le font pas. J'ai une bonne idée de la façon de grep pour si elles sont des balises ou non, mais obtenir et modifier les propriétés s'avère difficile.SVN changer la propriété dans le pré-commit

Répondre

0

Vous pouvez le faire dans un crochet pre-commit par svnlook changé (ne pas manquer les informations de transaction via -t)

svnlook changed t --copy-info 

Cette impression sur quelque chose comme ceci:

A + p2/tags/FIRST-TAG/ 
(from p2/trunk/:r8) 

Donc, ce est une étiquette ...

Vérifier les biens immobiliers est bien aussi ...

svnlook proplist t /p2/tags/FIRST-TAG 

Jusqu'ici tout va bien. Vous pouvez maintenant vérifier le contenu d'un svn: externals. Mais vous ne devriez jamais modifier quoi que ce soit au sein d'une transaction.

Ne fais jamais jamais ça. La meilleure chose à faire est d'abandonner simplement l'opération (redonner non zéro) et de donner une explication à ce sujet via la sortie stderr.

+0

Il est possible de modifier la transaction dans le hook post-commit en tant que révision. Vérifiez les propriétés de révision nécessaires et modifiez-les. –

+0

Si vous ajoutez un fichier * new *, pouvez-vous vérifier la propriété svn: eol-style en utilisant le hook pré-commit? –

Questions connexes