按design,Perforce不允许添加带通配符@#%*
的文件名。它给出了这个错误:
Can't add filenames with wildcards [@#%*] in them.
Use -f option to force add.
但是,我有SASS文件,其上有@
来支持mixins。例如:
carbon-fibre-@2X.png
sprite-dashboard-@2X.png
将这些文件添加到Perforce的最佳解决方法是什么,对签入,结帐,编译,构建和部署流程的影响最小?
答案 0 :(得分:4)
您可以添加包含Perforce通配符的文件。由于' p4帮助添加'页面文件:
要添加包含通配符的文件名的文件, 指定-f标志。包含特殊字符的文件名 ' @','#','%'或' *'重新格式化以使用编码字符 ASCII十六进制表示。添加文件后,您 必须使用重新格式化的文件名来引用它们,因为Perforce 无法识别本地文件系统名称。
要求使用编码的'%40'来统一引用文件名。很烦人,我同意,但确实工作。
这是一个简短的例子:
$ touch 'carbon-fiber-@2X.png'
$ p4 add 'carbon-fiber-@2X.png'
The file named 'carbon-fiber-@2X.png' contains wildcards [@#%*].
Can't add filenames with wildcards [@#%*] in them.
Use -f option to force add.
$ p4 add -f 'carbon-fiber-@2X.png'
//depot/carbon-fiber-%402X.png#1 - opened for add
/path/to/carbon-fiber-@2X.png - empty, assuming text.
$ p4 submit -d added-carbon-fibre
Submitting change 2.
Locking 1 files ...
add //depot/carbon-fiber-%402X.png#1
Change 2 submitted.
$ p4 files //...
//depot/carbon-fiber-%402X.png#1 - add change 2 (text)
$ p4 fstat //depot/carbon-fiber-%402X.png
... depotFile //depot/carbon-fiber-%402X.png
... clientFile /path/to/carbon-fiber-@2X.png
... isMapped
... headAction add
... headType text
... headTime 1466547058
... headRev 1
... headChange 2
... headModTime 1466547033
... haveRev 1