如何在同步 p4 流时排除目录

How to exclude a directory when syncing a p4 stream

我正在使用 Perforce 的命令行工具。 使用 p4 工具,我想同步到一个流。

问题是我想从我的工作中排除一个目录space。 如果我的工作 space 被定义为一个视图,这将可能与类似的东西:

View:
    //depot/Foo/... //Client/Foo/...
    -//depot/Foo...bin/... //Client/Foo...bin/...

但是 Stream: 设置会覆盖 View: 规范。

我已经使用以下命令设置了流:

$ p4 client

我也研究了 P4IGNORE 机制,但这对我的问题没有用,因为 P4IGNORE 不会影响 sync 命令。

我尝试将 Paths: 命令添加到我的客户端规范中,但在此上下文中无法识别。我认为它是在指定流时使用的,就像仓库管理员所做的那样?

这正是虚拟流的用途。 :) 创建类型为 virtual 的子流,并从虚拟子流中排除目录(通过流规范中的 PathsIgnore)。这将为您生成一个客户端视图,它是父流的所需子集。

https://www.perforce.com/blog/virtual-streams-windows-big-projects