我正在使用perforce的可视化客户端,我想从工作区中排除目录。在流之前,我只需导航到我的工作区,找到树中的文件夹,然后将其排除(我已经在我发现的其他一些相关问题中找到了这个解决方案)。但是,现在我正在使用流,它不会让我这样做,我必须显然编辑流映射。
所以我在编辑流时尝试将此行添加到重映射的框中:
-//NumberPlus/current/Library/... //nplus-mainline/current/Library/
但是我得到一个错误:
Error in stream specification.
Error detected at line 24
Null directory (//) not allowed in '-//NumberPlus/current/Library/...'.
编辑:我在Windows 8.1中,需要澄清。
答案 0 :(得分:3)
如果要排除的文件夹特定于您的计算机,则在本地设置P4IGNORE是将其排除在库中的最简单方法。
http://www.perforce.com/blog/120214/new-20121-p4ignore
您可以将P4IGNORE设置为某些名称,例如" p4ignore.txt",创建一个具有该名称的文件,然后添加" Libraries"它 - 随后" p4添加"命令将跳过P4IGNORE文件中找到的路径,因此这些文件永远不会被添加到库中。
如果这对于此流的所有工作空间都是通用的(例如,它是每个人都要生成的构建工件而没有人应该检入),那么你想要什么做的是添加"排除"到流的路径(这将从该流生成的分支视图和客户端视图中排除它)。 E.g:
Paths:
share ...
exclude Libraries/...
"排除图书馆/..."与您添加到客户端视图的排除行基本相同,除非您将其指定为相对路径,您不需要指定映射的两侧,以及" - &# 34;被排除"排除"类型。 "重新映射"类型是,如果您想保留这些文件,但在不同的软件仓库位置,这听起来不适用于此。
有关定义流视图的更多信息: http://www.perforce.com/perforce/doc.current/manuals/p4v/streams_views.html
答案 1 :(得分:1)
如果客户端工作区切换到特定流,则不能只编辑其映射。流的整个要点是您的工作空间映射直接从流定义生成。这是一个特色。
是否
并不完全清楚但是,对于所有这些情况,我怀疑最好的前进方向是定义当前流的新子流。
您需要使用“share”,“exclude”,“isolate”和“import”映射类型定义路径映射。
例如,如果您根本不想要Library / ...目录,则可以从父级“排除”它。
然后该流只是没有该目录,当您同步到流时,它(当然)也不会在您的工作站上。
如果您想在Library / ...目录中拥有不同的代码副本,以便它成为与父母有意分歧的点,那么您将“与父母”隔离,以提交您自己的代码自定义版本,或从另一个流“导入”它以使用该流的Library / ...目录。
在任何一种情况下,目录都将成为流的一部分,并且将同步到您的工作站,但该目录的内容将与父流中使用的内容不同(确切的方式)它们的区别在于你的控制,因为你相应地定义了流。)
文档和一些示例如下:http://www.perforce.com/perforce/doc.current/manuals/p4v/streams_views.html 和这里: http://www.perforce.com/sites/default/files/pdf/Streams-ebook.pdf
答案 2 :(得分:0)
我相信我已经解决了这个问题。为了清楚起见,我希望版本控制完全忽略该文件夹。我正在使用Unity的p4connect,它一直希望在我的软件仓库中包含不必要的东西。
我所要做的就是在路径框中将此行添加到我的父流:
排除当前/图书馆/...