我了解//depot/foo/...
将映射//depot/foo/
下的所有文件和文件夹。那么,//depot/foo/*
做了什么?我被告知不要使用它,并想了解原因。
答案 0 :(得分:11)
...
递归,*
没有。如果要匹配给定位置的所有文件以及该位置下的所有文件,请使用...
;如果您只想匹配给定文件夹中的文件,请使用*
。
用你的例子
//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中的所有内容(包括测试文件夹中的文件)。然后第三行将在中添加测试文件夹中的文件,而不会在下面添加任何内容。