Perforce 映射规则中的点和星号有什么区别?
我知道 //depot/foo/...
将映射 //depot/foo/
下的所有文件和文件夹。那么,//depot/foo/*
是做什么的?我被告知不要使用它,并且想了解原因。
I understand that //depot/foo/...
will map all the files and folders under //depot/foo/
. So, what does //depot/foo/*
do? I was told not to use it, and would like to understand why.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
...
递归,*
不递归。如果要匹配给定位置的所有文件以及该位置以下的所有文件,请使用...
;如果您只想匹配给定文件夹中的文件,请使用*
。在您的示例中
//depot/foo/*
将仅匹配文件在“foo”文件夹中(如果有
任何)
//depot/foo/...
将匹配文件在 foo 文件夹以及任何
foo 下的文件
对于简单的客户端规范,您需要使用
...
以便获取软件仓库中所有子目录中的所有文件。当您想要匹配特定文件夹中的文件而不匹配其下的任何内容时,可以在客户端规范中使用*
字符。作为示例,上面将(按顺序)添加 //depot/foo 位置中的所有文件。然后它将删除 //depot/foo/test 中的所有内容(包括 test 文件夹中的文件)。然后,第三行将仅添加回测试文件夹中的文件,而下面不添加任何内容。
...
recurses,*
does not. If you want to match all files at a given location and all files below that location, you use...
; if you want to match only files in a given folder, use*
.With your example
//depot/foo/*
will only match filesin the 'foo' folder (if there are
any)
//depot/foo/...
will match filesin the foo folder as well as any
files beneath foo
For simple client specs, you want to use
...
so that you get all files in all subdirectories in a depot. You might use the*
character in a clientspec when you want to match files in a specific folder and nothing underneath. As an exampleThe above will (in order), add all files in the //depot/foo location. Then it will remove everything in //depot/foo/test (including files in the test folder). The third line will then add back in just the files in the test folder and nothing underneath.