在VOB下组织不同应用程序的最佳实践是什么?

时间:2012-03-06 10:00:49

标签: clearcase clearcase-ucm

这是对此答案的跟进问题:https://stackoverflow.com/a/9579131/1204799

  
    

“最好创建基于根目录的组件”

  

如果我有多个独立应用程序(这意味着它们的开发和部署是独立的),我不应该创建不同的VOB来容纳它们吗?我现在正在做的是,我有一个单独的PVob,其中包含一些UCM项目,每个UCM项目都有自己的Vob和基线组件(没有Vob的组件)。我这样做是错误的吗?

于3月7日16:29更新

在接受你的建议之后,这就是我现在要做的事情:

  1. 我创建了一个PVOB以容纳所有VOB
  2. 我为每个业务团队创建了一个VOB,在我的公司中,只有三个团队
  3. 我为每个应用程序创建了一个UCM项目。每个业务团队 将托管多个应用程序,而每个应用程序都是 独立,但每个应用程序可能有多个分支 并行开发,所以可以有很多项目
  4. 我的问题出现了: 现在有几个应用程序共享同一个VOB,我怎样才能更好地管理基线,以便它们按应用程序组织?即防止意外选择另一个项目的基线

1 个答案:

答案 0 :(得分:0)

最好在(通常)命名的Vob中使用多个组件。

每个Vob创建一个组件并不是“错误的”,但是你需要知道,一旦为一个组件分配了一个根目录(如Vob),你就不能再改变那个根,或者进行任何重构

通过“重构”,我提到了经典案例,其中我创建了一个组件“MyProject”(其Vob'\MyProject'...然后才意识到,例如,几个月之后'MyProject'实际上有一个服务器和一个客户端模块可以从单独的历史中受益:我应该定义两个组件而不是一个。

使用“每个组件一个vob”模型,我没有别的选择来创建另一个Vob:我无法重构,即我无法在现有组件中创建子目录,并在那里定义第二个组件。

使用“每个Vob的多个组件”,我可以:

  • 将我的第一个组件重命名为“MyProject_Server”,其根目录为“\MyVob\myproject”(保持不变:创建后无法更改组件的根目录),
  • 在同一个Vob中创建另一个组件:“MyProject_Client”,根目录为“\MyVob\myproject_client”。

主要优势是比例:您可以在Vob中定义多个(数百个)组件。
但是你不应该定义数百个Vobs,因为管理对所述Vobs的访问需要大量的进程(vobrpc_servervob_server)。


如果您为每个Vob创建多个组件,则不会对每个项目UCM的基线选择产生任何影响 也就是说,你选择错误组件基线的风险是多少,无论这些组件是完整的VOB还是Vob的一部分。

您只需在不同的UCM项目中分离这些组件,并管理这些UCM项目中的每个组件基线。