【问题标题】:Google App Engine App.yaml config for skip-files to ignore Mercurial files用于跳过文件以忽略 Mercurial 文件的 Google App Engine App.yaml 配置
【发布时间】:2011-04-23 07:10:52
【问题描述】:

我在 skip_files 的顶部添加了一行,以使应用引擎部署跳过所有以 .hg 开头的文件,例如 .hgignore 文件和 .hg 目录。这会忽略整个 .hg 目录及其所有文件和子目录吗?

skip_files:
- ^(.*/)?\.hg*$
- ^(.*/)?app\.yaml
- ^(.*/)?app\.yml
- ^(.*/)?index\.yaml
- ^(.*/)?index\.yml
- ^(.*/)?#.*#
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*

【问题讨论】:

    标签: google-app-engine mercurial yaml


    【解决方案1】:

    default 跳过 unix 风格的隐藏文件和文件夹。换句话说,任何以点 (.) 开头的文件都已被跳过。如果列表最后没有缺少*,这就是列表中最后一行的作用(我假设 \s 实际上在那里)。

    您的建议:^(.*/)?.hg$ 不太正确。要匹配以.hg 开头的任何文件,您需要^(.*/)?\.hg.*

    你应该阅读regular expressions

    编辑:从 appcfg.py update -v 添加转储。

    Scanning files on local disk.
    2010-10-10 17:14:07,244 INFO appcfg.py:1693 Ignoring directory '.hg': Directory matches ignore regex. 
    2010-10-10 17:14:07,244 INFO appcfg.py:1686 Ignoring file '.hgignore': File matches ignore regex. 
    

    【讨论】:

    • Mercurial 还有一个名为 .hg 的文件夹。我的正则表达式希望捕获 .hgignore 文件和 .hg 目录及其所有文件。例如,在 .hg 文件夹中名为 undo.branch 的文件实际上称为 .hg\undo.branch ,它将与我的表达式匹配。换句话说:任何以 .hg开头的东西都不得上传到 Google。
    • 应用引擎看到 .hg\undo.branch 还是看到 undo.branch?它传递给正则表达式子例程的是什么?
    • 您建议的模式将匹配以“hg”结尾的内容。它会查看路径,因此会看到“.hg/undo.branch”。我建议的正则表达式应该捕获以 '.hg' 开头的任何内容,然后是零个或多个字符。但是,同样,默认的跳过文件模式应该跳过以句点开头的任何内容。
    • 它似乎没有上传文件 - 但我也不知道如何告诉 GAE GUI 在部署时给我一个详细的列表。我当然不知道如何“探索”上传到应用引擎进行验证的文件!
    • 从命令行运行appcfg.py update -v .。这将为您提供详细的输出。从我的输出中可以看出,默认设置 将忽略 .hg*.
    猜你喜欢
    • 2022-01-24
    • 2020-12-28
    • 1970-01-01
    • 2012-11-27
    • 2012-11-19
    • 2020-03-19
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多