Clearcase选择性合并

Clearcase选择性合并,clearcase,Clearcase,我有一种特殊的明确的怀疑。我无法完全描述我为什么要做这样一个令人困惑的架构,但我需要这样做(多亏很久以前有人犯了错误) 好的,这里有一点细节:B1是一个受污染的分支,其中我的组的更改和另一个组的更改混合在一起非常严重,以至于无法找到哪个代码是谁的代码)。因此,建议的解决方案是创建一个名为B2的新分支(与B1处于同一级别),并将其他组的所有未修改代码放在其上(方法是将B1与B2合并,然后删除其中的所有更改,直到其成为原始组)。然后在B1上创建一个CR分支,并在该分支上仅保留我的组新添加的文件或修改

我有一种特殊的明确的怀疑。我无法完全描述我为什么要做这样一个令人困惑的架构,但我需要这样做(多亏很久以前有人犯了错误)

好的,这里有一点细节:B1是一个受污染的分支,其中我的组的更改和另一个组的更改混合在一起非常严重,以至于无法找到哪个代码是谁的代码)。因此,建议的解决方案是创建一个名为B2的新分支(与B1处于同一级别),并将其他组的所有未修改代码放在其上(方法是将B1与B2合并,然后删除其中的所有更改,直到其成为原始组)。然后在B1上创建一个CR分支,并在该分支上仅保留我的组新添加的文件或修改的文件。最后从B2创建一个集成分支,并合并从B1的CR分支到B2的集成分支的更改

下面是我所做的:(用例是我有dird,文件a、b和c在那里。我的小组最终修改了文件a,而b和c根本没有修改)

有一个分支B1,其上有文件a、b和c。还有一个分支B2。从B1到B2进行合并。现在B2也有a,b和c

此时,分支B1和B2都是相同的。现在我从分支B2(rmname)中删除文件a。现在B2只有b和c。我给这个分支贴了一个标签,叫做Label1。这使得标签为Label1的代码成为来自其他组的未修改代码

现在,我从B1中创建了一个名为CR1的分支,并删除了B2分支中的所有文件(即b和c),这样它只包含来自原始代码的修改代码。在我的情况下,它是文件a

此时,带有标签Label1的分支B2有文件b和c(这些是未修改的代码),来自B1的分支CR1只有a(由我们修改)

现在,我创建了另一个名为integration branch的分支,它来自B2 Label1。然后,我将CR分支合并到该分支上,希望它将为我提供所有三个文件a、b和c。我只需要做一个版本树视图,看看谁修改了什么

但我面临的问题是,因为我在前面的B2分支上做了文件a的rmname来放置标签。合并并不真正从CR分支获取文件a

我该如何避开那个问题。我想有选择地合并。可能吗

对不起,如果这是一个糟糕的设计。我对Clear case并不十分熟悉,而且我只有有限的选择和时间来清理别人的烂摊子。

(开玩笑的话)
在其中一种情况下,我实际上创建了一个,在返回结果之前解开Git分支中的情况

更重要的是:

  • 您可以在一个文件历史记录上执行删除操作,以删除某些提交(版本)
  • 我试着按照你的设想:
:

来自CR1的合并不会添加回退,因为:

  • A(在B1上)的共同祖先在B2上被删除之前是B2的一部分
  • Int来自B2
  • 不考虑合并到来自B2的分支,因为它已经是B2的一部分
在本例中,我建议对目录进行图形化合并,这将允许您手动解决该合并(强制分辨率为:“take a”)

(开玩笑)
在其中一种情况下,我实际上创建了一个,在返回结果之前解开Git分支中的情况

更重要的是:

  • 您可以在一个文件历史记录上执行删除操作,以删除某些提交(版本)
  • 我试着按照你的设想:
:

来自CR1的合并不会添加回退,因为:

  • A(在B1上)的共同祖先在B2上被删除之前是B2的一部分
  • Int来自B2
  • 不考虑合并到来自B2的分支,因为它已经是B2的一部分

在本例中,我建议对目录进行图形合并,这将允许您手动解决该合并(强制分辨率为:“take a”)

Hi Vonc,非常感谢您的回复。我还发现,除了以图形方式进行合并之外,似乎没有更好的方法。谢谢。KeshavHi Vonc,非常感谢您的回复。我还发现,除了以图形方式进行合并之外,似乎没有更好的方法。谢谢。克沙夫
      CR1----------------------------(a)
      .  (C1 branch from B1)           \  (a merged to Int)  
     .                                  \ 
B1-(abc)                               Int (b,c)  # where is a???
     .                                  . 
       .  (B2 branch from B1)          .  (Int branch from B2)
      B2-(abc)-----------------------(bc,label1)