通過搜索,我發現如何讓Mercurial忽略位於存儲庫目錄的根目錄中的某些目錄(以及它們包含的文件/目錄),但我無法工作了解如何將其擴展到目錄,這些目錄是中的幾個級別。讓Mercurial忽略除某些子目錄之外的所有內容
在這種情況下,我只希望版本控制以下目錄:
app/design/frontend/rc
skin/frontend/rc
其結果是,我的.hgignore文件看起來像這樣。
syntax=regexp
^(?!(app(/|$))|(skin(/|$)))
^app/code
^app/design/adminhtml
^app/design/frontend/base
^app/design/frontend/default
^app/design/install
^app/etc
^app/locale
^app/Mage.php
^app/.htaccess
^skin/adminhtml
^skin/frontend/base
^skin/frontend/default
^skin/install
我敢肯定有這樣做,不涉及應用程序和皮膚中挑選出的其他目錄的一個更好的方法,並作爲我可能會想爲我想了幾個項目做我會在這裏問。謝謝。
指甲有正確的答案。不要在正則表達式語法中使用否定斷言,只需忽略「。*」,然後手動「添加」您想要跟蹤的文件。添加覆蓋'.hgignore',所以一旦你添加它們就好像你在正則表達式中製作了一個不可讀的異常。 – 2010-11-19 14:51:10
早些時候,當我對負面斷言進行抨擊時,感覺就像我非常接近,但它不適用於嵌套目錄。如果我能找到如何做的話,那麼每次添加新文件時都會手動添加所需的目錄/文件。 – 2010-11-19 15:15:37
在更新我的答案時,我注意到了.hgignore中的一個錯字。它應該是'syntax:regexp',而不是'syntax = regexp'。 – 2010-11-19 15:27:42