python获取svn最新版本号

这个我自己遇到的一个需求,就是在打包软件的时候需要记录一下当前的svn版本号,以方便以后追述每个软件版本对应的程序代码。下面的代码亲测有效,希望可以给你提供思路。

def GetSvnHeadRevision(work_path):
  current_work_path = os.getcwd()
 os.chdir(work_path)

 revision = ''
 try:
   var = os.popen('svn info -r HEAD').read()
  info_list = var.splitlines()
  for str in info_list:
    if str.find('Revision:') >= 0:
     revision = re.findall("\d+", str)
    except:
    a = 1
      
 os.chdir(current_work_path)
 return revision

version = GetSvnHeadRevision(传入源代码根目录)

注意:

1:需要安装svn命令行工具(安装svn默认是不安装命令工具的,需要手动选择安装)

2:需要将svn\bin添加到环境变量,一般默认会添加,自己看一下,没有的话添加即可