2012-02-15 62 views
2

我在幾乎每一個文件夾中有一個名爲content.txt水銀忽略所有的文件,除了特定的文件名

我要跟蹤每個content.txt文件命名,並自動忽略其他一切文件的大型文件系統。我想要repo自動跟蹤名爲content.txt的新文件,所以我不想忽略.hgignore中的所有內容,然後手動添加。

任何人都知道如何做到這一點?

回答

2
  1. 它必須是正則表達式模式,glob的不
  2. 您必須調試正則表達式的 路徑的一部分,但「所有除content.txt」草案 re:.*\.(?!content.txt)如希望

替代解決方案可以 *忽略所有 *添加content.txt文件模式commit命令(-I選項),見hg help commithg help patterns

hg commit -I '**content.txt'

編輯

re:.*/(?!content.txt)

+0

感謝您的回覆,但它無法按預期工作。 使用您的第一個解決方案會忽略除名稱中沒有擴展名的所有文件。所有的content.txt文件仍然被忽略(這些是我想跟蹤的文件)。 第二個解決方案也不起作用。當我輸入'hg add -n -I'** content.txt''時,它執行命令但不顯示任何文件。我希望這裏顯示所有的content.txt文件。 – 2012-02-15 21:49:07

+0

當我做了上面的'hg add'時,忽略了所有的文件。我*可以*執行'hg add -n -I'** content.txt''並查看所有要添加的context.txt文件,但這不會自動獲取新的context.txt文件。 – 2012-02-15 21:56:22

+0

@ Xenocideae - 正則表達式的路徑部分必須修復。 「\」。肯定是錯誤的。 'hg commit -I'會(我想沒有測試)只提交**修改** content.txt,沒有修改的文件沒有出現在設計變更集中(TBT!) – 2012-02-15 22:19:02

1

試試這個:

syntax: regexp 
\.(?!txt$)[^.]+$ # "*." is followed by "txt" and we're at the end 
(?<!\.)txt$ # "txt" follows a "." 
(?<!/)content\. # "content." follows path separator 
(?<!content)\. # "." follows "content" 

我留在試驗的同時,使這一切感覺對我所提出的意見。 (這是第一個語法中的glob語法。)

相關問題