#!/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
svn 调用脚本(-)
原创
©著作权归作者所有:来自51CTO博客作者8375899的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:安装 python2.7.10
下一篇:svn 调用脚本(二)
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Nacos服务调用(基于Openfeign)
Nacos服务调用(基于Openfeign)
Nacos Openfeign springCloud -
跟踪Qt信号、槽调用
跟踪Qt信号、槽调用
c++ 跟踪信号槽调用 Qt -
svn备份脚本
Subversion的备份脚本. 在这里备份一下. 在地备份完成之后,再通过ftp传送一份至远程备份机.
职场 svn backup 休闲 -
svn 钩子脚本
svn钩子
svn 脚本 钩子 -
svn回滚脚本
用于svn代码回滚操作
svn 回滚 -
监控svn的脚本
监控svn的脚本
监控 svn脚本 -
SVN 批量备份脚本
SVN 批量备份脚本
SVN 脚本 批量备份