2017-06-29 45 views
1

這裏是我的場景:我有一個根文件夾,其中包含許多與項目相關的文件和文件夾。根文件夾在版本控制下,但其中包含的一些文件/子文件夾實際上被添加到回購站中。這樣做是因爲只有這些文件需要安全地跟蹤並與更大的工作組共享保持不活動的本地SVN工作副本,佔地面積最小

現在,我不再在項目上工作了,而且我希望保留本地副本,並儘可能減少佔用空間。如果這樣做合理,我還希望副本仍保留所有重新連接到回購的信息。在實踐中,我想:

  1. 保留所有未版本控制(顯然)下
  2. 保留的.snv文件夾關於回購狀態中的「元數據」的文件,但在沒有實際數據它(目前的.svn文件夾大小與版本化文件大小相同,我認爲是因爲它保留了本地副本的回購版本)
  3. [可選]能夠刪除版本化文件,但能夠毫不費力地 - 從回購下載他們,如果我需要再次對他們工作

(1)是t rivial

(3)我想我可以通過手動刪除它們(不使用SVN來做),以便在下次「更新」時它會發現它們丟失並再次下載它們,對吧? (2)如何?(012)?我發現有人問你是否可以阻止SVN存儲原始數據,答案是否定的。然而,這更多的是作爲一個永久的環境,同時積極參與一個項目。在這裏,我問我是否可以以某種方式刪除這些數據,並讓SVN再次下載它,如果說一年,我需要再次開始回購。我可以進入SVN並下載一些「數據子文件夾」而不會破壞任何內容嗎?任何其他想法?

感謝

回答

1

你想要一個sparse checkout,你希望它是如此稀少,有什麼在裏面。在你結賬根目錄下,運行以下命令:

svn update --set-depth empty 

這將從SVN工作拷貝中刪除所有版本的項目(它使受控的項以及版本的文件,在版本目錄)。此命令不一定從原始存儲中刪除所有文件,但你可以強制使用與您的根目錄中的cleanup(假設你的客戶是1.8或更高版本):

svn cleanup 

the changelog

Version 1.8.0 
(18 Jun 2013, from /branches/1.8.x) 
http://svn.apache.org/repos/asf/subversion/tags/1.8.0 

User-visible changes: 
    - Minor new features and improvements (client-side): 
    ... 
    * 'svn cleanup' now runs SQLite "vacuum" to reclaim space (r1418459)