我有一个带有几个子存储库的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/