【问题标题】:How can I make a special file filter for mercurial revert command?如何为 mercurial revert 命令制作特殊的文件过滤器?
【发布时间】:2011-09-19 13:46:25
【问题描述】:

我需要还原工作目录中与文件名中任何位置的名称“test”匹配的所有文件。

是否可以使用hg revert -I 语法还原所有这 3 个文件:

  • /includes/test.txt
  • /test.txt
  • /test/test/test.txt

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    根据issue 1697,它应该使用以下语法(我现在无法测试):

    窗户:

    hg revert "glob:*test.*"
    # or
    hg revert -I "*test.*" --all
    

    Unix:

    hg revert 'glob:*test.*'
    hg revert -I '*test.*'
    

    (注意 Unix 的简单引号)

    正如Blaisethe comments 中指出的那样

    在 macOS/Unix 上,如果你想匹配任何目录中的文件,你需要使用**,例如

    hg revert -I '**/*test.*' 
    

    【讨论】:

    • @danip:考虑到 glob 模式是“Shell 样式的 glob”,如果它适用于 shell,它应该在 Mercurial 命令中也能正常工作。
    • 在 macOS (unix?) 上,如果你想匹配任何目录中的文件,你需要使用**,例如hg revert -I '**/*test.*'
    • @Blaise 10 年后,谢谢。我已将您的评论包含在答案中以提高知名度。
    【解决方案2】:

    扩展给定的answer above

    您可以使用以下语法将所有文件包含在还原的子目录中:

    窗户:

    hg revert "glob:**\*test.*"
    

    我假设 Unix 会是:

    hg revert 'glob:**/*test.*'
    

    【讨论】:

      猜你喜欢
      • 2019-01-06
      • 2019-09-24
      • 2016-04-18
      • 1970-01-01
      • 2011-08-02
      • 2011-08-05
      • 2013-11-09
      • 2015-05-28
      • 1970-01-01
      相关资源
      最近更新 更多