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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名雅安服务器托管、营销软件、网站建设、陆良网站维护、网站推广。
标题名称:svn调用脚本(-)-创新互联
URL分享:http://myzitong.com/article/ddecii.html