subversion bindings python de la documentation?
Où puis-je trouver une bonne introduction à l'utilisation de la subversion bindings python?
J'ai trouvé une section dans le svnbook qui en parle; et certains des exemples de base de 1,3.
Est là quelque chose d'un peu plus approfondie et à jour?
Vous devez vous connecter pour publier un commentaire.
Voulais juste ajouter une petite précision ici.
Grâce à ces deux réponses (@BenjaminWohlwend et @Logan), j'ai pris conscience il y a plus d'un ensemble de liaisons Python/interfaces pour la Subversion; je l'ai fait sur mon Ubuntu 11.04 boîte:
On peut regarder le paquet Debian filelist, afin de déterminer les bibliothèques de ces reportez-vous à; nous avons donc:
python-subversion
- ou RASADE liaisons (oulibsvn
,libsvn_swig_py
) filelistimport svn.core, svn.client
;from svn import fs, core, repos
python-svn
- oupysvn
filelistimport pysvn
python-subvertpy
- ousubvertpy
filelistfrom subvertpy import delta, repos
,from subvertpy.ra import RemoteAccess, Auth
... et j'ai aussi trouvé un autre dans le référentiel:
ctypes-python
- oucsvn
sourceimport csvn.core
,from csvn.repos import *
Le lien http://svn.apache.org/repos/asf/subversion (que j'ai obtenu à partir de @BenjaminWohlwend) est apparemment l'Apache Software Foundation (asf?) Dépôt Subversion de la Subversion du code source lui-même.
L'OP en quête de documentation semble liée à
python-subversion
(ou RASADE liaisons (oulibsvn
); dont le construire à partir des sources les instructions sont en @Loganaprès. Je ne pouvais pas trouver beaucoup plus de documentation de la source de la svn.développeur: Utilisation de l'Api déjà mentionné dans l'OP, sauf pour les liaisons/rasade/python/README; il explique comment RASADE Python génère des interfaces à partir de C:Ensuite, on peut envisager, par exemple, svn/core.py, et des fonctions de recherche (et les "Symboles définis explicitement") comme
svn_mergeinfo_merge
; notant quecore.py
importationslibsvn.core
- oùlibsvn
fait probablement référence à l'objet partagé (.so
) fichiers construit à partir du fichier C libsvn_swig_py/swigutil_py.c.Ensuite, nous pouvons trouver
svn_mergeinfo_merge
, et de trouver un message de commit comme SVNSearch: Subversion (commit 23570 05.03.2007), qui fait référence à cette fonction, et unsvn_mergeinfo.h
; recherche de ce fichier en outre, on trouve dans l'ASF référentiel: svn_mergeinfo.h, ce qui en fait contient:Voir
DEPRECATED
là, c'est probablement une bonne chose ici pour consulter svn commit: r1175903 (Lun Sep 26 2011):C'est-à - cette fonction a été supprimée en 2011 - alors, je l'espère, un de Python SVN liaisons et SVN installation doit être de contrepartie...
Si vous construisez la Subversion à partir de la source de la Subversion bindings Python ne sont pas automatiquement inclus. Vous avez spécifiquement les construire et de les inclure. Heureusement, vous pouvez le faire après que vous avez installé Subversion. La source pour les liaisons est inclus dans le code source de Subversion.
Ces instructions sont pour la Subversion 1.5.9 et Python 2.4.3 sur Red Hat Enterprise Linux, mais ils doivent être facilement piratable pour les dernières versions de Subversion et de Python et unix installe.
Tout d'abord, téléchargez rasade de http://downloads.sourceforge.net/swig
À ce stade, vous avez à prendre une décision. Vous pouvez installer swig pour toutes les langues prises en charge ou vous pouvez l'installer pour vous. "make check" peut prendre jusqu'à une heure pour exécuter et peut échouer en raison d'erreurs de langues que vous ne sont pas concernés par.
Si vous souhaitez utiliser toutes les langues prises en charge l'exécution:
Si vous souhaitez étendre vers le bas, juste python, exécutez:
Ensuite, exécutez:
Si vous avez opté pour l'installation complète, exécutez:
Si vous avez portée à un peu de python, vous n'aurez qu'à exécuter le script python tests:
Si tout est OK, vous êtes prêt à installer rasade:
faire installer
À partir d'ici, l'installation de la subversion bindings python devrait être assez simple:
Comme toujours, votre kilométrage peut varier en fonction de vos propres versions et de l'architecture. Bonne chance.
Cela ressemble à une jolie documentation complète:
http://pysvn.tigris.org/docs/pysvn_prog_ref.html
Et voici quelques exemples:
http://svn.apache.org/repos/asf/subversion/trunk/tools/examples/
Espère que c'est OK avec un autre post re:
python-subversion
: je voulais essayer Exemple 8.3. Un Python état de chenille - à l'Aide de l'Api (svnbook). sur Ubuntu 11.04, Python 2.7,svn_client_status2
s'est écrasé sur un nom de fichier avec des caractères UTF-8 avec "Erreur (22): Erreur lors de la conversion de l'entrée dans le répertoire 'path' UTF-8" - la solution pour cela est d'appelersetlocale
avant tout appel à cette fonction.J'ai aussi réalisé il y a
svn_client_status3
etsvn_client_status4
dans l'API Python;svn_client_status3
est un peu différent en appel, et aussi des besoinssetlocale
. Cependant,svn_client_status4
ne doit PAS être utilisé - il de segmentation, car il a besoin d'un struct argument de Python ne peuvent pas livrer; pour en savoir plus, consultez #16027750 de Débogage: pas à pas dans le script Python à l'aide de gdb?.Pour conclure, voici l'Exemple 8.3 avec des paramètres régionaux qui utilise
svn_client_status3
- et ne crash pas sur mon système (même sur les noms de fichiers avec des caractères UTF-8):