如何从python脚本运行SVN命令?

时间:2013-05-15 19:31:48

标签: python svn

基本上我想编写一个执行多项操作的python脚本,其中一个将使用subversion(SVN)在存储库上运行checkout,并且可能会执行更多的svn命令。最好的方法是什么?这将作为一个crond脚本运行。

3 个答案:

答案 0 :(得分:19)

这会有用吗?

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

答案 1 :(得分:14)

尝试pysvn

就我测试它而言,为您提供了极佳的访问权限。 以下是一些示例:http://pysvn.tigris.org/docs/pysvn_prog_guide.html

为什么我说我测试它的原因是因为我已经转移到Git ..但如果我记得pysvn是(唯一的)最好的svn库。

答案 2 :(得分:0)

查看python xonsh模块:http://xon.sh/tutorial.html

它可以调用shell命令加上管道和输出重定向,并与python本机代码(嵌套)保持密切联系,而无需使用python通信bullshet和转义字符。

<强>实施例

env | uniq | sort | grep PATH

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

echo "my home is $HOME"

echo @(7+3)