我正在尝试使用p4同步来使用通配符将特定目录同步到给定的更改列表编号,但我也想排除该目录(在子目录中)下的文件列表,我尝试使用-(在使用带有通配符的路径之前和之后),但该文件从未被排除,这是我正在尝试的命令:
p4 sync //Repo/Foo/... -//Repo/Foo/Bar/Foobar.txt
文件排除似乎仅在您正在同步的文件/目录与您尝试排除的文件不匹配时才有效。
发布于 2011-10-13 01:44:43
在你的客户端中,你会有多行代码:
//Repo/Foo/... //my_client/Repo/Foo/...
-//Repo/Foo/subdirectory/... //my_client/Repo/Foo/subdirectory/...
这将允许您获得Foo目录和除"subdirectory“之外的所有子目录中的所有内容。
发布于 2013-12-08 12:21:54
如果使用标签,则可以执行此操作。在您喜欢的编辑器中创建一个标签(p4v或命令行p4标签,然后添加两行:
//Repo/Foo/...
-//Repo/Foo/Bar/Foobar.txt
在revision字段中输入"#head"
(包括引号!)如果您想要最新的或变更列表编号。为标签指定一个名称-例如"sync_butnot_foobar“
在命令行上,您现在可以同步:
p4 sync @sync_butnot_foobar,@sync_butnot_foobar
与修改您的客户端规范和同步头部模型相比,这有一个巨大的好处。如果您在客户端规范中排除了某个文件,则下次同步该文件时,该文件将被带到版本0,这可能不是您想要的版本。
发布于 2011-10-13 00:01:03
简而言之,您不能在同步时排除文件。这只能在客户端规范内完成。(嗯,这可以通过protections表来完成,但我认为这实际上是另一回事)。
但是如果你想同步一个特定的文件夹,并且只同步该文件夹中的文件,可以使用*
p4 sync //Repo/Foo/*
将只为您提供Foo文件夹中的文件。
https://stackoverflow.com/questions/7741016
复制相似问题