• 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:SVNin',
        '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')

    在命令行中执行,可以得到:

    后续可以在此基础上进一步的完善和迭代,今天的小记就到这儿~

  • 相关阅读:
    webpack详解
    扩展运算符及其在vuex的辅助函数里的应用详解
    react组件间传值详解
    类的构造函数(3)
    类构造函数(4)
    new delete
    类的构造函数(1)
    类的构造函数(2)
    类的继承(1)
    静态成员数据与函数
  • 原文地址:https://www.cnblogs.com/zblade/p/9380845.html
Copyright © 2020-2023  润新知