# -*- coding:utf-8 -*-
import subprocess
import xml.dom.minidom
ST_MISSING = "missing"
ST_MODIFIED = "modified"
ST_UNVERSIONED = "unversioned"
cmds = {ST_MISSING :"svn del \"{}\"",ST_UNVERSIONED:"svn add \"{}\""}
def runCmd(command):
ret = subprocess.run(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,timeout=1)
return ret
def svnCommit():
ret = runCmd("svn status --xml")
DOMTree = xml.dom.minidom.parseString(ret.stdout)
collection = DOMTree.documentElement
es = collection.getElementsByTagName("entry")
for entry in es:
statusNode = entry.getElementsByTagName("wc-status")[0]
filePath = entry.getAttribute("path")
status=statusNode.getAttribute("item")
# print(filePath + " = " + status)
if status in cmds:
cmd = cmds[status].format(filePath)
print(cmd)
runCmd(cmd)
runCmd("svn commit -m \"auto commit by python\" ")
svnCommit()
通过python获取svn状态
_Bruce2023-10-28 21:56
相关推荐
写代码的二次猿12 小时前
安装openfold(顺利解决版)Eward-an12 小时前
LeetCode 1980 题通关指南|3种解法拆解“找唯一未出现二进制串”问题,附Python最优解实现梦白.12 小时前
Python的容器类型@HNUSTer14 小时前
基于 Visual Studio Code 配置 Python 开发环境详细教程解道Jdon14 小时前
VSCode 2026年2月更新:技能市场、CLI、钩子支持tuotali202614 小时前
天然气压缩机技术2026,高可靠性长周期运行与智能运维融合路径Ama_tor14 小时前
Flask零基础进阶(中)love530love14 小时前
Windows 11 源码编译 vLLM 0.16 完全指南(RTX 3090 / CUDA 12.8 / PyTorch 2.7.1)进击的小头14 小时前
第3篇:最优控制理论数学基础——矩阵与向量的导数浩瀚之水_csdn14 小时前
Flask 深度解析:从微内核到企业级架构