9
votes

Perforce Côté client Crochet de pré-validation

Nous utilisons Perforce comme contrôle source de la solution Visual Studio. Travailler avec P4 et P4V. Est-il possible d'ajouter un crochet de pré-validation du côté client? par exemple pour assurer le mot "débogueur"; n'existe pas dans * .js fichiers. Pourrait trouver quelque chose dans Google. Merci.


0 commentaires

3 Réponses :


5
votes

Perforce Les déclencheurs peuvent être utilisés pour appliquer une telle stratégie, mais elles fonctionnent sur le serveur et non client. Donc, la plupart des sites dont je suis conscient de faire appliquer une règle telle que celle que vous décrivez à l'aide d'un déclencheur de changement de changement sur le serveur.

http://www.perforce.com/perforce/ doc.current / manuels / cmdrref / trusgers.html

Ce n'est pas évident de votre question pourquoi vous devez avoir un crochet côté client. Y a-t-il une raison pour laquelle vous ne voulez pas utiliser de déclencheur de changement de changement?

Peut-être que vous pourriez peut-être envisager de refroidir votre flux de travail en tant que processus d'examen du code et mettez en œuvre des stratégies telles que celle-ci dans votre outil de révision de code de choix.


3 commentaires

Merci, la raison pour laquelle je le veux sur le côté de la clientèle est que je ne veux pas que ce soit une crochet préalable à tous les développeurs, mais sur un groupe spécifique.


Il serait suffisamment facile d'implémenter un déclencheur côté serveur qui implémente sur un crochet de pré-validation uniquement pour des utilisateurs spécifiques, car le nom d'utilisateur est disponible avec les informations de ChangeList. Ma raison pour vouloir mettre en œuvre un crochet de pré-validation du côté client est différent, je souhaite pouvoir exécuter des contrôles sur des informations que seule la machine de l'utilisateur le sait. Par exemple, un contrôle de pré-validation permettant de vérifier que l'utilisateur a testé l'exécutable avant d'enregistrer, ou d'un contrôle de pré-validation qui analyse pour les fichiers impliqués dans la construction mais n'a pas été ajouté à un changeeliste.


Nous avons des exigences similaires. N'importe quel moyen d'invoquer un fichier avant Perforce Soumettre sur le client



3
votes

Une approche que vous pouvez utiliser est un "outil personnalisé": https://www.perforce.com/perforce/doc.current /manuals/p4v/custom_tools.html

Fondamentalement, vous écririez un script qui prend la Changeelist, car ARG vérifie votre état sur chaque fichier de votre changeliste et appelle P4 commit si cela réussit.


0 commentaires

1
votes

Utilisez Dernier git-p4 code>. Mon correctif pour le crochet p4-pré-soumettre code> est fusionné dans la branche suivante de GIT code>.

Le crochet est un script exécutable simple qui arrêtera le processus de soumission pour démarrer le processus de démarrage. Si le script existe avec le statut non nul. Donc, p4-pré-soumettre code> crochet est assez sûr sans effet secondaire. P>

voir https://github.com/git/git/blob/next/documentation/git-p4.txt pour plus de détails. P>

Veuillez noter git-p4 code> est un script python indépendant. Cela ne dépend de aucune version spécifique de Git. Donc, vous pouvez mettre à niveau git-p4 code> uniquement. P>

Le crochet p4-pré-soumettre code> n'a aucune autre interaction avec git / git-p4 code> sauf le statut de sortie. Donc, vous pouvez écrire le crochet dans n'importe quelle langue (je vous recommande Python). P>

Voici un échantillon .git / crochets / p4-Soumettre code>: p>

#!/bin/sh
cd $GIT_DIR && make test


0 commentaires