2011-07-13 75 views
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存儲庫我再次!

我認爲我正在通過爲忽略創建一個統一的倉庫來向正確的方向發展,但我可能在這裏和那裏都缺少一些小技巧。

很想聽聽一些建議;或對你如何完成這一任務的見解?

回答

3

可以使用水銀的回購的hgrcpoint to ignore files庫之外:

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

您也可以在全球hgrc/Mercurial.ini做到這一點,但是這只是事情要記住,如果你需要它總有一天。

當然,由於hgrc未被克隆,因此必須將此部分重新添加到回購的新克隆中。

3

我傾向於在我的全局忽略文件(git,mercurial)中放置關於我的個人工具的所有忽略模式:文本編輯器,操作系統等。在項目上工作的其他人不關心這些,所以我保留他們脫離了項目的忽略文件。 這是一些忽略模式,您不必在每個項目上進行管理。

關於項目特定的忽略,有模板文件似乎足夠好。每種語言所需的模式不會經常改變(可能絕大多數模式從未改變)。您仍然可以在忽略存儲庫中編寫一個小腳本來更新您的忽略文件。它只會導入缺失的模式。

+0

我使用版本控制的視覺演播室解決方案(僅限hg)的模板。 .hgignore由mercurial進行跟蹤,幷包含非源非自動生成文件的規則。在通過ATL項目製作COM對象時特別方便。 –

相關問題