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. P>
3 Réponses :
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. P>
http://www.perforce.com/perforce/ doc.current / manuels / cmdrref / trusgers.html p>
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? P>
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. P>
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
Une approche que vous pouvez utiliser est un "outil personnalisé": https://www.perforce.com/perforce/doc.current /manuals/p4v/custom_tools.html p>
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. P>
Utilisez Dernier 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, voir https://github.com/git/git/blob/next/documentation/git-p4.txt pour plus de détails. P> Veuillez noter Le crochet Voici un échantillon git-p4 code>. Mon correctif pour le crochet
p4-pré-soumettre code> est fusionné dans la branche
suivante de GIT code>.
p4-pré-soumettre code> crochet est assez sûr sans effet secondaire. P>
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>
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>
.git / crochets / p4-Soumettre code>: p>
#!/bin/sh
cd $GIT_DIR && make test