自动从svn log中逐一分析是否修改过某字符串
来源:互联网 发布:pdf修改器mac版 编辑:程序博客网 时间:2024/06/08 10:44
刚才我在n个月前待过的一个组的同学问我的某个文件的某几行代码是不是我提交的,为什么要那么写。在感慨岁月不饶人记忆力急剧衰退的同时,我也发出了这样的疑问,这玩意是我造的么,怎么看都不像啊。看着这个文件上百次的svn提交log,一阵晕,这要找到,得等到新玛雅历了。。。我决定还是来段脚本吧。
#!/usr/bin/python# -*- coding:utf-8 -*-'''先取最新100个记录,如果还没找到,从上一次批量查询里最老版本号,继续增量往前找。'''import osimport sysimport readlinesvnpath = "http://svn.xx.com/xxxxx/../xx.cc";step=100pattern = "pthread_mutex_lock"def thankyou(): print "thank you, bye." sys.exit()def seek(_vers, _filepath, _pattern): for i in range(len(_vers)-1): content = "" isfound = False cmd = "svn diff -r%s:%s %s" % (_vers[i+1], _vers[i], _filepath) for line in os.popen(cmd) : content += line if line.find(_pattern)>=0 : isfound = True if isfound: print content while True : try: cmd = raw_input("Continue?(Y/N)") except EOFError: thankyou() except KeyboardInterrupt: thankyou() if cmd.upper() == 'Y': break else: thankyou()def getvers(_ver, _step, _filepath): _vers = [] if _ver: cmd = "svn log --quiet -r%d:1 --limit %d %s | grep -o -e 'r[0-9]\+'" % (_ver, _step, _filepath) else: cmd = "svn log --quiet --limit %d %s | grep -o -e 'r[0-9]\+'" % (_step, _filepath) for line in os.popen(cmd): _vers.append(line.strip()[1:]) return _versif __name__ == "__main__": lastver = 1 while lastver: lastver -= 1 versions = getvers(lastver, step, svnpath) lens = len(versions) if lens : seek(versions, svnpath, pattern) if lens == step: lastver = int(versions[lens-1])+1 else: lastver = 0
- 自动从svn log中逐一分析是否修改过某字符串
- 找出svn log中修改过的文件
- 从字符串中提取逐一提取数字id
- SVN服务器修改log
- svn 修改log信息
- SVN设置自动填写log
- 修改SVN中的Log信息
- 修改SVN中的Log信息
- 修改svn的log信息
- 匹配一个字符串是否在一组字符串中出现过,以及出现过几次
- 彩色的LOG你是否见过!!!
- 从svn log中提取版本号以及时间(从重复行中取出一行)
- 从log中分析Android wif连接状态的方法
- 从log中分析Android wif连接状态的方法
- Python 判断一个字符串是否在列表中任何一个字符串中出现过
- 定时查看svn log,邮件自动通知
- 修改 SVN 提交 LOG 默认编辑器
- 如何修改已经提交SVN的log
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
- 设计模式之组合
- 【转载】Post与get传输的九大秘密
- Va_list
- Android NDK static shared library
- 自动从svn log中逐一分析是否修改过某字符串
- g高斯反算及求hm
- mapinfo 100阶乘小程序
- 成绩分级,MapInfo小程序
- 创建工作空间
- 闭合导线平差计算(表面)
- surpermap is.net 的demo无法浏览
- is.net浏览网页问题
- supermap桌面软件技巧