Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18677
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 123
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-16 09:14
文章分类

全部博文(14)

文章存档

2014年(2)

2013年(12)

我的朋友

分类: 项目管理

2013-09-24 13:01:08

转自:http://crazycode.iteye.com/blog/311564
现在有个项目,在一天的开发中,被某个工程师引入了一个bug,取系统并发上不去,直接锁死数据库连接。项目使用java平台,在svn上进行版本管理。我不想一个个版本code review排查,就想到了最暴力折半版本查找法,当然,在svn上做意味着要一个个版本checkout出来,这么大的项目,也是很费时的,这时,git-bisect是我唯一的选择了。

首先,把svn库导出为git库:
  $ git svn clone -s
然后,开始git bisect:
  $ git bisect start
标记当前版本为错误:
  $ git bisect bad
找到前一天的版本,做了一个tag(tag20090106),测试为正确的,标记一下:
  $ git bisect good  tag20090106
这时git会告诉你选取了一个中间版本,这时就开始编译,测试,如果不通过,执行:
  $ git bisect bad
git会用折半方法再向前找一个中间版本,开始编译,测试,如果通过,执行:
  $ git bisect good
git将继续定位revision,直到最后定位到一个引入错误的版本,这时再分析原因,再找惹麻烦的工程师PK,PK完了回来收工执行:
  $ git bisect reset
git将返回到当前的HEAD
阅读(353) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~