23

在我的 mercurial.ini 文件中,我调用了一个全局 hgignore 文件,如下所示:

[ui]
ignore = ~/hgignore.ini

这是指与 mercurial.ini 文件位于同一目录中的 hgignore.ini 文件。

  1. 本地 hgignore 是否会覆盖全局 hgignore?
  2. 如果是这样,是否建议使用带有标记的相关部分的单个全局 hgignore 或具有用于通用模式的全局 hgignore 文件和用于与特定 repo 相关的特殊模式的单个本地 hgignore 文件?

通过标记相关部分的全局 hgignore,我的意思是:

syntax: glob

# VISUAL STUDIO

*.obj
*.pdb
*.suo
[Bb]in
[Dd]ebug*/
[Rr]elease*/

# TEMPORARY FILES

*.log
*.bak
*.cache    
4

1 回答 1

21

全局.hgignore被“添加”到本地。这意味着每个存储库都会考虑全局存储库中的所有内容,但也会考虑本地存储库的内容。

对于第二个问题,我认为最好的答案是:这取决于您想要什么;)

  1. 如果您想对每个存储库忽略的内容进行真正细粒度的控制,请选择本地版本。
  2. 如果您不想每次创建存储库时都被打扰,请将所有内容添加到全局文件中。
  3. 介于两者之间的任何东西都可以满足您的需求...

就我而言,我同时使用它们。全局.hgignore包含项目文件(Visual Studio、Netbeans)、备份文件(.bak、vim)、库(dll、so 等)。对于每个项目,我都会在本地文件中放入任何特定的内容。

于 2011-11-28T21:40:59.533 回答