转载请标明出处: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的更多相关文章

  1. Windows系统下安装Python的SSH模块教程

    Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是 ...

  2. windows系统下搭建Python开发环境

    1.首先下载最新的Python http://www.python.org/download/,我下载的是最新的Python3.5.1 2.下载完成之后开始安装,安装就比较简单了,一路下一步. 3.安 ...

  3. windows系统下发布python模块到pypi

    1. 在pypi.python.org网站注册一个用户,记住用户名和密码. 2. 编写需要上传模块的源代码,文件名为:skyersfirstpythonmodule.py 3. 新建文件夹,名称为sk ...

  4. python起步--windows系统下安装python解释器和PyCharm

    参考教程: 1)https://www.runoob.com/w3cnote/pycharm-windows-install.html 2)https://blog.csdn.net/c_shell_ ...

  5. Ubuntu系统下搭建Python开发环境

    之前演示了在Windows中安装Pycharm,很简单.下面介绍一下如何在Ubuntu中安装Pycharm 1.更新Python至3.5.1,执行以下命令: sudo add-apt-reposito ...

  6. Windowns系统下搭建python环境

    本文介绍下在windows系统下安装python和python环境搭建. 安装PYTHON 首先,我们去python的官方网站下载python安装包.官网地址:https://www.python.o ...

  7. 如何用python在Windows系统下,生成UNIX格式文件

    平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮嘱我:“文件中凡是遇到换行,换行符必须是UNIX下的LF,而不是 ...

  8. windows系统下jenkins环境搭建与基本使用

    一. windows 系统下搭建jenkins环境 1.1 jenkins环境搭建和构建job流程图 1.2 安装jdk JDK下载地址:  http://www.oracle.com/technet ...

  9. 从零开始Windows环境下安装python+tensorflow

    从零开始Windows环境下安装python+tensorflow 2017年07月12日 02:30:47 qq_16257817 阅读数:29173 标签: windowspython机器学习te ...

随机推荐

  1. java集合之ArrayList,TreeSet和HashMap分析

    java集合是一个重点和难点,如果我们刻意记住所有的用法与区别则是不太现实的,之前一直在使用相关的集合类,但是没有仔细研究区别,现在来把平时使用比较频繁的一些集合做一下分析和总结,目的就是以后在需要使 ...

  2. java编程思想-第13章-某些练习题

    . 匹配任意一个字符 * 表示匹配0个或多个前面这个字符 + 表示1个或多个前面这个字符 ? 表示0个或1个前面这个字符 ^ 表示一行的开始 ^[a-zA-Z] :表示开头是a-z或者A-Z [^0- ...

  3. ranker_worker.go

    package         outputDocs, numDocs := engine.rankers[shard].Rank(request.docs, request.options, req ...

  4. Elasticsearch笔记九之优化

    Elasticsearch笔记九之优化 ).get(); } curl命令可以在linux中建立一个定时任务每天执行一次,同样java代码也可以建立一个定时器来执行. 2:内存设置之前介绍过es集群有 ...

  5. 阿里巴巴的开源项目Druid(关于数据库连接)

    1 配置 和dbcp类似,druid的常用配置项如下 配置 缺省值 说明 name   配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来.如果没有配置,将会生成一个名字,格 ...

  6. op.go

    package } ) : : : ,: ,: : : ,: ,: : : ,: ,: ;; ] )} } minutes when there is no incoming events. // P ...

  7. 解锁 vmware esxi 6.7 并安装 mac os 10.13

    1.安装 esxi 6.7 2.下载 unlocker 2.1.1.zip 3.上传 unlocker 2.1.1.zip esxi的磁盘中 4.开启esxi的ssh登录 5.使用 ssh 登录 es ...

  8. linux学习之路(2)

    1.输入输出重定向  输入重定向中用到的符号及其作用 命令 < 文件 将文件作为命令的标准输入 命令 << 分界符 从标准输入中读入,直到遇见分界符才停止 命令 < 文件 1 ...

  9. Git详解及github与gitlab使用

    第一章 关于版本控制 第二章 GIT简介 第三章 GIT安装 第四章 初次运行GIT前配置 第五章 初始化仓库 第六章 GIT命令操作 第七章 GIT分支结构

  10. sudo apt-get update: 0% [正在等待报头]

    问题描述:使用apt-get下载一个文件,由于下载的太慢,使用Ctrl+C强制结束.然后输入sudo apt-get update,想继续下载其他文件.结果出现如标题所示的错误,截图如下:按照网上说的 ...