我们通常在单独的svn分支上开发新功能。 完成功能后,另一个人会审查该分支的“更改。”
我使用带有psvn的emacs。 svn-status非常方便。
它标记了本地(未提交)更改之间的更改。
ediff
很容易看到与 svn-status 模式缓冲区的所有差异。
通常我会采取这些措施来简化对其他同事工作的审核:
svn co [svn-branch-url] # get his branch locally
cd [check-out-branch]
svn log -vvv -stop-on-copy # this gives me all revision involved
svn diff -r[old]:[latest] >diff.patch # note latest is not HEAD
svn switch [svn-url]@[old] # go to the creating of the branch
patch -p0 diff.patch # apply his feature
现在,emacs允许我使用svn-status查看所有更改。 我在源代码中添加了一些评论评论并执行以下步骤:
svn switch [svn-url]@[latest]
我现在遇到了冲突。 (再次使用emacs轻松查看这些ediff
)。
但这只是我的评论意见。
svn resolved [files-in-conflict]
svn commit -m "review comments"
现在我的同事可以阅读评论。
有没有更实际的方法呢? 你好吗?
答案 0 :(得分:0)
安装Redmine(使用代码审查插件)或Reviewboard,它会显示所有提交消息的大清单,您可以查看分支在任何2个修订版本之间的更改。您还可以注释您找到的任何问题,并自动创建它们作为开发人员修复的门票!
答案 1 :(得分:0)
我看到你的方法存在一些局限性:
*您需要通过电子邮件在人们之间传递补丁文件;
*您不会留下任何评论和讨论的痕迹;
*你有一个很长的审查程序,这意味着人们会尽可能地避免它。
我已经能够使用两种没有这种限制的方法:
*使用malevich或ReviewBoard创建包含差异的网站,并允许审阅者在那里发表评论。
*编写一个小脚本(比如使用pysvn的python代码)来自动化这个过程,这样开发人员只需要编写“cr branch-name developer-name”并在emacs中打开更改。