2009-10-29 53 views
4

我有模式svn:ignore datasheets/*/*.pdf
它應該忽略當前根文件夾下多個「數據表」目錄下任意深度的所有pdf文件。我的svn:ignore模式有什麼問題?

舉個例子:說我有一個目錄結構像這樣

 
Websites 
    -web1 
    -dataSheets 
     -AT 
     -ignore.pdf 
     -BE 
     -NL 
      -ignore.pdf 
     -FR 
      -ignore.pdf 
      -ignore2.pdf 
    -licenseAgreements 
     -important.pdf 
    -web2 
    -datasheets 
     -etc 

在這個例子中,模式需要忽略所有的ignore.pdfs沒有太多ingoring的important.pdf。

顯示的模式仍包括我所有的pdf文件。

我知道有一堆類似的問題,但他們沒有一個似乎解決了各層級的問題。

+0

請添加(對問題,而不是評論)一些svn命令的輸出,指示模式失敗。例如。 svn狀態,在更改某些PDF之前和之後:s。 – unwind 2009-10-29 11:25:55

+0

我不完全確定你的意思。我已經將顯示的模式添加到根的屬性中,在任何較低的目錄中添加的pdf都不會被忽略 – 2009-10-29 12:38:19

回答

0

svn:忽略僅對其已設置的目錄有效。要忽略子目錄下的文件,你必須遞歸地將這個屬性應用到子目錄。 (-R開關)。

請試試這個:

svn propset svn:ignore "*pdf" -R datasheets 
+0

它仍然添加所有的pdf:S – 2009-10-29 13:25:48

2

the documentation

[U] nlike的global-ignores選項,在svn:ignore屬性中找到的模式只適用於在其上設置該屬性的目錄而不是其任何子目錄。

您需要遞歸應用忽略模式,您可以使用--recursive選項執行此操作。

+0

可悲的是,給出的示例並不是真實的情況。在我的真實世界的情況下,有許多數據表文件夾,文件夾會來去。每次應用它都是瘋子的工作 – 2009-10-29 13:21:47

1

您應該使用全局忽略功能中的內部版本。忽略與svn屬性將只在一個級別上工作,是的,你必須改變他們或重新添加他們,如果新的文件夾將被添加。

因此,使用它可以在您的本地配置中找到全球忽略的客戶端功能[周圍線94,尋找「全球忽略]

本地配置下可以找到:

窗口:

%APPDATA%\subversion\config 

* nix的

~/.subversion/config 
+0

他不想忽略所有的PDF,只有大部分。 – 2009-10-29 14:14:02

+0

我以爲他想忽略某個文件名的所有pdf,但不要忽略其他文件名 – 2009-10-29 15:44:38

0

我80%肯定你不能這樣做你想要的是什麼。查看提交後的掛鉤 - 您可以評估正在添加的文件的路徑名,並在符合您指定的條件時拒絕它。