我有一个 app.yamlskip_files
元素:
skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$
如何准确列出正在跳过的文件?我正在使用 OSX,所以据我所知,我的 find util 没有扩展的正则表达式。
我有一个 app.yamlskip_files
元素:
skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$
如何准确列出正在跳过的文件?我正在使用 OSX,所以据我所知,我的 find util 没有扩展的正则表达式。
使用选项运行 appcfg.py -v
。这将向您显示正在处理的每个文件,并告诉您它是否由于您的 skip_files 而被跳过。
正如文档所述:URL and file path patterns use POSIX extended regular expression syntax
.
因此,您可以使用 POSIX 正则表达式测试器来检查您的正则表达式是否按预期工作。例如http://www.rexv.org/
如果您的问题是“我如何确保我不会意外地有将被跳过的文件”,那么一种方法是从 SDK 借用代码并编写脚本。看起来 FileIterator(在 google/appengine/tools/appcfg.py 中)可以满足您的需要。(我有责任报告的警告是 FileIterator 不是已发布的 API,并且可能会随 App Engine 团队的突发奇想而改变。)
了解 POSIX 正则表达式可能会让您放心。您显示的列表跳过编辑临时文件 (1,2)、.pyc 和 .pyo 文件 (3)、RCS 文件* (4) 和任何点文件 (5)。
* RCS 是一个老式的版本控制系统。我只认识一个仍在使用它的人。如果您使用 git,则 .git(和内容)受 dotfiles 模式的保护。