Как запускать команды SVN из python script? - программирование
Подтвердить что ты не робот

Как запускать команды SVN из python script?

В принципе, я хочу написать python script, который выполняет несколько действий, и один из них будет запускать проверку в репозитории с использованием subversion (SVN) и, возможно, преформировать еще пару команд svn. Какой лучший способ сделать это? Это будет работать как crond script.

4b9b3361

Ответ 1

Будет ли это работать?

p = subprocess.Popen("svn info svn://xx.xx.xx.xx/project/trunk | grep \"Revision\" | awk '{print $2}'", stdout=subprocess.PIPE, shell=True)
(output, err) = p.communicate()
print "Revision is", output

Ответ 2

Попробуйте pysvn

Предоставляет вам отличный доступ, насколько я его тестировал. Вот несколько примеров: http://pysvn.tigris.org/docs/pysvn_prog_guide.html

Причина, почему я говорю, насколько я ее протестировал, потому что я перешел на Git.. но если я вспомню pysvn (единственная и) лучшая библиотека для svn.

Ответ 3

Взгляните на модуль python xonsh: http://xon.sh/tutorial.html

Он может вызывать команды оболочки плюс конвейер и перенаправление вывода с близким касанием к собственному коду python (вложенному) без необходимости играть с python, чтобы обмениваться бульше и escape-символами.

<сильные > Примеры:

env | uniq | sort | grep PATH

COMMAND1 e>o < input.txt | COMMAND2 > output.txt e>> errors.txt

echo "my home is $HOME"

echo @(7+3)