Question

Je cherche un moyen de procéder de la manière suivante: pré-validation, post-validation ou de toute autre manière.

Voici ce dont j'ai besoin pour travailler

  1. L'utilisateur valide le fichier
  2. Quelque chose court (crochet ou autre chose)
  3. Que quelque chose d'autre de # 2 devrait ajouter du texte statique au fichier en cours de validation

Sur la base de cette http://subversion.open. collab.net/ds/viewMessage.do?dsForumId=3&dsMessageId=296576 Je vois que ce n'est pas recommandé, mais il doit y avoir un moyen d'ajouter du texte au fichier à chaque commit.

Système d'exploitation: Os envoyés

Raison pour laquelle j'en ai besoin: protéger tous les fichiers de code en insérant des mentions légales

Était-ce utile?

La solution 3

Jusqu'à présent, la seule solution envisageable consiste à utiliser des points d'ancrage tortoiseSVN côté client:

Insérer des commentaires automatiquement à l'aide de TortoiseSVN?

Malheureusement, cela limite les développeurs à utiliser uniquement TortoiseSVN. L'utilisation des plugins Visual Studio, par exemple, ne fonctionnera pas: (

Si quelqu'un trouve un moyen centralisé de procéder, veuillez poster ici.

Autres conseils

Regardez le cadre rouge à la fin de ce chapitre du livre SVN:

  

Alors que les scripts de raccordement peuvent faire presque n'importe quoi, il existe une dimension dans laquelle les auteurs de scripts doivent faire preuve de retenue: ne modifiez pas une transaction de validation à l'aide de scripts de raccordement. Même s'il peut être tentant d'utiliser des scripts de raccordement pour corriger automatiquement les erreurs, les lacunes ou les violations de stratégie présentes dans les fichiers en cours de validation, cela peut entraîner des problèmes. Subversion conserve les caches côté client de certains bits des données du référentiel et si vous modifiez une transaction de validation de cette manière, ces caches deviennent indéfiniment obsolètes. Cette incohérence peut conduire à un comportement surprenant et inattendu. Au lieu de modifier la transaction, vous devez simplement valider la transaction dans le hook de pré-validation et rejeter la validation si elle ne répond pas aux exigences souhaitées. En prime, vos utilisateurs apprendront la valeur d'habitudes de travail prudentes et axées sur le respect des règles.

Je souscris au POV pour que le texte dans les cases rouges soit pris au sérieux.

Selon ce fil de discussion, vous pouvez le faire avec un hook de pré-validation, mais ce serait un casse-tête. Si vous devez absolument avoir du texte statique dans le fichier, il serait préférable que les développeurs l'insèrent, puis utilisez le crochet de pré-validation pour vérifier qu'il était présent. Si le texte statique n'existe pas ou s'il est incorrect, vous refusez la validation.

Que diriez-vous de travailler sur cette autre façon - utilisez un robot. C’est un peu plus de travail, mais en gros: accepter le commit dans le référentiel sans la section légale requise et inciter le robot à regarder (ou le faire regarder périodiquement).

Le robot effectue ensuite une extraction / une mise à jour des fichiers dont il s'occupe, vérifie leur politique et leurs mentions légales, ajoute automatiquement tout ce dont il a besoin, puis contrôle les modifications. De cette manière, les caches de subversion sont satisfaits et les mentions légales sur tous les fichiers. Developerse retirera les modifications lors du prochain cycle de mise à jour / validation, comme pour tout autre changement. Vous pouvez même demander au robot de garder automatiquement la section juridique à jour avec la dernière définition, en fonction de la complexité de votre choix.

Peut-être même être capable d'utiliser quelque chose comme Hudson pour héberger cela dans un cadre utilisable.

Vous pouvez installer un hook sur le serveur SVN qui exécutera un script et pourra ajouter des informations au fichier, etc.

Il y a une infime information ici: http://svnbook.red-bean.com/fr/1.4/svn.ref.reposhooks.post-commit.html

Cela dit, pourquoi voudriez-vous faire cela?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top