Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perforce 如何记录当前客户端状态并在以后重新同步_Perforce - Fatal编程技术网

Perforce 如何记录当前客户端状态并在以后重新同步

Perforce 如何记录当前客户端状态并在以后重新同步,perforce,Perforce,我的客户端工作区处于某种同步状态。某些文件夹/文件可以同步到特定的更改列表。 我想记录我的客户机工作区的当前状态,以便以后可以进行复制 p4“记录我的状态”>state.txt p4 sync

我的客户端工作区处于某种同步状态。某些文件夹/文件可以同步到特定的更改列表。 我想记录我的客户机工作区的当前状态,以便以后可以进行复制

p4“记录我的状态”>state.txt p4 sync “p4 have”的输出是否可以与“p4同步”一起使用。 可以使用p4更改吗

我还考虑创建一个标签并使用p4 labelsync。 标签是否“昂贵”?(服务器上的大小或服务器的性能) 我可以每天制作N次我的产品。如果我每次都创建一个新标签,我很快就会得到大量的标签

Thx
德里克

按照你的建议,标准的做法是通过标签。您是正确的,因为静态标签的大小(即每个文件的修订单独记录的标签)与文件数成线性比例,因此这可能会在空间方面变得昂贵

将单个文件夹和文件同步到单个变更列表(虽然Perforce使之成为可能)可能是一种反模式,如果您将其作为例行构建过程的一部分进行同步,而该过程需要可复制,而不是一次性调试操作。构建配置应该以某种方式进行版本控制——如果将工作区中的所有内容同步到单个变更列表,则变更列表本身就是版本控制的单元(而变更列表只是一个整型信息,非常节省空间)

通常,如果您需要不同版本的不同组件来生成特定的构建,您会希望以流或分支的形式记录,因为这些对象可以正确地进行版本控制,并且可能比一系列标签更高效地存储


如果格式正确,
p4 have
p4 changes
的输出都可以与
p4 sync
一起使用。
-F
全局格式化标志在那里很有用;例如,您可以运行类似于
p4-F%depotFile%%haveRev%have
的命令,将
p4-have
的输出转换为一个简单的
file#rev
参数列表,您可以通过管道将其传输到
p4-x-sync
。有关更多信息,请参阅。

Thx。真的很有帮助。请注意-F在Perforce网站上没有很好的文档记录。我花了一段时间才发现格式化的flash是%haveRev%而不是%depotRev%(不存在)。我在查找链接时遇到了困难,但最终通过回送机器得到了它,编辑了答案。