如何使用Subversion Ctypes Python绑定?
Subversion 1.6引入了一种叫做“Ctypes Python绑定”的东西,但没有相关的文档。有没有什么信息可以告诉我们这些绑定是什么,以及怎么使用它?比如,我有一台全新的Windows XP电脑,想用Subversion 1.6和这些神秘的Python绑定来控制SVN仓库。我到底需要下载、安装或编译什么,才能做到类似下面的事情
import svn from almighty_ctype_subversion_bindings
svn.get( "\\rep\\project" )
这和pysvn项目有什么关系?是同一种技术,还是不同的技术呢?
3 个回答
-1
我查了一下Python和Subversion(一个版本控制工具)之间的连接,但最后发现直接调用svn.exe更简单,像这样:
(stdout, stderr, err) = execute('svn export "%s" "%s"' \
% (exportURL, workingCopyFolder))
这里的execute
是一个这样的函数:
def execute(cmd):
import subprocess
proc = subprocess.Popen(\
cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(stdout, stderr) = proc.communicate()
return (stdout, stderr, proc.returncode)
svn.exe的输出结果设计得很容易解析,如果需要的话。它甚至还有一个--xml的输出选项。
0
ctypes的主要目的就是让你不需要在任何地方编译东西。也就是说,虽然它很方便,但说明文档里提到了一些依赖关系和构建步骤。
这些绑定文件可以在Subversion的源代码包里找到,具体位置是subversion/bindings/ctypes-python/
,里面有一个distutils的setup.py文件。
它们看起来是pysvn的继任者或者替代品。