我有两个程序员对同一个项目进行了更改。他们的提交交换,但他们主要在项目的不同部分工作(虽然他们经常修改相同的文件):
Commit 1 - Programmer A
Commit 2 - Programmer A
Commit 3 - Programmer B
Commit 4 - Programmer A
Commit 5 - Programmer B
Commit 6 - Programmer A
现在我想回顾一下commit 1和commit 6之间的变化,但是没有看到程序员B(提交3和5)所做的更改。我正在使用WebSVN,但它不允许我这样做。是否可以使用其他工具来实现这种效果,例如TortoiseSVN?
编辑:据我所知,对于一些复杂的更改(同一文件由不同的作者多次更改),很难完全过滤掉程序员B所做的更改。但是,如果该工具至少能够过滤掉仅由程序员B从结果中更改的文件,那将是很好的。编辑2:分支不是我的选择,因为两个程序员都需要与他们的代码保持同步。我已经尝试过这种方法并且在合并这些更改时遇到了很多麻烦,因为程序员经常更改相同的文件。
答案 0 :(得分:2)
是否可以使用其他工具来实现此效果,例如TortoiseSVN?
是:您只能将您感兴趣的更改集合并到工作副本中,并在那里查看合并后的更改。
如果您经常需要这样做,您可能希望更多地使用分支(每个人或每个功能)。
答案 1 :(得分:1)
在TortoiseSVN中,您必须选择要查看的分支。我假设你在行李箱上做这个。通过Repo-Browser并选择trunk,鼠标右键 - >显示日志。在日志消息窗口中,您将转到过滤器字段并输入作者姓名(从下拉作者中选择)...然后选择您要检查的修订范围和鼠标右键 - >比较修订版,您只能看到所选作者所做的更改列表。您可以选择一个特定的文件来查看文件,或者从上下文菜单Blame中选择以查看与周围其他人的关系中已更改的行...
当然,就像你已经提到的那样,你应该考虑一种分支策略,以简化你的生活和开发人员。
答案 2 :(得分:0)
在TortoiseSVN中,您可以对特定文件的两个修订版之间进行“责备”。这不允许您过滤掉您不想看到的程序员,但它确实允许您查看谁做出了哪些更改。
答案 3 :(得分:0)
结帐http://www.reviewboard.org/,这可能有助于您的情况。