据我所知,//depot/foo/...
将映射//depot/foo/
下的所有文件和文件夹。那么,//depot/foo/*
做什么?我被告知不要使用它,并想了解原因。
...
recurses,*
没有。如果要匹配给定位置的所有文件以及该位置下的所有文件,请使用...
;如果您只想匹配给定文件夹中的文件,请使用*
。
用你的例子
//depot/foo/*
只匹配'foo'文件夹中的文件(如果有的话)//depot/foo/...
将匹配foo文件夹中的文件以及foo下的任何文件对于简单的客户端规范,您希望使用...
,以便获取库中所有子目录中的所有文件。如果要匹配特定文件夹中的文件而不是下面的任何内容,可以在clientspec中使用*
字符。举个例子
//depot/foo/... //myclient/depot/foo/...
-//depot/foo/test/... //myclient/depot/foo/test/...
//depot/foo/test/* //myclient/depot/foo/test/*
上面将(按顺序),添加// depot / foo位置中的所有文件。然后它将删除// depot / foo / test中的所有内容(包括测试文件夹中的文件)。然后第三行将仅添加回测试文件夹中的文件,而不会在下面添加任何内容。