如何在Perforce中管理“第三方”子项目?

时间:2011-03-22 02:57:19

标签: perforce setup-project

我们的团队将一系列不同的子块集成到我们的主项目中,我们正在努力确定管理所有这些不同知识产权的最佳方式。 (从现在开始,我将把这些子项目称为知识产权“知识产权”)。

IP将是第三方供应商IP,之前的项目IP和此项目IP的新组合。以下是我们正在考虑管理所有不同IP部分的一些想法:

  1. 在物理驱动器上发布版本,并让主项目指向正确的版本。

    PROS - 对SCM几乎没有依赖性:最初管理似乎更简单:

    缺点 - 必须记住保持每个物理设计中心的最新状态:

  2. 使用Perforce客户端规范视图包含正确的版本。

    PROS - 能够快速查看客户端规范中使用的IP:

    CONS - 使用大量IP,客户端规范变得非常混乱且难以管理:每个团队成员管理自己的客户端规范(不一致):确定使用哪个IP版本不在SCM下(默认情况下) :

  3. 将不同的版本集成到一个单行客户端视图中。

    PROS - 使客户端规范维护变得简单:使用标准Perforce工具可以轻松观察到对IP版本的任何更改:

    缺点 - 不容易看到我们使用的IP版本:

  4. 我们的经理更喜欢#2,因为他最容易查看客户端规范并了解我们正在使用的所有IP和版本。工蜂往往非常不喜欢这个,因为这意味着我们必须尽量保持每个人的个人客户规格更新,而不是项目本身的SCM。

    其他人如何处理Perforce项目中的IP以及您有什么建议?

    更新

    我真的倾向于解决方案#3,它看起来更清洁,更容易维护。如果有人能想到为什么#3不是个好主意,请告诉我。

3 个答案:

答案 0 :(得分:3)

我也会选择第三种解决方案。

我无法想到任何缺点,并且在过去遇到类似情况时没有经历过任何缺点。

您可以使用明确说明哪些IP版本已分支的分支规范来安抚您的经理。然后他可以参考该分支规范而不是客户规范。

另外,如果你查找规范仓库'在帮助中,您可以设置Perforce,使其版本自动控制所有规范,包括分支规范,如果您更改IP版本,将为您提供可跟踪性。

答案 1 :(得分:0)

“每个团队成员管理自己的客户规范(不一致)”

不要那样做。让客户端规范是签入Perforce的文件。

答案 2 :(得分:0)

我建议#2,因为它是最透明的系统。是的,这将意味着更多的工作使客户保持最新,但您可以通过使用模板客户端来最小化该问题。

在我的工作中,我们使用开发人员复制的模板客户端来保持客户端的正确配置。我们用“0-PRODUCT-BRANCH”模式命名(如果需要,有时会添加平台)。然后它是来自命令行的单行命令,或者从GUI中点击几下来更新您的客户端。每当模板发生变化时,我都会向团队发送通知。

现在在我的情况下,模板更改不会经常发生。每年最多可能有5-6个,所以麻烦程度可能会有所不同。