Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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 p4同步,使用通配符时如何排除文件?_Perforce - Fatal编程技术网

Perforce p4同步,使用通配符时如何排除文件?

Perforce p4同步,使用通配符时如何排除文件?,perforce,Perforce,我尝试使用p4 sync使用通配符将特定目录同步到给定的变更列表编号,但我也想排除该目录下的文件列表(在子目录中),我尝试使用-(在使用带有通配符的路径之前和之后)但从未排除该文件,我尝试使用以下命令: p4 sync //Repo/Foo/... -//Repo/Foo/Bar/Foobar.txt 文件排除似乎仅在同步的文件/目录与尝试排除的文件不匹配时才起作用。简而言之,同步时无法排除文件。这只能在客户端规范内完成(好吧,可以通过protections表完成,但我认为这是另一回事) 但是

我尝试使用p4 sync使用通配符将特定目录同步到给定的变更列表编号,但我也想排除该目录下的文件列表(在子目录中),我尝试使用-(在使用带有通配符的路径之前和之后)但从未排除该文件,我尝试使用以下命令:

p4 sync //Repo/Foo/... -//Repo/Foo/Bar/Foobar.txt

文件排除似乎仅在同步的文件/目录与尝试排除的文件不匹配时才起作用。

简而言之,同步时无法排除文件。这只能在客户端规范内完成(好吧,可以通过protections表完成,但我认为这是另一回事)

但是,如果要同步特定文件夹并且仅同步该文件夹中的文件,请使用*

p4 sync //Repo/Foo/*

将仅获取Foo文件夹中的文件。

在客户端,您将有多行:

//Repo/Foo/... //my_client/Repo/Foo/...
-//Repo/Foo/subdirectory/... //my_client/Repo/Foo/subdirectory/...

这将允许您获取Foo目录和除“subdirectory”之外的所有子目录中的所有内容。

如果使用标签,您可以这样做。在您喜爱的编辑器(p4v或命令行p4 label)中创建标签,并添加两行:

//Repo/Foo/...
-//Repo/Foo/Bar/Foobar.txt
如果您想要最新的或变更列表编号,请在修订字段中输入
“#head”
(包括引号!)。为标签命名-例如“sync#u butnot_foobar”

现在可以在命令行上同步:

p4 sync @sync_butnot_foobar,@sync_butnot_foobar

这比修改客户端规范和同步头模型有很大的好处。如果您在客户端规范中排除了一个文件,那么下次同步该文件时,该文件将被带到版本0,这可能不是您想要的版本。

忽略我的上一条消息,我很快会与之交谈:/lol,请记住,如果您使用defa,这将像新的客户端规范一样工作ult选项…意味着您将为不在标签中的所有文件同步到修订版0这很酷!除了“修订版:”字段应为
“#head”
,而不是
@head
@Saebin如果您同步到
@label,@label