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

时间:2019-08-13 19:28:11

标签: perforce

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

p4“记录我的状态”> state.txt p4 sync

“ p4 have”的输出可以与“ p4 sync”一起使用吗? 可以使用p4更改吗?

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

Thx 德里克

1 个答案:

答案 0 :(得分:1)

如您所愿,标准方法是通过标签。没错,由于静态标签的大小(即每个文件的修订版本分别记录在其中)的大小随文件数量呈线性比例变化,因此这在空间上可能会变得昂贵。

在Perforce可以实现的同时,将单个文件夹和文件同步到单个变更列表可能是一种反模式,如果您将其作为需要可重现的常规构建过程的一部分而不是作为一次性调试操作来进行的话。构建配置应该以某种方式进行版本控制-如果将工作空间中的所有内容同步到单个变更列表,则变更列表本身就是版本控制的单位(变更列表仅是一个完整的信息,非常节省空间)。

通常,如果您需要不同版本的不同组件来进行特定的构建,则需要以流或分支的形式进行记录,因为这些对象可以正确地版本化,并可能更有效地存储而不是一系列标签。

df['id_30'] = df['id_30'].where( df['id_30'].notna(), np.where(df['DeviceInfoShort'] == 'Windows', 'Windows', 'Android')) p4 have的输出如果格式正确,都可以与p4 changes一起使用。 p4 sync全局格式化标志在那里很有用;例如,您可以运行类似-F的命令,将p4 -F %depotFile%%haveRev% have的输出转换为简单的p4 have自变量列表,然后可以将其传递给file#rev。有关更多信息,请参见https://web.archive.org/web/20141008214721/https://www.perforce.com/blog/130826/fun-formatting