2010-06-02 26 views

回答

3

工作副本將比存儲庫中各個文件大小的兩倍大一點,因爲它存儲每個文件的原始版本.svn子目錄。 (它也存儲其他管理數據,例如屬性,但這應該不會太多。)

想要某種方式列出存儲庫中的文件(來自要檢出的子樹),文件大小,並總結它。我不認爲svn命令行工具直接這樣做,但它會做它爲每個文件:

svn ls -v -R file:///d:/svn/edmund/fs/trunk 

2891 edmund    Oct 23 2009 ./ 
2867 edmund   140 Aug 14 2009 Makefile 
2883 Edmund   12869 Oct 15 2009 block.c 
2883 Edmund   9817 Oct 15 2009 file.c 
2883 Edmund   7572 Oct 15 2009 fs-internal.h 
2884 edmund   6845 Oct 16 2009 fs.c 
2891 edmund   1407 Oct 23 2009 fs.h 
2891 edmund    Oct 23 2009 linux/ 
2867 edmund   208 Aug 14 2009 linux/Makefile 
2891 edmund   6684 Oct 23 2009 linux/main.c 
2882 edmund   4822 Oct 15 2009 notes.txt 
2891 edmund   7408 Oct 23 2009 operations.c 
2891 edmund   3834 Oct 23 2009 special.c 
2880 edmund    Oct 01 2009 test/ 
2869 edmund   695 Aug 16 2009 test/Makefile 
2880 edmund   11220 Oct 01 2009 test/operations-test.c 
2877 edmund   3826 Aug 20 2009 test/tree-test.c 
2883 Edmund   23413 Oct 15 2009 tree.c 
2883 Edmund    Oct 15 2009 win/ 
2883 Edmund   28590 Oct 15 2009 win/main.c 

您可以手動總結這些,或管一個scriptlet將總結列中的所有值12 26(eg)。

+0

這會告訴你每個文件有多大,但實際的檢出會佔用比文件大小的簡單總和更多的空間,因爲文件系統以固定單位分配塊,這會浪費每個文件的一些空間。如果你知道你的文件系統塊大小,我想你也可以計算。你也可以考慮創建目錄。 – 2015-09-11 18:06:24

+0

如果您的存儲庫包含任何外部鏈接,結帳也會遍歷該內容。因此,您需要將其添加到求和中。 svn propget -R svn:externals [URL] – 2015-09-15 18:20:21

1

使用TortoiseSVN我可以看到回購中的文件大小。但不是目錄。這可能有幫助。

0

您無法預先知道尺寸。 如果你知道有人檢查出來,那麼你可以問他們。

1

因爲我的名譽,我不能評論埃德蒙的答案。

我通常使用下面管我們的Subversion服務器上計算內容的大小在一些路徑(在這種情況下,行李箱/項目):

svn ls -vR file:///path/to/repo/trunk/project | awk '{if ($3 != "") sum+=$3; i++} END {printf "\n%s: %.0f\n%s: %.0f %s","files qty",i,"wc size",sum/1024/1024/1024,"GB"}' 

但在一個工作的情況下複製,還必須包括簽出時也會產生.svn目錄的大小。在我的情況下,一份新的工作拷貝會爲.svn增加兩倍。因此,對於10GB的內容,我計劃爲工作副本提供20GB的磁盤空間,另外還有一些用於未來的需求。

相關問題