2009-10-28 21 views
3

我一直在試圖在最初使用SVN 1.6創建的回購協議上運行svnadmin pack。 但是,我看不到任何輸出來表明命令正在執行任何操作。 是否出現碎片打包自動進行1.6版回購(而不是按需升級回購)? 我希望看到的輸出是:svnadmin是否在未升級的1.6回購版上打包?

$ svnadmin pack /var/svn/repos 
Packing shard 0...done. 
Packing shard 1...done. 
Packing shard 2...done. 
… 
Packing shard 34...done. 
Packing shard 35...done. 
Packing shard 36...done. 
$ 

但是我只是看到:

$ svnadmin pack /var/svn/repos 
$ 

,我試圖打包回購有16個版本,而我使用它作爲一個測試回購,以打包其他回購> 1000轉

回答

8

包裝只適用於1000組修訂(或任何您的分片大小)組。 如果您只有16個版本,分片仍處於活動狀態,無法打包。

一旦你有> 1000修訂,你可以打包第一個分片。

經過2000年的修訂,你可以打包下一個碎片,等等。

在這部分的release notes中有更完整的描述。

噢,要真正回答你的問題,它不是自動的,你需要每次你想打包尚未打包的舊的完整碎片時手動運行「svnadmin pack」。

0

我的documentation的解釋,特別是這條線

Subversion可以收拾現有分片庫已升級到1.6 文件系統格式(重點煤礦)

是您只需要在1.6之前創建的存儲庫上運行pack。所以我認爲pack將不會對您的本地1.6版本庫產生影響。

+2

簡短的回答是否定的。我剛剛通過創建一個新的存儲庫並添加了1400個修訂版(通過svn ci隨機生成並提交)來檢查此問題。列出db/revs/0目錄會顯示所有文件的所有榮耀。打包後,我們得到一個0.pack文件。 – 2009-10-28 14:42:27