Comment puis-je vérifier un fichier à partir d'perforce en python?
Je voudrais écrire quelques scripts en python qui n'certains automatisé des modifications au code source. Si le script détermine qu'il doit modifier le fichier, je voudrais d'abord vérifier de perforce. Je ne m'inquiète pas à propos de la vérification dans parce que j'aurai toujours envie de construire et de tester en premier.
Je suis en train de mettre cela ici, donc je peux faire une recherche dans le futur 🙂
Prix - je crois que c'est ce que la question préférée fonctionnalité est pour l' :).
Prix - je crois que c'est ce que la question préférée fonctionnalité est pour l' :).
OriginalL'auteur Matt Price | 2008-10-08
Vous devez vous connecter pour publier un commentaire.
Perforce a Python wrappers autour de leur C/C++ outils, disponibles sous forme binaire pour Windows, et une source pour d'autres plates-formes:
http://www.perforce.com/perforce/loadsupp.html#api
Vous trouverez leur documentation de l'API de script pour être utile:
http://www.perforce.com/perforce/doc.current/manuals/p4script/p4script.pdf
Utilisation de l'API Python est assez similaire à la ligne de commande client:
Je vais vérifier à partir de la ligne de commande:
OriginalL'auteur Troy J. Farrell
Voici ce que je suis venu avec:
À l'aide de la p4 module vous lie à une version spécifique de la perforce API C++ si je me souviens bien. À l'aide de la ligne de commande est rétro-compatible, facile, et si vous modifiez la commande à p4 -G modifier, il faudra retourner les objets rassemblés python dictionnaire d'objets.
À l'aide de la ligne de commande p4 est plus facile à configurer trop
Et à moins que vous le compiler à partir des sources, vous êtes lié à python 2.6, maintenant. Le p4 extension de python n'a pas été mis à jour pour python 2.7 ou 3.0
Rassemblés des objets python sont liés à une version spécifique de Python (à partir de le maréchal docs), mais qui n'est pas attaché à une version spécifique de Perforce est certainement un bonus à l'aide de la ligne de commande.
OriginalL'auteur Matt Price
Perforce est P4 module Python mentionné dans une autre réponse est le chemin à parcourir, mais si l'installation de ce module n'est pas une option, vous pouvez utiliser l'option-G drapeau pour aider à analyser p4.exe sortie:
OriginalL'auteur Syeberman
Bâtiment de p4python source nécessite le téléchargement et l'extraction de la p4 api recommandé pour cette version. Par exemple, si la construction de la Windows XP version x86 de P4Python 2008.2 pour activepython 2.5:
point à la p4api répertoire.
Pour ouvrir les fichiers pour les modifier (faire un checkout), sur la ligne de commande, voir "p4 aider à ouvrir".
Vous pouvez vérifier les fichiers sans en faire une liste si vous ajoutez le fichier par défaut de la liste de modifications, mais c'est une bonne idée de faire une liste de la première.
P4Python ne dispose pas actuellement de compiler pour activepython 2.6 sans visual studio 2008; la condition libs sont construits avec de l'2005 ou 2003. Forcer p4python de construire contre mingw est presque impossible, même avec pexports de python26.dll et reimp/remontage de la condition .fichiers lib en .un fichiers.
Dans ce cas, vous aurez probablement plutôt d'utiliser le sous-processus, et de retour p4 résultats rassemblés des objets python. Vous pouvez écrire votre propre commande wrapper qui prend un arg tableau, construit et exécute les commandes, et renvoie les résultats du dictionnaire.
Vous pouvez essayer de tout changer, de tests, et en cas de succès, d'ouvrir les fichiers qui sont différentes avec quelque chose d'équivalent à " p4 diff -se //...'
OriginalL'auteur Epu
Vous voudrez peut-être vérifier la P4Python module. Il est disponible sur le perforce site et cela rend les choses très simples.
OriginalL'auteur Nithin
Rappelez-vous les gars pour installer les paquets de développement de Python pour la p4api ou il va se plaindre au sujet de manquer les en-têtes. Dans Ubuntu 10.10, il suffit de faire un simple:
Ou
OriginalL'auteur farhany