Como executar comandos SVN a partir de um programa em python?

basicamente eu quero escrever um script em python que faz várias coisas e uma delas será executar um checkout em um repositório usando o subversion (SVN) e talvez preform mais alguns comandos do svn. Qual é a melhor maneira de fazer isto ? Isto vai ser executado como um script crond.

 17
Author: Ricardo Parro, 2013-05-15

3 answers

Isto funcionaria?
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
 19
Author: ovidoo83, 2013-05-15 20:33:13

Tentar pysvn

Dá-te um grande acesso até onde eu o testei. Aqui estão alguns exemplos: http://pysvn.tigris.org/docs/pysvn_prog_guide.html A razão pela qual estou a dizer que até onde o testei é porque me mudei para o Git.. mas se bem me lembro, o pysvn é (o único e) a melhor biblioteca para o svn.
 14
Author: Torxed, 2013-05-15 19:35:51

Dê uma olhada no módulo python xonsh: http://xon.sh/tutorial.html

Ele pode chamar comandos shell mais o redirecionamento de piping e saída com o toque próximo do código nativo python (aninhado) sem necessidade de brincar com python comunicar bullshet e escape caracteres em torno.

Exemplos:

env | uniq | sort | grep PATH

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

echo "my home is $HOME"

echo @(7+3)

 0
Author: Andry, 2017-06-29 11:56:19