注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

珠海渔郎之电子网档

项目管理 + 程序开发 + Delphi + 电脑应用 + 数码 + 进化感悟

 
 
 

日志

 
 

git中自动Code diff的批处理  

2012-07-13 00:34:24|  分类: 研发管理 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在敏捷开发管理中, 有个Code Diff的活动,就是每天把到前一天的代码增量拿出来团队一起Review一下,对大家学习和控制质量有一定的帮助。如果每天都要从git中提取代码来做的话,比较麻烦,尤其是要针对多个源码库,每个都要手动pull并diff,烦人。可以用一个脚本做到自动提取代码并打开diff文件,这样非常方便而且不容易出错,效率提高。

例如,假设我们每天17:00开始Code diff,那么可以用一个计划任务,运行下面的批处理就可以了,对于有多个源码库同时code diff的情况就更加方便!
注意,批处理最后的start %cdf%,你可以改成其他的支持diff语法着色的软件,比如TortoiseUDiff.exe,或者notepad++,或者git自带的bash中的vi等等。
请把批处理放在对应的源码目录的总目录下,如果有多个,本例中,源代码目录结构是:

git_source
   +--prj_git_1
   +--prj_git_2
+--prj_git_3
每个目录都是一个源码库,批处理会自动更新并获取差异,保存到codediff.diff文件中,请注意:批处理会获取当前时间前n天的代码差异以供审查,其中天数可以作为参数传递,默认为一天。git需要用ssh key方式,以避免输入用户名和密码需要人工干预。

@echo off
set days=%1
if "$%days%$"=="$$" (
set days=1
echo 自动更新和收集 Code diff 相关代码并打开 diff 文件
echo 用法:
echo codediff [天数]
echo 天数:检查多少天前的代码,默认为检查前一天的代码
echo 例如:
echo codediff 1 : 检查 1 天前的代码,周二到周五使用
echo codediff 3 : 检查 3 天前的代码,周一使用
echo.
echo -----------------
)

%~d0 > nul
cd %~dp0 > nul
set cdf=%~dp0\codediff.diff
echo. > %cdf%

echo 开始获取 %days% 天前的代码差异...
for /d %%i in (*) do (
echo 更新代码:%%i...
cd %%i
cmd /c git pull
git.exe whatchanged --since="%days% days ago" -p >> %cdf%
cd ..
)

start %cdf%


  评论这张
 
阅读(573)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017