2010-03-01 65 views
3

我想不顧一切在水銀的子文件夾。忽略一切,但一個子文件夾中的水銀

我要保持文件夾:

a/b/c/d/e/f 

其他一切下:

a/b 

應該被忽略。

我在.hgignore文件中使用正則表達式模式。這是我到目前爲止:

a/b/(?!c) 
a/b/c/(?!d) 
a/b/c/d/(?!e) 
a/b/c/d/e/(?!f) 

即使這工作得很好,我想它收縮到單行:

a/b/(?!c/d/e/f) 

除了這不起作用。我試圖用幾種方法逃脫斜線,但它沒有幫助。

任何提示?

回答

1

你嘗試過這樣的:

a/b/(?!c).* 
+0

這不會忽略a/b/c/doom,例如... :( – 2010-03-01 15:45:33

0
^a/b/(?!c/d/e/f).*$ 
+0

這也沒有效果: – 2010-03-01 15:44:08

0

爲什麼不只是當A/B/C/d/E/F創建汞回購?

+0

因爲a是主要的repo,b是外部依賴和a/b/C/d/E/F是b的一個組成部分。 – 2010-03-02 16:06:48

1

你可能已經知道了,但你可以只添加的東西在A/B/C/d/E/F不添加例外.hgignore。這不是完美的,你必須記住添加任何新文件,但我想我會提到它,因爲它對我們CVS/SVN難民來說並不明顯。

+0

EHEH是的,我知道這一點,但我寧願避免這種習慣。這真的很容易出錯,而且我經常忘記東西... – 2010-03-02 16:05:25

+0

很公平。你grep '可以^/A/b/C/d/E/F' | | xargs的汞add',你甚至可以放入一個pre-commit鉤子 真的可以像'汞柱狀態-i -n自動化。不過,如果你對這個項目的佈局有任何控制權,那麼你應該把任何重要的東西和5層深的東西移動到更高層的目錄。 – 2010-03-02 17:27:42