为了停止为每个新存储库编写.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
存储库!
我认为我正在通过创建一个忽略的统一回购来朝着正确的方向前进,但我可能会在这里和那里遗漏一些提示。
很想听到一些建议;或者深入了解如何完成这项工作?
答案 0 :(得分:3)
我倾向于将关于我的个人工具的所有忽略模式放在我的全局忽略文件(git,mercurial)中:文本编辑器,操作系统等。其他从事该项目的人员不是关注这些,所以我让他们脱离项目的忽略文件。 这是您在每个项目中无需管理的一些忽略模式。
关于项目特定的忽略,拥有模板文件似乎已经足够了。每种语言所需的模式不会经常变化(对于大多数人来说可能永远不会)。您仍然可以在ignores存储库中编写一个小脚本来更新忽略文件。它只会导入缺失的模式。
答案 1 :(得分:3)
您可以在存储库外使用Mercurial的repo hgrc
到point to ignore files:
[ui]
ignore = /path/to/ignorefile
ignore.cpp = /path/to/cppignorefile
您也可以在全局hgrc
/ Mercurial.ini
中执行此操作,但如果您有一天需要,请记住这一点。
当然,由于hgrc
未被克隆,因此必须将此部分重新添加到回购的新克隆中。