【问题标题】:Is it possible in Perforce to add a missing integrate record?是否可以在 Perforce 中添加缺少的集成记录?
【发布时间】:2013-03-12 22:07:47
【问题描述】:

最近我向 Perforce 提交了一个文件作为“添加”(一个新文件)。

然后我又提交了几个更改。

现在我意识到原来的“添加”应该是“集成”,因为该文件实际上是另一个现有文件的副本和修改。

有没有办法事后添加集成链接?

如果没有,最简单的方法是什么?如果我们删除所有受影响的变更列表,然后重新提交它们,但使用正确的集成历史记录,这会起作用吗?

【问题讨论】:

  • 有时会进行毫无根据的合并 - integrate -i - 有帮助。

标签: integration perforce


【解决方案1】:

刚刚通过电话与 Perforce 支持人员通话。答案是否定的,你不能“改变历史”。但是,建议的做法是:

  • 复制对新文件所做的每项更改
  • 删除所有添加的应该是集成的文件
  • 重新提交所做的每项更改

【讨论】:

  • 正如邪恶的奥托所说,我希望毫无根据的合并会导致类似的历史。您想要的是可以来回集成(即两个文件之间有关系)。您可以通过在当前(新)文件的顶部集成/合并您想要成为集成源的实际文件来实现这一点。
  • 除非严格的政策或技术需要让历史恰到好处,否则我会编辑第一个提交的描述以表明它应该是一个集成,然后从哪里开始,然后走毫无根据的合并路线到修复未来的合并问题。
  • 使用毫无根据的合并思想,p4 annotate 会产生错误的结果。 (另外,我很惊讶你们似乎比 Perforce 支持更了解?...)
  • 这是一个努力的问题。是的,您可以做到恰到好处,但这是否足够重要,足以让您在整个过程中停下来?在管理 Perforce 的十年中,我看到很多时间和金钱浪费在这些事情上,甚至没有预期的好处。也就是说,坚持它的人无法想出一个合理的用例来说明为什么它很重要。确实,我不记得它真正重要的案例 - 在问题被隐藏在十几个或一百个修订之后,再也没有人看到它了。正如我上面所说,在你跳之前有充分的理由。
  • @William:你听起来像是那些仅仅因为不了解好处而拒绝开发人员推理的经理之一。你不知道没有人再看到它:你只知道没有人告诉你,以你的态度,我一点也不惊讶! — 我们使用 Perforce 支持推荐的方法解决了我们的问题,我们没有“停止”任何事情。
【解决方案2】:

可能会生成 Perforce 日志(数据库)记录,以将丢失的数据放在适当的位置。这些是由系统管理员重播到实时数据库中的纯文本条目。记录了数据库架构:www.perforce.com/perforce/doc.current/schema

在执行此操作时,您需要非常小心并与 Perforce 支持人员合作,并首先在测试系统上进行尝试。这通常是不值得的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    相关资源
    最近更新 更多