我有一个带有多个子存储库的 Mercurial 存储库。是否有可能只在主存储库和子存储库中定义一个通用的 .hgignore 文件(例如忽略对象文件)?
手册中没有足够的信息。指定一个 .hgignore 文件
[ui]
ignore = .hgignore
我的主目录中的 .hgrc 也不起作用。
有任何想法吗?
每个子存储库中的一个.hgignore
文件将作为该子存储库的专用文件。.hgignore
然后,您可以通过将其包含在每个子存储库的hgrc
文件中来使用主存储库作为主要存储库:
[ui]
ignore.main = \absolute\path\to\mainrepo\.hgignore
do 在你的全局(并且不会在 repo 中)ignore = .hgignore
对你不起作用的原因是,它只是一个相对文件路径,它对绝对路径的解析取决于调用时使用的当前工作目录。例子:.hgrc
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