Python 如何比较本地版本和存储库SVN版本?
我有一个用Python编写的程序。 我使用SVN向用户部署更改。 在某些情况下,SVN会卡住,更改不会下载到用户计算机。在这种情况下,我需要手动执行Python 如何比较本地版本和存储库SVN版本?,python,svn,Python,Svn,我有一个用Python编写的程序。 我使用SVN向用户部署更改。 在某些情况下,SVN会卡住,更改不会下载到用户计算机。在这种情况下,我需要手动执行SVN清理。问题是我不知道哪个电台有哪个版本。因此,用户继续使用导致问题的旧版本 我想写一段代码,在程序午餐时,它会将本地SVN版本与服务器进行比较,如果不匹配,就会出现一条消息 我已成功编写了获取服务器版本的代码: import re,subprocess svn_info = subprocess.check_output("svn info s
SVN清理
。问题是我不知道哪个电台有哪个版本。因此,用户继续使用导致问题的旧版本
我想写一段代码,在程序午餐时,它会将本地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代码中访问这些数据
有什么想法吗?我建议使用“维护”的python SVN包装器,而不是自己解析外部命令的文本结果。看看。两年后,我想要同样的东西。我制作此文件是为了获得python中的本地SVN版本: import os getSVNversion=os.popen('svnversion .').read() revision=''.join(c for c in getSVNversion if c.isdigit()) print(revision) 导入操作系统 getsversion=os.popen('sversion').read() revision=''.join(如果c.isdigit(),则在getsversion中c代表c) 印刷(修订)
显然不是最好的解决方案或“维护”解决方案,但它是有效的 我认为不需要只为两个整数安装一个包。这张照片是给我的。。它不会出现在代码本身中。。。。我需要知道本地svn版本的方法。你能帮忙吗?:)是的,你是对的,这只是个人的观点,没有必要就这么一个小的设计问题进行无休止的辩论;-)为了回答您的问题,我相信svn信息(没有svn地址)提供了本地版本。但是我有一段时间没用了,所以我可能弄错了。编辑抱歉,刚才看到你编辑了你的问题…svn信息确实给出了答案,但当我手动操作时,它会起作用,因为我在正确的目录中。。。如果我在python中这样做,它会告诉我:svn:warning:“.”不是有效的copyOk。因此,您可以尝试os.chdir()。或者,您可以尝试使用svn info子进程来传递cd/youpath:我发现第一个cleaner.os.chdir()对我没有帮助。。。我不想改变任何道路。。。一切正常,我只是尝试访问信息。。。关于链接,我不知道如何使用它?