Как использовать Subversion Ctypes Python Bindings? - PullRequest
4 голосов
/ 03 мая 2009

В Subversion 1.6 введено нечто, называемое «Связывание Python Ctypes», но оно не задокументировано. Имеется ли какая-либо информация, что это за привязки и как их использовать? Например, у меня свежая Windows XP и я хочу управлять SVN-репозиторием, используя subversiion 1.6 и эту таинственную привязку к python. Что именно мне нужно скачать / установить / скомпилировать, чтобы сделать что-то вроде

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

А как это связано с проектом pysvn? Это та же технология или разные технологии?

Ответы [ 3 ]

1 голос
/ 09 мая 2009

Вам нужен исходный дистрибутив Subversion, Python (> = 2.5) и ctypesgen .

Инструкции по созданию привязок ctypes: здесь .

В итоге вы получите пакет под названием csvn, примеры его использования здесь .

0 голосов
/ 03 мая 2009

Я изучил привязку к 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 голосов
/ 03 мая 2009

Смысл ctypes в том, что вам не нужно ничего где-либо компилировать. Тем не менее, в readme для привязок упоминаются некоторые зависимости и этап сборки.

Связывания можно найти как минимум в дистрибутиве источника Subversion, в subversion/bindings/ctypes-python/, с помощью distutils setup.py.

Кажется, что они являются преемниками / альтернативами pysvn.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...