【问题标题】:hg - Ignore directory at root onlyhg - 仅忽略根目录
【发布时间】:2012-02-21 11:57:57
【问题描述】:

在我的项目的.hgignore 中,我想排除/static/(即目录根目录下的静态文件夹),而不是/templates/static/。我将如何配置 .hgignore 以允许这样做?

【问题讨论】:

  • 你试过什么?您是否尝试过 syntax:regexp^/static/.* 之类的东西?
  • 这可以用 glob 完成吗?
  • @buffer No. 根据manpage,glob不能被root。但您可以在 .hgignore 内的语法之间切换。
  • 如果您在 .hgignore 中默认使用 glob 语法,则可以使用 re:^static/ 仅忽略 repo 根目录中的静态文件夹。

标签: mercurial hgignore


【解决方案1】:

您可以在.hgignore 的开头包含syntax: regexp,然后使用perl 正则表达式语法通过^ 来根目录。所以只需^static 就可以完成这项工作。

【讨论】:

  • 我会把它改成^static/,否则它会忽略所有名称以static开头的目录,这可能会导致混乱。
  • 如果您的.hgignore 是全局语法,您可以在^static/ 行之前和之后放置syntax: regexpsyntex: glob。显然它允许在语法之间切换。请参阅manpage“在解析随后的所有模式时,所选语法保持有效,直到选择另一种语法。”
【解决方案2】:

Mercurial 4.9 开始,您可以使用syntax: rootglob 插入有根glob 模式。

新的 rootglob:以存储库根目录为根的 glob 的文件名模式。详见 hg help patterns 和 hg help hgignore

【讨论】:

    猜你喜欢
    • 2017-09-19
    • 2015-01-28
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 2017-06-14
    相关资源
    最近更新 更多