虽然我不确定我对my other Accurev question有一个满意的答案,但我相信我已经开始理解我在Accurev差异中看到的问题了。
流程是这样的:
最后一步是我认为破损的地方。开发人员C无法以任何合理的方式查看与错误1相关的所有更改,即使每个事务/版本(无论Accurev调用它们)都与该问题ID相关联。
如果我确实反对基础,我会得到所有错误2的变化以及所有其他已被提升的变化。乘以30位开发人员,这是一场噩梦。
如果存在重叠和合并解决方案,它会变得非常混乱,但我们暂时假设归属不会出错,除非在那种情况下......即使我已经看到它做了,否则它可能只是一种误解。
无论如何,假设所有促销都是“干净的”并且(据我所知)新交易是每个开发商“保持”交易的“别名”交易。
如何查看两个交易的组合差异?
具体是上面步骤1和步骤5中的交易。将有两个事务,我只想在这些事务中进行更改,而仅那些事务。理想情况下,一个格式良好或GUI工具差异递归工作(不是单个文件,整个事情)。
请注意,有效答案可能是“您做错了”,但应包含有关更改内容的建设性建议,例如“在开发人员工作区中进行评论”或类似内容。我怀疑我们可能只是错误地使用它。
答案 0 :(得分:1)
我不会说你做错了,但肯定有一些假设必须在这里做。就我而言,从您的描述中可以看出,您在示例中显然使用了单个文件(无论如何要简化),并且这些更改是连续进行的。
在AccuRev中,更改包中包含从基础到头部的“错误”相关的任何文件的上下文。因此,当开发人员修复错误1时,文件的“开始”和“结束”版本归因于错误1.无论其他30位开发人员在此处做了什么,您始终可以查看Bug 1的更改包,查看更改选项卡,并将文件仅区分为与该错误相关的文件,即使将一千个其他更改提升到该流中也是如此。
如果出现困难的原因是开发人员认为他已完成,则对作为Bug 1一部分的文件进行后续更改,将其与Bug 2相关联,然后继续。审核完成后,他现在必须对Bug 1进行其他更改,这些更改是基于Bug 2更改的 top 构建的。
首先,如果不选择“更改包合并”,AccuRev将不允许您将该文件提升并链接到Bug 1。这意味着版本的归属与您要链接的特定错误存在差距 - 特别是对Bug 2的更改.AccuRev希望您确认Bug 2的更改可以隐含在Bug 1中固定。所以我们不会让它偶然发生。但是,如果您确定不希望Bug 1更改出现在Bug 1内容中,则必须进行一些修补。在您描述的工作流程中,这变得更加棘手,但绝对可能。最重要的是,您提供的场景是没有工具能够自动处理的场景,因为存在与不同错误相关联的序列更改。好吧,让我修改一下,并说没有工具可以在“签入评论”之外工作,并提供在问题级别而不是文件级别工作的自动方式。 AccuRev Change Package非常强大,可以将控件交到您的手中,使您可以在整个开发过程中将CP作为对象进行操作。
我希望在这个论坛中尽可能彻底地回答你的问题。如果您有其他问题或想要更深入地讨论,我们也可以安排。
干杯,
〜詹姆斯
答案 1 :(得分:0)
我认为,当对该文件有多组更改时,在提升了这些更改之后,无法查看给定开发人员对文件的更改。
支持的差异对父级非工作区流没有意义。
基于差异的基础让每个人都有所改变。
请参阅What is the difference between basis and backing in Accurev已接受答案的评论。