如何在没有任何继承更改的情况下在Accurev中获得问题的差异?

时间:2011-01-11 17:42:31

标签: accurev

虽然我不确定我对my other Accurev question有一个满意的答案,但我相信我已经开始理解我在Accurev差异中看到的问题了。

流程是这样的:

  1. 开发人员A 对错误1进行了一些更改,提升。
  2. 开发人员A 对错误2进行了一些更改,提升。
  3. 开发人员B 对错误1的开发人员A 进行了更改,并将其发回以进行进一步更改。
  4. 开发人员C 审核开发人员A 对错误2的更改并批准其他促销。
  5. 开发人员A 对错误1做了更多更改,提升。
  6. 开发人员C 审核开发人员A 对错误1的更改。
  7. 最后一步是我认为破损的地方。开发人员C无法以任何合理的方式查看与错误1相关的所有更改,即使每个事务/版本(无论Accurev调用它们)都与该问题ID相关联。

    如果我确实反对基础,我会得到所有错误2的变化以及所有其他已被提升的变化。乘以30位开发人员,这是一场噩梦。

    如果存在重叠和合并解决方案,它会变得非常混乱,但我们暂时假设归属不会出错,除非在那种情况下......即使我已经看到它做了,否则它可能只是一种误解。

    无论如何,假设所有促销都是“干净的”并且(据我所知)新交易是每个开发商“保持”交易的“别名”交易。

    如何查看两个交易的组合差异?

    具体是上面步骤1和步骤5中的交易。将有两个事务,我只想在这些事务中进行更改,而那些事务。理想情况下,一个格式良好或GUI工具差异递归工作(不是单个文件,整个事情)。

    请注意,有效答案可能是“您做错了”,但应包含有关更改内容的建设性建议,例如“在开发人员工作区中进行评论”或类似内容。我怀疑我们可能只是错误地使用它。

2 个答案:

答案 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已接受答案的评论。