【问题标题】:Mercurial in Windows doesn't see .hgignore - why?Windows 中的 Mercurial 看不到 .hgignore - 为什么?
【发布时间】:2009-11-25 17:57:47
【问题描述】:

Windows 无法获取我的 .hgignore 文件。我从命令行运行 Mercurial,“hg status”在被忽略的目录中显示了很多文件。

.hgignore 文件如下所示(文件开头或每行开头没有空格)。我已经把它放在仓库的根目录下。

\.pyc$
\.pyo$
\.DS_Store
\.Python
\.installed.cfg
^bin$
^build$
^develop-eggs$
^eggs$
^include$
^lib$
^parts$
^pip-log.txt$
^web/localsettings.py$

我尝试将文件保存为 ANSI 和 UTF-8,但似乎没有什么不同。

我知道该文件在 Linux 上运行良好,Windows 中的路径有什么不同吗?

【问题讨论】:

    标签: windows mercurial


    【解决方案1】:

    如果 .hgignore 文件在您的用户配置文件目录 (%userprofile%/.hgignore) 中,则编辑您的 mercurial.ini(它也应该在您的用户配置文件文件夹中)以包含以下内容:

    [ui]
    ignore = %USERPROFILE%/.hgignore
    

    这将导致 hg 识别并使用您的 .hgignore 文件。用户配置文件目录中的 .hgignore 文件将影响 hg 对所有存储库的行为。如果您想对每个存储库进行特定设置,您应该能够将 .hgignore 文件放在每个存储库的根目录中。

    【讨论】:

    • +1 以获得好的答案。当不合格的答案得到检查时,这有点烦人。
    • 另一个注意事项:您应该将 .hgignore 添加到您的工作目录根目录(不是存储库根目录)以使其正常工作。我自己也搞糊涂了:)因此你也可以追踪这个文件!
    【解决方案2】:

    另外,请注意:即使 Mercurial 正在获取您的新 .hginore 文件,它也不一定会忽略所有指定的文件!在您从存储库中明确删除之前,不会忽略之前添加到存储库的任何文件。

    【讨论】:

      【解决方案3】:
      • 首先,.hgignore 文件必须位于存储库的根目录中
      • 然后,您必须在 .hgignore 文件的第一行指定使用的语法(在您的情况下为正则表达式):

      语法:正则表达式

      【讨论】:

        【解决方案4】:

        “hg status”显示被忽略目录中的大量文件

        您指的是 .DS_Store 和 .Python 吗? ^bin$ 的规则只会忽略具有该确切字符串的条目。例如,它不会忽略“bin/a.out”。

        我唯一能想到的另一件事是,是否有一些全局设置将语法设置为 glob(而不是正则表达式的默认值)隐藏在某处。我不知道有这样的事情,如果安装官方二进制版本的 Mercurial,它肯定不会默认打开。

        【讨论】:

          猜你喜欢
          • 2016-01-13
          • 1970-01-01
          • 1970-01-01
          • 2011-01-15
          • 2012-02-10
          • 2011-01-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多