如何比较本地和存储库SVN修订版?

时间:2017-02-21 11:30:11

标签: python svn

我有一个用Python编写的程序。 我使用SVN为用户部署更改。 在某些情况下,SVN卡住,更改不会下载到用户计算机。在这种情况下,我需要手动执行SVN CLEANUP。问题是我不知道哪个站有哪个版本。因此,用户继续处理导致问题的旧版本。

我想编写一个代码,在程序午餐时它会将本地SVN版本与服务器进行比较,如果不匹配则会显示消息。

我设法编写了获取服务器修订版的代码:

import re,subprocess
svn_info = subprocess.check_output("svn info svn_address")
print (re.search(ur"Revision:\s\d+", svn_info)).group() 

但我不明白如何进行本地修订才能进行比较。

如果我转到SVN本地文件夹并执行:

svn info

我看到了本地版本。但我不知道如何在python代码中访问这些数据。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我建议使用“维护”的python SVN包装器,而不是尝试自己解析外部命令的文本结果。看看here

答案 1 :(得分:0)

两年后我想要同样的东西。我生成此文件是为了在python中获取本地SVN版本:

import os
getSVNversion=os.popen('svnversion .').read()
revision=''.join(c for c in getSVNversion if c.isdigit())
print(revision)

显然不是最佳解决方案或“维护”解决方案,但它可以工作。