SVN - 审查特定人员所做的更改
Posted
技术标签:
【中文标题】SVN - 审查特定人员所做的更改【英文标题】:SVN - reviewing changes made by a specific person 【发布时间】:2010-10-15 16:39:46 【问题描述】:我有两个程序员对同一个项目进行更改。他们的提交互换,但他们主要在项目的不同部分工作(尽管他们经常修改相同的文件):
Commit 1 - Programmer A
Commit 2 - Programmer A
Commit 3 - Programmer B
Commit 4 - Programmer A
Commit 5 - Programmer B
Commit 6 - Programmer A
现在我想查看提交 1 和提交 6 之间的更改,但没有看到程序员 B 所做的更改(提交 3 和 5)。我正在使用 WebSVN,但它不允许我这样做。是否可以使用其他工具,例如 TortoiseSVN 来实现这种效果?
编辑:我知道对于一些复杂的更改(不同作者多次更改同一文件)很难完全过滤掉程序员 B 所做的更改。但是,如果该工具至少能够从结果中过滤掉仅由程序员 B 更改的文件,那就太好了。
编辑 2:分支对我来说不是一个选项,因为两个程序员都需要与他们的代码保持同步。我已经尝试过这种方法,但在合并更改时遇到了很多麻烦,因为程序员经常更改相同的文件。
【问题讨论】:
【参考方案1】:是否可以使用其他工具,例如 TortoiseSVN 来实现这种效果?
是的:您可以只将您感兴趣的变更集合并到您的工作副本中,并在那里查看合并后的变更。
如果您需要经常做这种事情,您可能希望更多地考虑使用分支(按人或按功能)。
【讨论】:
【参考方案2】:在 TortoiseSVN 中,您必须选择要查看的分支。让我假设您在主干上执行此操作。通过 Repo-Browser 并选择中继,鼠标右键 -> 显示日志。在“日志消息”窗口中,您转到过滤字段并输入作者姓名(从下拉作者中选择)...然后选择您要检查的修订范围,然后鼠标右键 -> 比较修订,您只会看到所选作者所做的更改列表。您可以选择特定文件来查看文件或从上下文菜单中选择 Blame 以查看与周围其他人的关系已更改的行...
当然,就像已经提到的那样,您应该考虑一种分支策略来简化您和开发人员的生活。
【讨论】:
比较结果包括两个选定版本之间所做的每一个更改,没有按作者过滤。 选择 show-log 后,在 TortoiseSVN 的右上角有一个单行输入字段,您可以在其中输入 authros 名称...tortoisesvn.net/docs/release/TortoiseSVN_en/…(您会看到输入字段)。 是的,该列表显示了特定作者所做的修订。但后来我想比较其中两个,不包括其他人所做的更改。不幸的是,在 TortoiseSVN 中进行这样的比较似乎是不可能的。【参考方案3】:在 TortoiseSVN 中,您可以在特定文件的两个修订之间进行“责备”。这不允许您过滤掉您不想看到的程序员,但它确实允许您查看谁做了什么更改。
【讨论】:
是的,但我想查看全局更改(针对整个项目,而不是一次一个文件)。很遗憾,如果我要对整个项目的两个修订版本进行比较,我看不到“责备”。【参考方案4】:结帐http://www.reviewboard.org/,它可能会对您的情况有所帮助。
结帐一些comparison of code review tools
【讨论】:
我喜欢 ReviewBoard ——但它对他想做的事没有任何帮助。 我也不知道 ReviewBoard 能如何帮助我的事业。以上是关于SVN - 审查特定人员所做的更改的主要内容,如果未能解决你的问题,请参考以下文章