2011-08-01 60 views
9

我在Windows 7中使用龜SVN 1.6.16如果我有一個特定的文件類型我想排除未來提交,我想我可以找到一個文件鍵入我的工作文件夾,然後右鍵單擊它,然後選擇「TortoiseSVN->刪除並添加到忽略列表 - > *。ext」,其中ext是我單擊的文件的文件擴展名,如下圖所示。通過龜通過通配符排除文件SVN shell菜單

但是,當我這樣做時,它只會排除該特定文件,並且在我下次提交時,該類型的所有其他文件仍然出現在列表中提交。

我做錯了什麼?我怎麼才能告訴Tortoise或SVN從未來的提交中忽略所有類型的文件?

enter image description here

回答

15

我的預感與@Stefan一樣:你可能在子目錄中看到文件,並認爲即使你只將忽略應用於單個文件夾,也應該忽略這些文件。

因此,如果這是事實的話,這裏是食譜:

當你想忽略從一個單一的目錄中的文件或圖案:

使用便利菜單命令添加到忽略列表。

當你想從一個樹忽略文件或圖案:

打開子樹的根的顛覆性質(TortoiseSVN >> Properties)。爲svn:ignore關鍵字添加或編輯條目。該圖顯示了一個示例,其中我已指定忽略obj子文件夾以及所有帶有.user.bak擴展名的文件。

enter image description here

的祕密,雖然是在規範 - 當你定義忽略模式,選擇遞歸選擇,因爲在此間表示:

enter image description here

不幸的是,有一個趕上這種方法:在我的例子中,我以前已經指定忽略obj*.user,我只是添加*.bak模式。當我遞歸申請時,它不適用於所有子文件夾中的svn:ignore關鍵字(obj,* .user和* .bak)更改(* .bak),但所有內容。這可能是也可能不是你想要的,所以要注意它。

+1

好吧,我試過了,它看起來像它會做我想做的事情。應用於忽略一些文件類型,新的svn:ignore條目取代了舊的,它有一些更詳細的排除(特定文件)。有什麼辦法可以有多個忽略特性,所以你可以有一個全局組合工作文件夾)和特定的文件排除? – SSilk

+1

是的,我應該更明確:'svn:ignore'關鍵字適用於所有子文件夾所選文件夾將被您正在應用的新套件覆蓋。所以這種技術對所有情況都不是萬能的。 –

2

它忽略所有BAT文件的權利,但不是遞歸!它只會在您將其添加到忽略列表的文件夾中忽略它們。

+0

有沒有一種簡單的方法可以讓它忽略整個當前的工作目錄?如果沒有,至少要考慮到它子文件夾,所以我可以做一個我想排除在工作文件夾的根目錄的類型的文件,並排除?謝謝。 – SSilk

1

你也可以使用龜的全球忽略模式(如果它是適用於所有的工作拷貝):

  • TortoiseSVN的 - >設置
  • 一般
  • 填寫「全球忽略模式」字段,如添加「*」。ext「,用空格分隔條目