reviewboard + svn 进行代码审核和版本控制

代码评审(Code Review)不但可以提高质量,而且还是一个知识共享和指导的极好的手段。

代码评审(CodeReview)一般有两种形式:pre-commit-review,post-commit-review。

pre-commit-review是指代码提交到代码库进行代码评审;

post-commit-review是指代码提交到代码库进行代码评审。

一般公司企业都使用pre-commit-review,使库上代码更高效有质量。post-commit-review可以作为知识共享的途径。

ReviewBoard是一个开源的基于web的代码评审工具,支持Subversion,CVS,Git和Mercurial版本控制系统。

svn可以通过post-commit hook与ReviewBoard集成,实现post-commit-review。

同时也可以通过pre-commit hook与reviewboard 集成,实现pre-commit-review。目前公司采用这种方式来实现code review。通过post-commit hook实现邮件方式通知相关reviewer,实现post-commit-review。

post-commit hook/pre-commit hook是SVN的hook接口,用于功能拓展。实现SVN与其他软件交互,实现复杂的功能。

post-commit-review为例,其实现原理为:

用户在提交代码至svn完成后触发pre-commit hook脚本

在svn post-commit hook中调用RBtools(RBtools是ReviewBoard官方提供的python命令行工具。它是用python API与ReviewBoard进行交互。)的rbt post命令连接ReviewBoard,check reviewboard 状态是否符合条件。如 spit it 人数大于两人/是否提交了diff.patch文件。等等。这些条件都可以通过脚本实现。




你可能感兴趣的:(linux)