2011-11-28 64 views
21

在我mercurial.ini文件,我稱之爲全球hgignore文件是這樣的:全球hgignore使用

[ui] 
ignore = ~/hgignore.ini 

這是指hgignore.ini文件,該文件是在同一目錄中mercurial.ini文件。

  1. 本地hgignore覆蓋全局hgignore嗎?
  2. 如果是這樣,它是否建議有一個單一的全局hgignore與相關部分標記或有一個全局hgignore文件的一般模式和單個本地hgignore文件的特殊模式有關特定的回購?

通過相關章節全球hgignore標,我的意思是:

syntax: glob 

# VISUAL STUDIO 

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

# TEMPORARY FILES 

*.log 
*.bak 
*.cache  
+2

對於我們這些想不通的人來說,'hgignore.ini'是Windows的名字;在其他操作系統上,它必須是'〜/ .hgrc'。 – FauxFaux

+1

@FauxFaux:錯!它對應於Unix系統上的〜/ .hgignore。 – Noldorin

+0

每個用戶* Mercurial配置文件*在Windows上是'%USERPROFILE%/ mercurial.ini',在Linux/Unix上是'〜/ .hgrc'(儘管在Windows上也允許'%USERPROFILE%/。hgrc')。這在'hg help hgrc'中有詳細介紹。 *全局忽略文件*當然可以被稱爲任何你想要的,因爲路徑是在配置文件中明確指定的。 –

回答

20

全球.hgignore被 「添加」 到當地的一個。這意味着每個存儲庫都會考慮全局的一切,但也會考慮本地存儲的內容。

對於第二個問題,我認爲最好的答案是:這取決於你想要什麼;)

  1. 如果你想對什麼是每個倉庫忽略一個非常細粒度的控制,去的地方版。
  2. 如果您不想每次創建回購時都不打擾,請將所有內容添加到全局文件中。
  3. 任何東西之間適合您的需求...

就我而言,我使用這兩者。全局.hgignore包含項目文件(Visual Studio,Netbeans),備份文件(.bak,vim),庫(dll,so等)。對於每個項目,我都會在本地文件中添加特定的內容。

+3

我不會推薦忽略Visual Studio項目文件,除非您只是將它用作編輯器。項目文件包含編譯應用程序所需的重要信息,任何克隆存儲庫的人都需要這些信息。如果他們必須自己創建它,那麼他們可以使用不同的設置創建它並獲得不同的輸出。 –

+3

我包含了項目文件,但排除了解決方案和suo文件 – Deanna