我们可以在perforce中创建标签吗

我们可以在perforce中创建标签吗,perforce,clearcase,cleartool,p4v,Perforce,Clearcase,Cleartool,P4v,我在一个项目中工作。我们同时使用clearcase和perforce 当我们在处理不同的构建时,在clearcase中,我们为每个版本创建一个标签。比如说,对于发行版“X”,我们创建了一个clearcase案例“标签X”。标签X包含有关版本“X”的所有最新文件。当我们完成另一个版本时,比如说“Y”,我们创建另一个标签,比如说“标签Y”。标签“Y”再次包含发布“Y”的所有文件。但在任何时候,我们都可以返回到“标签X”。这意味着所有文件都将恢复到“标签X” 我们能在Performce做同样的事情吗?

我在一个项目中工作。我们同时使用clearcase和perforce

当我们在处理不同的构建时,在clearcase中,我们为每个版本创建一个标签。比如说,对于发行版“X”,我们创建了一个clearcase案例“标签X”。标签X包含有关版本“X”的所有最新文件。当我们完成另一个版本时,比如说“Y”,我们创建另一个标签,比如说“标签Y”。标签“Y”再次包含发布“Y”的所有文件。但在任何时候,我们都可以返回到“标签X”。这意味着所有文件都将恢复到“标签X”


我们能在Performce做同样的事情吗?我们可以在perforce中创建标签吗?因此,在任何时间点,我们都可以转到该标签,该标签将按照该标签时间线提供文件。

是的,您可以在perforce中创建标签

用于创建标签规范,然后用于使用标签标记文件


您可以在中了解更多信息。

Performance还提供了一个有趣的指南“”,并指出
p4标签并不是唯一的选择:

标签策略 ClearCase和Perforce都提供标签,标识构成基线的文件版本。对于许多ClearCase用户来说,标签是必需的。应用标签非常耗时,通常占与创建标签相关的时间的30%或更多 稳定的构建

实际上,标签只是复制基线的一种方式变更列表以比标签更快、更容易引用、构建过程更轻松的方式实现相同的目标

每个Perforce签入都会生成一个唯一的变更列表编号,该编号反映存储库在某个时间点的状态。任何变更列表都可以用来描述状态 存储库中的每个文件,即使它只影响存储库的一小部分

这是一个过度的暗示,因为典型的配置规范是几行或多行。
Perforce中的分支被表示为目录,因此可以很容易地将分支和变更列表编号组合起来表示基线。
或者,标签可以引用仅限于服务器中已标识范围的变更列表编号,其中范围通常是特定分支


假设您有以下设置:

//depot/source/sourcefile.cpp
//depot/build/product.exe
上午8点,您签入sourcefile.cpp(现在是修订版2,在变更列表100中)。生成计算机开始生成,上午9点,生成计算机在更改列表104中检入product.exe,修订版2。酷。遗憾的是,您可能没有注意到,但在8:15,有人在变更列表103中签入了sourcefile.cpp的修订版3

你有什么选择?如果只记录源(100)和产品(104)的更改列表,则可以将整个项目同步到源,然后进一步同步更改列表104的内容。这个过程有点手工操作——您必须记录两个数字并执行两步操作

您可以制作一个标签,但遗憾的是,标签不允许多个修订,因此您无法真正使用它

最后,在签入修订版104后的某个时刻,可以创建分支。这基本上是您感兴趣的修订版的元数据副本,因此您可以在将来进行一键同步。可以锁定分支以防止更改

p4 integ //depot/source/...@102 //depot/milestone1/source/...
p4 integ //depot/build/...@104 //depot/milestone1/build/...
Geeky详细信息-您可以在perforce中配置文件以保存有限数量的修订版-例如,您可能只需要product.exe的最后16个修订版。(将文件类型更改为+S16)。如果您(或其他人这样做),前两个过程最终将失败,因为修订太多,修订已被删除。如果使用分支,则product.exe不会过期