import time, os, sys
import jenkins.autoJenk as auto
class CheckSvn():
def getSvnUrl(self):
# 需要剪切的项目svn地址,这里包含了需要剪切的多个svn地址,如下图
svn_host = 'C:\\onw-project\\branch_svn_url.txt'
with open(svn_host, "r") as f:
read = f.readlines()
for url in read:
# 去除换行
if url == '\n':
read.remove(url)
return read
def checkOut(self, setting, svnlist):
dist = setting['dist']
for svn_url in svnlist:
# 这里可能会出现换行情况
svn_url = str(svn_url).replace("\n", "")
post = str(svn_url).rfind("/")
path = svn_url[post + 1:]
setting['url'] = svn_url
if path == '':
continue
setting['dist'] = str(dist + "\\" + path)
# print(setting['dist'])
cmd = 'svn export %(url)s %(dist)s --username %(user)s --password %(pwd)s' % setting
os.system(cmd)
if __name__ == '__main__':
aut = auto.AutoJenkinsBranch()
aut.printLog("开始执行导出svn")
setting = {
# svn 的本地安装路径
'svn': 'D:\\subversion\\bin',
# 需要下载的svn文件
"url": '',
# svn账号
"user": '*****',
# svn密码
"pwd": '****',
# 下载到的路径
"dist": "C:\\onw-project\\branch\\2.12"
}
check = CheckSvn()
os.chdir(setting['svn'])
url = check.getSvnUrl()
check.checkOut(setting=setting, svnlist=url)
aut.printLog("剪切项目到本地结束")
pass
使用Python导出svn中的项目
最新推荐文章于 2026-07-04 10:37:50 发布
本文介绍了一种使用Python脚本批量从SVN仓库中导出项目的自动化方法。通过读取包含多个SVN地址的文本文件,脚本将逐一导出指定的项目到本地目录,同时处理可能存在的换行符问题。
682

被折叠的 条评论
为什么被折叠?



