svn 调用脚本(-)
admin
2023-08-02 04:40:07
0
#!/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

相关内容

热门资讯

唐驳虎丨SpaceX之后,长征... 作者丨唐驳虎核心提要1. 7月10日,长征十号乙遥一火箭从海南商业航天发射场升空,并成功完成一级海上...
格力电器取得一种列间空调专利,... 国家知识产权局信息显示,珠海格力电器股份有限公司取得一项名为“一种列间空调”的专利,授权公告号CN2...
时隔12年三星重启PC芯片业务... 7月10日消息,时隔12年,三星重新进入PC芯片赛道。据媒体报道,三星System LSI业务部正在...
台风来临前为何会晴热高温?权威... 台风好像总是和“狂风暴雨”联系在一起,但在台风“巴威”来临前,江浙沪为何仍晴热高温呢?江苏省气象台首...
沈阳本地滚筒式输送机定制覆盖哪... 工业输送设备定制的行业背景 现在国内制造业、流通业的智能化升级进程加快,据公开数据显示,2023年国...
商业航天3D打印需求爆发,A股... 7月10日,今年以来,国内主流3D打印服务商纷纷在商业航天展会上亮相,在火箭核心零部件制造领域进行“...
OpenAI最强AI模型:GP... OpenAI 公司今天(7月10日)发布公告,宣布在ChatGPT(聊天机器人)、Codex(主打编...
5G-A,重塑智慧文旅新生态 本报记者 窦瀚洋 游客乘坐电瓶船在浙江杭州西溪国家湿地公园观光。 杨 韬摄(人民视觉) 5G-A...
32岁程序员周末猝死后的200... 在广州视琨电子科技有限公司上班的32岁程序员高广辉于2025年11月29日(周六)猝死。猝死前一周工...
强台风“巴威”逼近台湾,蒋万安... 海峡导报综合报道 强台“巴威”持续逼近台湾,台北市长蒋万安9日晚表示,这次“巴威”台风是25年来暴风...