2010-02-26 39 views
0

是否有可能在使用glob語法的.hgignore文件時,遞歸地忽略某些文件和文件夾,除了一個?關於Mercurial,.hgignore文件和glob語法

假設你有:

a/ 
a/b 
a/c 
a/d 

喜歡的東西:

syntax globe: 
a 
^a/b 

這應該理想地忽略Çd並保持b

我知道這已經在其他SO問題中討論過了,但似乎他們都使用正則表達式模式的語法。

+0

爲什麼你不能使用正則表達式語法?這會容易得多。 – dalloliogm 2011-10-10 09:06:19

回答

2

glob語法在match.py中轉換爲正則表達式。看起來,這是你正在尋找的語法:

syntax:glob 

a/*[!b] 
+0

這在這個例子中起作用,但顯然不是嵌套的子文件夾(在我真正的回購中,我需要跳過類似/ * [!b/sub/subsub]的東西)。我試圖以幾種模式逃脫斜線,但它沒有幫助。任何建議? – 2010-03-01 12:26:37

+0

迄今爲止被接受爲最佳答案:) – 2010-03-17 10:13:00

3

如果你想忽略所有的,但只是添加一個。添加一個文件覆蓋忽略它,這與subversion或cvs不同,但是非常方便。

+0

我寧願避免此過程。這很容易出錯,我通常在創建大量文件後忘記添加文件:) – 2010-03-01 12:28:17

+0

@Roberto Aloi比所有可執行文件和其他生成的東西都會讓你的提交混亂。我寧願添加新文件,而不是每次刪除所有不需要的東西。 – Joschua 2010-10-22 13:42:40