1

为了停止.hgignore为每个新存储库编写我的;我决定为我创建一个单独的存储库hgignores,目前看起来像:

hgignores    
├── cpp
├── eclipse
├── intellij
├── java
├── latex
├── linux
├── netbeans
├── osx
├── python
└── textmate

现在对于每个存储库,我都粘贴了相关的忽略。

例如:

$ cat hgignores/latex hgignores/osx hgignores/textmate >> [repo]/.hgignore

这让我想知道,如果将来我碰巧忘记了cpp(例如)忽略文件的标志,我将不得不再次编辑hgignores/cpp并最终在cpp我拥有的每个存储库中进行更改!

我认为我正在通过为忽略创建一个统一的仓库来朝着正确的方向前进,但我可能会在这里和那里遗漏一些提示。

很想听听一些建议;或对如何完成这项工作的见解?

4

2 回答 2

3

我倾向于将所有关于我的个人工具的忽略模式放在我的全局忽略文件(gitmercurial)中:文本编辑器、操作系统等。从事该项目的其他人并不关心这些,所以我将它们排除在外项目的忽略文件。这是您不必在每个项目上管理的一些忽略模式。

关于项目特定的忽略,拥有模板文件似乎已经足够了。每种语言所需的模式不会经常改变(对于大多数人来说可能永远不会)。您仍然可以在您的忽略存储库中编写一个小脚本来更新您的忽略文件。它只会导入缺失的模式。

于 2011-07-13T06:54:25.233 回答
3

您可以使用 Mercurial 的存储库hgrc指向忽略存储库之外的文件:

[ui]
ignore = /path/to/ignorefile
ignore.cpp = /path/to/cppignorefile

您也可以在全局hgrc/中执行此操作Mercurial.ini,但如果有一天您需要它,请记住这一点。

当然,这部分必须重新添加到 repo 的新克隆中,因为hgrc没有克隆。

于 2011-07-13T16:00:12.923 回答