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