windows系统下用python更新svn和Git
转载请标明出处:http://www.cnblogs.com/zblade/
最近在思考怎么实现python的一键打包,利用python的跨平台特性,可以实现在windows和mac下均可执行的特点。要对游戏工程进行打包,那么就需要将游戏工程进行更新,然后才执行打包。目前项目中采用了SVN和Git并行开发的模式,那么就需要既更新svn,又要更新Git,所以调研了一下如何用Python脚本来执行相关的命令,更新SVN和Git对应的工程。
对于SVN,首先需要配置SVN的相关信息: SVN软件所在地址,SVN的url路径,本地svn工程的路径,以及svn操作的选项,可以单独写一个配置的python脚本,简易版本如下:
# -*- coding: utf-8 -*-
setting = {
'svn': r'D:\SVN\bin',
'url':'your svn path ', #svn的url, 可以在svn check中查找到
'dist':'your local svn project path', #本地的svn工程所在路径,注意python中路径用左向斜杠,也可以前面加r,然后用右向斜杠
'closeOption':' /closeonend:1'
}
# /closeonend:0 不自动关闭对话框
# /closeonend:1 如果没发生错误则自动关闭对话框
# /closeonend:2 如果没发生错误和冲突则自动关闭对话框
# /closeonend:3 如果没有错误、冲突和合并,会自动关闭
# /closeonend:4 如果没有错误、冲突和合并,会自动关闭
对于Git来说,执行完Git的安装后,在系统的环境变量中,在path中增加Git的路径,就可以在cmd中执行git的相关命令:

然后在命令行中输入git,可以得到:

说明Git安装正确,同时可以支持pull/push等基本命令操作,那么在python脚本中也可以执行这样的操作,写了一个简易版本的python脚本,集合svn和git的更新于一体:#!/user/bin/python#coding = utf-8
import os
import time
import configs dist = configs.setting['dist']
#先切换到git工程所在目录
os.chdir('D:/client')
#git pull命令
cmd = 'git pull'
result = os.system(cmd) os.chdir(configs.setting['svn'])
#此处这个path后面必须有空格,不然svn update会path路径报错
#svn revert 命令
cmd = 'TortoiseProc.exe /command:revert /path ' + dist + ' /notempfile' + configs.setting['closeOption']
result = os.system(cmd)
#svn update命令
cmd = 'TortoiseProc.exe /command:update /path ' + dist + ' /notempfile' + configs.setting['closeOption']
result = os.system(cmd) if result == 0:
print('svn update succes')
else:
print('svn update fail')
在命令行中执行,可以得到:

后续可以在此基础上进一步的完善和迭代,今天的小记就到这儿~
windows系统下用python更新svn和Git的更多相关文章
- Windows系统下安装Python的SSH模块教程
Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是 ...
- windows系统下搭建Python开发环境
1.首先下载最新的Python http://www.python.org/download/,我下载的是最新的Python3.5.1 2.下载完成之后开始安装,安装就比较简单了,一路下一步. 3.安 ...
- windows系统下发布python模块到pypi
1. 在pypi.python.org网站注册一个用户,记住用户名和密码. 2. 编写需要上传模块的源代码,文件名为:skyersfirstpythonmodule.py 3. 新建文件夹,名称为sk ...
- python起步--windows系统下安装python解释器和PyCharm
参考教程: 1)https://www.runoob.com/w3cnote/pycharm-windows-install.html 2)https://blog.csdn.net/c_shell_ ...
- Ubuntu系统下搭建Python开发环境
之前演示了在Windows中安装Pycharm,很简单.下面介绍一下如何在Ubuntu中安装Pycharm 1.更新Python至3.5.1,执行以下命令: sudo add-apt-reposito ...
- Windowns系统下搭建python环境
本文介绍下在windows系统下安装python和python环境搭建. 安装PYTHON 首先,我们去python的官方网站下载python安装包.官网地址:https://www.python.o ...
- 如何用python在Windows系统下,生成UNIX格式文件
平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮嘱我:“文件中凡是遇到换行,换行符必须是UNIX下的LF,而不是 ...
- windows系统下jenkins环境搭建与基本使用
一. windows 系统下搭建jenkins环境 1.1 jenkins环境搭建和构建job流程图 1.2 安装jdk JDK下载地址: http://www.oracle.com/technet ...
- 从零开始Windows环境下安装python+tensorflow
从零开始Windows环境下安装python+tensorflow 2017年07月12日 02:30:47 qq_16257817 阅读数:29173 标签: windowspython机器学习te ...
随机推荐
- web项目部署到本地tomcat时,运行tomcat的startup.bat一闪而过
在eclipse里面启动tomcat时都是正常的,打成War包后,也无法自动解压,百度了好多方法均尝试失败,然后看到了下方的百度经验,配完环境变量后,tomcat可以正常启动了.如下为步骤: 1. 遇 ...
- BZOJ_2580_[Usaco2012 Jan]Video Game_AC自动机+DP
BZOJ_2580_[Usaco2012 Jan]Video Game_AC自动机+DP Description Bessie is playing a video game! In the game ...
- NOIP2017 酱油送命记
Day0 一天,在机房,有点考前的紧张和慌张,打了一下午的模板,立了3个不该立的flag... Day1 拿到试题,万分紧张,T1是数论啊 害怕,一直以为D2T1才是数论,仔细观察却发现(flag1: ...
- Java线程与Linux内核线程的映射关系
Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程. Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是 ...
- java 基础知识小结
1. java 有三个求整的函数 math.floor () (floor 是地板的意思) 向下求整 math.ceil () (ceil 是天花板的意思 ) 向上求整 math.round() ...
- java Dated Dateformat Calendar
Date类概述 类Date表示特定的瞬间,精确到毫秒.1000毫秒=1秒 时间的原点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0 注意:时间和日期的计算,必须依赖毫秒值 long ...
- 关于throw、throws、try--catch的问题
首先回顾概念 throws表示出现异常的一种可能性,并不一定会发生这些异常 throw则是抛出了异常,执行throw则一定抛出了某种异常 try--catch try语句用大括号{}指定了一段代码,该 ...
- 发现了一个非常棒的pyqt5的例子集
发现了一个非常棒的pyqt5的例子集 https://github.com/892768447/PyQt 各种各样的PyQt测试和例子 [Python3.4.4 or Python3.5][PyQt5 ...
- 关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法.变量. 在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在j ...
- Vue学习小结(一)安装依赖与数据来源
不多说啥了,生活中都是各种阵痛与惊喜.最近在学习vue框架,刚写完一个小型的后台管理系统(https://github.com/michaelzhengzm/info-manager-systerm_ ...