svn 调用脚本(-)

#!/usr/bin/ptyhon
#coding:utf-8

class SvnCmd(object):

        #初始化属性,svnpath 为svn的全路径。
    def __init__(self,svnpath,tagname = ‘default‘):
        import commands
        import time
        self.svnpath = svnpath
        self.tagname = tagname
        self.time =  str(time.asctime( time.localtime(time.time())))
    
        #svn状态方法
    def svnst(self):
        import os
        import commands
        os.chdir(self.svnpath)
        status,r = commands.getstatusoutput(‘/usr/bin/svn st‘)[0],commands.getstatusoutput(‘/usr/bin/svn st‘)[1]
        return status,r
        
        #svn预提交方法
    def svnpreci(self):
        import os
        import commands
        os.chdir(self.svnpath)
        commands.getoutput(‘‘‘/usr/bin/svn st|grep -e ‘?‘ | awk ‘{print $2}‘|xargs svn add‘‘‘)
        commands.getoutput(‘‘‘/usr/bin/svn st|grep -e ‘!‘ | awk ‘{print $2}‘|xargs svn delete‘‘‘)
        status,r = commands.getstatusoutput(‘/usr/bin/svn st‘)[0],commands.getstatusoutput(‘/usr/bin/svn st‘)[1]
        return status,r
        
        #svn提交
    def svnci(self):
        import os
        import commands
        s.chdir(self.svnpath)
        cmd_svnci = ‘‘‘/usr/bin/svn st|grep -e ‘M‘ -e ‘A‘ -e ‘D‘|/bin/awk ‘{print \$2}‘|xargs svn ci -m "svn ‘‘‘ + self.time + ‘_‘ +  self.tagname  + ‘"‘
        print cmd_svnci
        commands.getoutput(cmd_svnci)
        #status,r =  commands.getstatusoutput(‘/usr/bin/svn st‘)[0],commands.getstatusoutput(‘/usr/bin/svn st‘)[1]
        result = commands.getstatusoutput(‘/usr/bin/svn st‘)
            status,r =  result[0],result[1]
            return status,r
    
    #svn更新
    def svnupdate(self):
        import os
        import commands
        os.chdir(self.svnpath)
        #status,r = commands.getstatusoutput(‘/usr/bin/svn update‘)[0],commands.getstatusoutput(‘/usr/bin/svn update‘)[1]
        result = commands.getstatusoutput(‘/usr/bin/svn update‘)
        status,r =  result[0],result[1]
        return status,r
        
        #svn版本号
    def svnrevision(self):
        import os
        import commands
        os.chdir(self.svnpath)
        #status,r = commands.getstatusoutput(‘/usr/bin/svn info‘)[0], commands.getstatusoutput(‘/usr/bin/svn info‘)[1].split(‘\n‘)[6]
        result = commands.getstatusoutput(‘/usr/bin/svn info‘)
        status,r = result[0],result[1].split(‘\n‘)[6]
        return status,r
        
        #svn更新时间
    def svnupdatetime(self):
        import os
        import commands
        os.chdir(self.svnpath)
        #status,r = commands.getstatusoutput(‘/usr/bin/svn info‘)[0], commands.getstatusoutput(‘/usr/bin/svn info‘)[1].split(‘\n‘)[-2]
        result = commands.getstatusoutput(‘/usr/bin/svn info‘)
        status,r = result[0],result[1].split(‘\n‘)[-2]
        return status,r
        
        #svn快速回退上一个版本,整个版本回顾,不是临时回滚
    def svnrollback(self):
        import os
        import commands
        lately_reversion = int(self.svnrevision()[1].split(‘: ‘)[1])
        last_reversion = int(lately_reversion) - 1
        os.chdir(self.svnpath)
        rollcmd = ‘/usr/bin/svn merge -r ‘ + str(lately_reversion) + ‘:‘ + str(last_reversion) + ‘ .‘
        print rollcmd
        result = commands.getstatusoutput(rollcmd)
        status,r =  result[0],result[1]
        return status,r
时间: 2024-07-30 13:44:44

svn 调用脚本(-)的相关文章

svn 调用脚本(三)

#!/bin/bash #example: #usrname='svnuser' #passwd='svnpassword' #svn_link="http://url/svn_dir" #svn_dir="target_dir" usrname=$1 passwd=$2 svn_link=$3 svn_dir=$4 svn_flag=".svn" cmd=$(rpm -qa|grep "expect") if [ $? -n

Shell学问: 调用脚本之间

于Java,Python于,您可以使用import该方法使脚本或模块之间的呼叫,例如: >>> import math >>> math.sqrt(4) 2.0 在Shell中要怎样调用别的shell脚本.或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh       方法二:   source ./subscript.sh 注意: 两个点之间,有空格.千万注意. 两个脚本不在同一文件夹.要用绝对路径 为简单起见,通经常使用第一种方法 比如:

svn 钩子脚本

#vim post-commit #!/bin/bash REPOS="$1"  REV="$2"  SVNLOOK="/usr/bin/svnlook" echo "`date +%F`" >> /tmp/post.log echo "REPOS=$1 REV=$2" >> /tmp/post.log echo -e "\[email protected][email p

python调用脚本或shell的方式

python调用脚本或shell有下面三种方式: os.system()特点:(1)可以调用脚本.(2)可以判断是否正确执行.(3)满足不了标准输出 && 错误 commands模块特点:(1). commands.getstatusoutput(cmd)用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result). cmd执行的方式是{ cmd ; } 2&get;&1, 这样返回结果里面就会包含标准输出和标准错误.(2). comman

nodejs调用脚本(python/shell)和系统命令

每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见http://nodejs.org/api/child_process.html,NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入.标准输出及标准错误输出的接口. NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入.标准输出及标准错误输出的接口 child.stdin 获取标准输入 child.

Python 远程调用脚本之 RPC

最近有个监控需求,需要远程执行集群每个节点上的脚本,并获取脚本执行结果,为了安全起见不需要账号密码登陆主机,要求只需要调用远程脚本模块的方法就能实现. 总结下python进行远程调用脚本方法: 登陆主机执行脚本,python模块支持如 pssh.pexpect.paramiko 以远程方法调用(不需要登陆主机),python模块 rpyc,支持分布式 socket 方式,稍显复杂,需要熟悉网络协议,起点比较高 rpyc支持远程调用.分布式计算,以较少代码量实现需复杂socket编程,本文主要介绍

Python SVN 更新 脚本

#configs PROJECTS = { "away3d":"svn://svnurl/away3d", "Away3DUCtrl":"svn://svnurl/Away3DUCtrl", "Editor":"svn://svnurl/Editor", "EditorUI":"svn://svnurl/EditorUI", "Skill

Unity加载prefab时调用脚本函数顺序

加载prefab时使用两个接口: GameObject objPrefab = Resources.Load(pathName) as GameObject; GameObject frame = NGUITools.AddChild(parent, objPrefab); //parent为对象需要挂载到的父节点对象 对象在被挂载到父节点上时,会调用脚本,分为两种情况: 1.prefab初始保存为Active状态 立刻按顺序触发 Awake, OnEnable 函数, 下一帧触发Start函数

【Android】使用persist属性来调用脚本文件

Android系统中有许多属性,属性由两个部分组成:name & value,可以使用这些属性来记录系统设置或进程之间的信息交换.Android系统在启动过程时会按序从以下几个文件中加载系统属性: 1./default.prop 2./system/build.prop 3./system/default.prop 4./data/local.prop 5./data/property/* 属性会按照以上文件的顺序进行加载,并且后加载的属性值会更新原先的属性值.在系统重启后,有的属性会消失,但可