【问题标题】:Bazaar merge only files in common with mainlineBazaar 仅合并与主线相同的文件
【发布时间】:2009-07-03 10:10:31
【问题描述】:

我目前正在从事一个有两个阶段的项目,其中一个将在以后放弃。第 2 阶段的开发必须开始,但第 1 阶段的错误修复将在此期间进行。我想从第 1 阶段的 repo 分支开始第 2 阶段的工作,但许多文件将不再需要。我需要将所做的任何更改集成到阶段 2 分支中,但我不希望重复删除与我不再相关的文件的麻烦,换句话说,我只想合并我们有共同文件的更改。

让我用一个例子来说明,假设我在这个 repo 中有我的第一阶段工作:

第一阶段 - 一个.txt - b.txt

然后我转到第 2 阶段,并删除 a.txt,因为我不再需要它:

第二阶段 - b.txt

现在让我们说作为阶段 1 错误修复的一部分,a.txt 和 b.txt 都已更新。我只关心 b.txt,但如果我进行合并,我会得到: +N a.txt.OTHER M b.txt

有没有办法通过集市做到这一点?

【问题讨论】:

    标签: merge bazaar


    【解决方案1】:

    是的,如果您开始使用Daggy Fixes pattern (mirror),则可以通过 Bazaar 实现。

    因此,您需要记住阶段 2 分支中有哪些文件,并在阶段 1 和阶段 2 通用的单独分支中对它们进行修复,并将这些修复合并到两个阶段中。

    使用您的示例:

    1) 您需要修复文件 a.txt 中的问题——您可以直接在阶段 1 (b1) 的原始分支中工作,并且您不应再从该分支合并到分支阶段 2 (b2)。

    2) 您只需要修复文件 b.txt 的问题——您使特殊的错误修复分支尽可能接近引入 b.txt 错误的修订版,您必须在修订版之前从修订版创建错误修复分支分支阶段 2 开始的地方。完成修复后,您需要将 bugfix 分支合并到 b1 和 b2 分支中。

    3) 您需要解决与 a.txt 和 b.txt 相关的问题。在这种情况下,可能不需要这样的错误修复来将其合并到 b2 中。在这种情况下,您可以使用上面的变体 1。如果某些更改对 b2 仍然很重要,您需要使用上面的变体 2 来开始修复 b.txt,然后将修复合并到 b1 和 b2 分支并继续处理 a.txt 的修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 2019-06-06
      • 2021-10-22
      • 1970-01-01
      相关资源
      最近更新 更多