2011-07-08 301 views
0

我們在我的工作中使用SVN作爲設計資產的巨大服務器。我喜歡將我們的服務器的根目錄保留下來,這樣我就可以在組織更新目錄層次結構時對其進行更新。但他們是在我不會觸及...的某些目錄...,他們是巨大的... 15 GB +。忽略SVN中的目錄

我想要rm這些目錄,並且讓它們不會從根目錄中退出。這可能嗎?

+0

選中此http://stackoverflow.com/questions/50945/can-you-do-a-partial-checkout-with -subversion – pmod

回答

1
svn propset svn:ignore <dir> 

將忽略目錄。

+0

如果我告訴它忽略一個目錄,然後刪除該目錄,那麼不會忽略該目錄的標誌消失嗎?我想確保它下次不會再下載。 –

+0

如果您未對初始結帳後永不下載的目錄進行更改。 Svn會將存儲庫中的「更改」複製到本地結帳中,而不是整個存儲庫本身。 – Grammin

+0

如果你這樣做,你需要小心,永遠不要檢查物業的變化。 –

2

我不確定你可以完全按照你所描述的來做,但你可以明確地做相反的事情:只檢出你需要的目錄。該功能被稱爲Sparse Directories

3

您需要的是不要忽略這些文件夾(因爲忽略意味着將它們設置爲不在存儲庫中),而是控制結帳的深度。

您可以使用來簽出您的根目錄--depth immediates選項此選項僅用於簽出根目錄的子文件夾。然後往裏走,做你所需要的文件夾或結賬相同與--depth無限目錄中,您有興趣。

PS GUI SVN客戶喜歡TortoiseSVN讓這個過程更加方便。

3

如果您正在檢查新鮮事物,請使用pmod的答案來避免下載GB。如果你已經有了一個工作副本,你可以重置與深度:

svn update --set-depth empty <dir> 
+0

謝謝您的補充。 --set-depth的參數是:empty,files,immediates,infinity和exclude(http://code.google.com/p/svnbook/issues/detail?id=78) – pmod

+1

或''svn update - 設置深度排除「來排除目錄而不是保持空白。 (需要Subversion 1.6+用於目錄或1.7 Alpha +用於排除單個文件) –