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

如何从python脚本运行SVN命令?,python,svn,Python,Svn,基本上,我想编写一个python脚本,它可以做几件事,其中之一就是使用subversion(SVN)在存储库上运行签出,也许还可以执行几个SVN命令。最好的方法是什么?这将作为crond脚本运行。请尝试 就我测试过的情况来看,它给你提供了很好的访问权限。 以下是一些例子: 我之所以这么说,是因为我已经转到Git了。。但是如果我记得pysvn是svn(唯一也是)最好的库。这样行吗 p = subprocess.Popen("svn info svn://xx.xx.xx.xx/project/tr

基本上,我想编写一个python脚本,它可以做几件事,其中之一就是使用subversion(SVN)在存储库上运行签出,也许还可以执行几个SVN命令。最好的方法是什么?这将作为crond脚本运行。

请尝试

就我测试过的情况来看,它给你提供了很好的访问权限。 以下是一些例子:

我之所以这么说,是因为我已经转到Git了。。但是如果我记得pysvn是svn(唯一也是)最好的库。

这样行吗

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

查看python xonsh模块:

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

示例

env | uniq | sort | grep路径

command1e>ooutput.txt e>>errors.txt

echo“我家是$home”


echo@(7+3)

你看了吗?我不需要它,但谢谢你的提示。这就是我一直在寻找的答案。Thanks@Ricardo如果要使用这种技术,我认为如果输出被请求为XML,则会更简单。类似于
svn-info--xml
。实际上,subversion有两个python模块:pysvn和svn(subversion C lib周围的SWIG lib):根据您的尝试,大多数人都使用pysvn。现在有一条消息警告说,pysvn站点似乎很快就会消失“2020-03-13:该站点将很快退役并关闭。请尽快复制并归档您希望保留的任何数据”。