2009-10-16 8 views
3

Sur mon lieu de travail, nous avons commencé à introduire des crochets SVN appropriés, «correct» signifiant «faire beaucoup de contrôle de politique». Actuellement, notre politique se compose de Perl :: Critic avec la vérification Perl :: Tidy activée. Cependant, en particulier le dernier prend beaucoup de temps sur les commits avec plusieurs à plusieurs fichiers touchés et SVN ne reviendrait pas jusqu'à ce que le crochet post-commit est fait.Gagnez du temps dans les hooks SVN post-commit?

Y at-il un moyen de gagner du temps dans le hook post-commit sans sacrifier les contrôles de politique?

Répondre

1

Si vous voulez que la validation échoue si le crochet indique "non", le commit doit attendre que le crochet ait terminé sa vérification. En plus d'accélérer la vérification, je ne vois rien que vous puissiez faire. (Sauf pour le vieux mantra: commettre souvent, alors vous ne commettrez pas autant de fichiers à la fois.)

3

Si vous avez seulement besoin d'un rapport (comme la liste des erreurs) alors vous pouvez utiliser le système Continious Intergation exécuter des actions post-commit . Ces systèmes permettent de faire n'importe quelle action après que les changements dans votre système de contrôle de la source ont été faits. Voici l'exemple de scénario:

  • Quelqu'un engage à repository SVN
  • Après un certain temps CC fonde ce changement et exécute le script:
    • Dernière version de SVN
    • vérifie Run comme Perl: : Critique et Perl :: Tidy
  • Si un chèque échoué,
    • Créer un rapport d'erreur détaillé (qui est disponible à partir de Web)
    • Envoyer une notification par e-mail si nécessaire

Il y a beaucoup de bon système Continious Intergation. J'aime Hudson.

2

Ceci est un autre endroit où le développement basé sur une branche peut être utile. Essentiellement, vous créez une nouvelle branche pour chaque tâche que vous voulez faire. La branche est exemptée des contrôles de qualité, mais la fusion à trunk ou ce n'est pas le cas. Vos engagements quotidiens sont donc rapides et leur fusion est lente. Et vous pouvez réduire la douleur de cela en mettant en place un bot pour faire cette tâche pour vous.

Questions connexes