如何使用subversion Ctypes Python Bindings?

时间:2009-05-02 20:18:33

标签: python svn

Subversion 1.6引入了一些名为“Ctypes Python Binding”的东西,但没有记录。是否有任何可用信息,这些绑定是什么以及如何使用它?例如,我有一个新的Windows XP,并希望使用subversiion 1.6和这个神秘的python绑定来控制SVN存储库。我需要下载/安装/编译才能执行类似

的操作
import svn from almighty_ctype_subversion_bindings
svn.get( "\\rep\\project" )

这与pysvn项目有何关联?这是相同的技术还是不同的技术?

3 个答案:

答案 0 :(得分:1)

您需要Subversion源代码分发,Python(> = 2.5)和ctypesgen

构建ctypes绑定的说明是here

您最终会得到一个名为csvn的软件包,其使用示例为here

答案 1 :(得分:0)

ctypes的全部意义在于你不需要在任何地方编译任何东西。也就是说,绑定的自述文件提到了一些依赖关系和构建步骤。

绑定可以在Subversion源代码分发中找到,至少在subversion/bindings/ctypes-python/中使用distutils setup.py。

它们似乎是pysvn的继承者/替代品。

答案 2 :(得分:-1)

我查看了用于subversion的python绑定,但最后我发现像这样调用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输出选项。