我有一个用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代码中访问这些数据。
有什么想法吗?
答案 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)
显然不是最佳解决方案或“维护”解决方案,但它可以工作。