首先登录,点击New Review Request -> 选择项目 -> 上传diff文件 ->填写summary、description、TestingDone、branch、Group、People -> Publish 发布出去:
Review Board支持pre-commit review和post-commit review两种模式,简单的说,就是先review再提交还是先提交代码再做review。每种模式都不做强制设定,每个项目组可以自定义review流程
两种模式主要区别于diff的获取方式:
git diff --full-index > d.diff 生成未提交的diff文件,发起review请求,通过后执行提交
git diff [git版本号] [git版本号] > d.diff 先提交到git,在生成diff文件,发起review请求
*git diff 忽略某些文件 若是diff中的版本号git仓库中没有会报git catfile错误,可删除这些
最近遇到这样的需求:我需要把某两次提交之间的代码变化diff出来,给另外一位童鞋去apply,但是diff的时候我又想忽略其中某几个文件(比如:自动化生成出来的类似build.js,dist.js之类的文件)。于是鼓捣了一番,找到了如下解决办法:
- 设置git-diff 自定义driver
- 在gitattributes中设置要忽略的路径和规则,使得对build.css和build.js做git-diff的时候有直接掉过的效果
设置git-diff driver
git支持自定义diff驱动器(见其中diff.driver.command的说明),意思是说git-diff的时候可以指定一个命令去跑,而不是跑内置的。有了这个配置支持,我们就可以设置如下nodiff的指令(在项目根路径):
git config diff.nodiff.command /usr/bin/true
这个指令干嘛呢?这个指令什么都不干,直接返回true(/usr/bin/true),这样就有了类似跳过的效果。
设置git attributes
关于git attributes可以直接看官方文档说明 ,我们利用这个特性在项目根目录中,创建一个.gitattributes文件,并添加如下配置:
build.css diff=nodiff build.js diff=nodiff
好了现在我们就可以连起来理解了,当我们运行git diff命令的时候,git就会读取.gitattributes的配置,然后发现遇到build.css和build.js文件的时候,需要执行nodiff指令,而nodiff指令被我们此前配置成了/usr/bin/true直接返回true,于是,就直接“跳过”了。
这里文件路径的配置和.gitignore是一样的,支持目录,文件,通配符之类的,可以轻松实现忽略一批文件或者整个目录。
*大部分windows适应此方式,需要进行较多手动操作。简便的是方式是安装RBTools,参考博客
1. python 2.x,最好是2.7。众所周知,python 3.0有重大变化,2.x的脚本无法在3.0上运行。
2. 安装python setuptools Installer from https://pypi.python.org/pypi/setuptools#windows
然后将python27目录和python27Scripts目录加到环境变量PATH中去。
3. 将文件ez_setup.py从 http://peak.telecommunity.com/dist/ 复制到客户端本地。
4. 从命令行窗口运行:python ez_setup.py
http://www.reviewboard.org/docs/manual/1.7/users/tools/post-review/在git上创建了一个topic branch来完成某个功能或修改某个问题点,完成后提交review,只要在这个分支上输入命令post-review即可,系统会自动将分支创建以来的所有修改和在一起,发到server上创建一个review request。
- 如果你只想请人review你在master分支上做的最近一次提交,只需命令
post-review --parent=HEAD^
- 如果你想请人review master分支上最近的多次提交,例如最近的四次提交,只需要输入
post-review --parent=HEAD~4
- 如果你想请人review master分支上任意时间段内的的多次提交,只需输入post-review --revision-range=STARTREV:STOPREV或者post-review --revision-range=REVNUM提交历史上的某一个版本
- 如果你想针对review的结果进行修改,并再次提交review,只需输入
post-review -r 54,其中54是review board页面上显示的review request number
8. 通常在运行post-review命令时,系统都会要求输入review board的登录账号(用户名/密码),为了避免重复输入,可以编辑本地git repository的.git目录下的config文件,在[alias] section中加上一行:post-review = !post-review --guess-summary --guess-description --username=<YOUR USERNAME> --password=<your password>
这样,以后需要运行post-review的地方就直接换成git post-review,这样就再也不用输入用户名和密码了。