使用Python脚本提交多个SVN存储库?

时间:2016-08-09 09:46:26

标签: python svn command-line tortoisesvn

我最近一次对数十个项目文件夹进行了大量的脚本驱动的批量更新。不幸的是,我的尖头发老板坚持认为每个文件夹在其中一个批量编辑后单独提交给TortoiseSVN - 他希望每个文件夹都有不同的版本号。我是自动化恶魔,我转向脚本试图为我解决这个问题。这就是我正在尝试的:

import subprocess
import glob

for filepath in glob.glob("C:\eForms\*"):
    if ".svn" not in filepath:
        subprocess.call(['svn commit',filepath, '--message "<commit message here>"'], shell=True)

当我尝试运行它时,我得到The filename, directory name, or volume label syntax is incorrect.任何想法?

编辑:想想我解决了这个问题。我调整了语法,所以现在调用行读取subprocess.call(["svn", "commit",('"',filepath,'"'), '-m "<commit message>"'], shell=True)

现在我收到错误svn: E020024: Error resolving case of '"<filepath>"'

EDIT2:从文件路径中拉引号解决了这个问题。一切正常!

1 个答案:

答案 0 :(得分:0)

调用函数的正确语法结果为

subprocess.call(["svn", "commit", filepath, '-m "<commit message here>"'], shell = True)