我有一个带有几个子存储库的Mercurial存储库。是否有可能只在主存储库中定义一个通用的.hgignore-file(例如忽略目标文件),或者在子存储库中定义一个专用的.hgignore-File?

手册中没有足够的信息。用。指定一个.hgignore文件

[ui]
ignore = .hgignore

到我的主目录中的.hgrc也不起作用。

有任何想法吗?

最佳答案

每个子仓库中的.hgignore文件将用作该子仓库的专用文件。然后,可以通过将其包含在每个子仓库的.hgignore文件中,来将其作为主要仓库的hgrc:

[ui]
ignore.main = \absolute\path\to\mainrepo\.hgignore

之所以在全局ignore = .hgignore中对您不起作用.hgrc(对repo hgrc无效)不起作用,是因为仅使用.hgignore是相对文件路径,其绝对路径解析取决于调用时使用的当前工作目录。 hg。例子:
  • 如果您使用\repos\main\并调用hg st,它将查找\repos\main\.hgignore。如果调用hg st -R nested也是一样,因为当前工作目录仍然相同。
  • 但是,如果您在\repos\main\nested\中,然后又调用了hg st,则配置现在将在\repos\main\nested\.hgignore中进行查看。

  • 如果要指定位于主目录中的全局.hgignore,则需要使用非相对路径(或至少要少一些相对路径)来指定它:
    [ui]
    ignore = ~\.hgignore
    

    关于mercurial - 使Mercurial存储库中的.hgignore可用于所有子存储库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7796542/

    10-10 09:28