如何为 Mercurial revert 命令制作特殊的文件过滤器?

发布于 2024-12-05 11:05:46 字数 191 浏览 1 评论 0原文

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

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

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

I need to revert all files in a working directory that match the name "test" anywhere inside the filename.

Is it possible to revert all this 3 files by using hg revert -I syntax:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

够运 2024-12-12 11:05:46

根据 它应该可以使用以下语法(我现在无法测试它)问题 1697

Windows:

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

Unix:(

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

注意 Unix 的简单引号)

正如 Blaise评论

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

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

It should work (I cannot test it right now) with the following syntax, according to issue 1697:

Windows:

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

Unix:

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

(Note the simple quotes for Unix)

As noted by Blaise in the comments

On macOS/Unix, you need to use ** if you want to match files in any directory, e.g.

hg revert -I '**/*test.*' 
云裳 2024-12-12 11:05:46

扩展给定的 上面的答案

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

Windows:

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

我假设 Unix 是:

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

To expand on the given answer above

You can include all files in subdirectories in your revert by using the following syntax:

Windows:

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

And I assume Unix would be:

hg revert 'glob:**/*test.*'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文