我有一个带有多个子存储库的 Mercurial 存储库。是否有可能只在主存储库中定义一个通用的 .hgignore 文件(例如忽略目标文件),并且可以选择在子存储库中定义一个专门的文件?
手册中没有足够的信息。指定一个 .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/