2009-09-01 121 views
4

我的回購有一個包含一些非常大的文件的目錄,每當這些更改時它浪費了我每天更新的幾分鐘時間......它們不是我需要的文件。SVN:阻止子目錄更新?

也許理想情況下,他們會在自己的回購站,但這不是我的選擇...有沒有一種方法可以讓SVN不包括該目錄,當我更新整個工作目錄,但將允許我手動更新該子目錄,如果我想每週左右?

最好使用龜,而不是命令行...

PS:我嘗試使用忽略,但由於某種原因,似乎要刪除的子目錄...雖然這可能是我做錯了。

回答

3

是的,你可以使用Subversion的新版本(版本1.5)--depth feature。你可以像下面這樣做:用--depth immediates

  • 對於所有目錄除了

    • 檢查出你的項目的根目錄要排除,檢查出有沒有--depth選擇這些目錄(或等價的一個,--depth infinity

    Subversion會記住您的深度偏好,因此當您從項目根目錄執行update時,您省略的目錄(包含大文件)將被跳過。

    TortoiseSVN在GUI中也支持checkout depth

    請注意,雖然1.5或更高版本的Subversion客戶端將支持上述選項,但爲了高效工作,服務器也必須更新到1.5或更高版本。否則,由於服務器不理解--depth請求,客戶端將會詢問所有內容並在客戶端過濾掉更新。顯然這不會解決您的更新問題花費太長時間。

  • 4

    Subversion 1.6增加了一項新功能,名爲Spare Directory Exclusion(它甚至比1.5中的--depth更好),因爲您可以直接指定不希望在單個命令中更新哪個目錄。

    svn update --set-depth=exclude www 
    

    要找到的例子in the blog

    我真的不知道這是如何工作在烏龜(我認爲這是不可能的)。

    +0

    它可能在TSVN。嘗試「更新到修訂」命令。然後選擇您要/不想要的目錄。它會從您的工作副本中「刪除」未經檢查的目錄! – 2013-06-05 03:36:39

    1

    你能不能只是添加一個svn:ignore?