如何从python远程轮询subversion历史/日志?

2024-10-02 16:33:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要找到分支的第一个提交者,而不必对所有分支执行签出操作。 从命令行很容易做到:

svn log -v --stop-on-copy http://subversion.repository.com/svn/repositoryname

我需要用python脚本来做这个,知道怎么做吗?我检查了python subversion绑定,但是我不知道如何去做,即使它看起来是可以做到的。在

任何帮助都将不胜感激。在


Tags: 命令行脚本comloghttponrepository分支
2条回答

另一个选择是使用OS包在Python中使用命令行调用。在

import os
//cmd = 'ls -l /usr/bin'
cmd = ('svn log -v  stop-on-copy http://subversion.repository.com/svn/repositoryname')

os.system(cmd)

请注意,如果您想从同一个操作系统包中实际捕获使用Popen所需的信息,那么这只会进行调用。在

您可以使用Python的^{}模块:

from subprocess import Popen, PIPE
p = Popen('svn log -v  stop-on-copy http://subversion.repository.com/svn/repositoryname',
          stdout=PIPE)
stdout, stderr = p.communicate()

这样您就可以运行任何想要的SVN命令:只需检查stdout(也许还有stderr)就可以得到命令的结果。然后可以使用例如regex来解析检索到的数据:

^{pr2}$

相关问题 更多 >