perforce实现clearcase,如“views”

时间:2010-11-15 15:07:07

标签: perforce

我已阅读有关perforce的文档和“分支策略”建议。 让我感到困惑的一件事是,一个简单的问题似乎没有得到充分的解决。 当我正在处理一个涉及我们代码库的许多部分的项目时,我无法在一天结束时检查我的代码而不检查主干。那么我需要在这种情况下分支吗?我希望能够在一个漫长而艰苦的项目中记录我的变化,所以当我转错时我可以回去......

我看到分支的问题是我将创建几乎整个代码库的副本。我在这里错过了一个明显的解决方案吗? 感谢

4 个答案:

答案 0 :(得分:2)

从Perforce服务器的角度来看,分支实际上并不是文件的副本。 Perforce使用一种称为“懒惰副本”的机制来最小化光盘消耗。从their website开始,以下是术语的定义:

  

Perforce使用的方法   没有的文件的内部副本   复制库中的文件内容。   懒惰副本可最大限度地减少消耗   通过存储引用来获得磁盘空间   原始文件而不是副本   文件。

答案 1 :(得分:1)

我所知道的最接近的是搁架,您可以“搁置”正在进行的工作,在服务器上保存副本。我通常这样做基本上检查我的工作。我认为这最接近满足您的需求,您可以在一天结束时保存您的进度。

有关p4v中搁置的教程,请参阅here

或者输入p4 help shelve以获取有关命令行的帮助。

答案 2 :(得分:1)

使用perforce的最佳方法是在用户/功能分支中工作,然后您可以避免检查主干,同时仍然将更改推送到软件仓库。

创建分支时,您不必分支整个主干或源分支 - 您只需要分支您正在处理的文件 - 您可以通过客户端规范将其余文件映射到您的分支。

TBH - 只需购买&阅读'Practical Perforce',它有大量关于如何做到这一点的有用信息,如果你每天使用perforce,这是非常值得的。

perforce的另一个非常有用的功能是“作业” - 通常仅用于跟踪错误 - 它非常灵活,允许您存储附加到标记的更改列表历史记录,以便您创建“元标记”并附加修订版即ie 'NightlyBuild'或'BreakingChanges或任何你想要的。
HTH。

答案 3 :(得分:0)

使用PDB评估 - 稀疏分支。更多信息,请http://www.releng.com/p5layer.html