38
A
回答
10
使用以下內容,您可以確定單個文件的大小。
svn list --verbose --recursive http://svn/repo/path
也許你可以環顧這個命令找到方法嗎?
5
我測試PowerShell的解決方案,它只是需要一個小的修正:
([xml](svn list --xml --recursive https://svn/repo/path)).lists.list.entry | measure-object -sum size
它一些時間來獲取XML,但工作得很好。
36
這是我對該答案的修改。它會報告svn中某個目錄下的文件數量和總大小。
svn list -vR svn://svn/repo/subdir|awk '{if ($3 !="") sum+=$3; i++} END {print "\ntotal size= " sum/1024000" MB" "\nnumber of files= " i/1000 " K"}'
+0
不,這仍然運行超過1小時來檢查<15GB的回購目錄的大小。還在等............. :( – linuscl 2016-06-07 18:59:59
2
從上面的解決方案採用,下面可能會有所幫助
#------------------------- Show Repositories, Revisions and Individual Sizes -------------------- SuN --- 2011-11-14 -- { CSVN_DIR=/opt/csvn cd ${CSVN_DIR} REPO_PREFIX="${CSVN_DIR}/data/repositories" REPO_SUFFIX="db/current" for i in `ls ${REPO_PREFIX}/*/${REPO_SUFFIX} ` do if [ -f $i ] then FILENAME=`ls -l $i` REV_NO=`cat $i` REPONAME=`echo $i | awk '{ srch="'${REPO_PREFIX}'/"; idx = index($0,srch); xstr=substr($0,idx + length(srch)); idx = index(xstr, "/'${REPO_SUFFIX}'"); print substr(xstr,1,idx-1)}'` #REPONAME=sn_library ${CSVN_DIR}/bin/svn list --verbose --recursive https://vctl.ds.xxxxxx.in:9501/svn/${REPONAME} | awk 'BEGIN {repo="'${REPONAME}'"; rev="'${REV_NO}'";} {print "Repository: " repo " Revision: " rev $0 } ' fi done #------------------------- Show Repositories, Revisions and Individual Sizes -------------------- SuN --- 2011-11-14 -- }
或
#------------------------- Show Versions of Repositories and Total Size -------------------- SuN --- 2011-11-14 -- { CSVN_DIR=/opt/csvn cd ${CSVN_DIR} REPO_PREFIX="${CSVN_DIR}/data/repositories" REPO_SUFFIX="db/current" for i in `ls ${REPO_PREFIX}/*/${REPO_SUFFIX} ` do if [ -f $i ] then FILENAME=`ls -l $i` REV_NO=`awk '{print $1; exit}' $i` REPONAME=`echo $i | awk '{ srch="'${REPO_PREFIX}'/"; idx = index($0,srch); xstr=substr($0,idx + length(srch)); idx = index(xstr, "/'${REPO_SUFFIX}'"); print substr(xstr,1,idx-1)}'` #REPONAME=sn_library COL_PREFIX="Repository:\t${REPONAME}\tRevision No:\t${REV_NO}\t${FILENAME}" COL_PREFIX=`echo "${COL_PREFIX}" | awk '{xstr = $0; gsub(" ","_",xstr); gsub(":","_",xstr); print xstr;}'` ${CSVN_DIR}/bin/svn list -vR https://vctl.ds.xxxxxx.in:9501/svn/${REPONAME} | awk 'BEGIN{xstr="'${COL_PREFIX}'"} {if ($3 !="") sum+=$3; i++} END {print xstr "\tTotal size= \t" sum/1024/1024 "\tMB" "\t spread across \t" i "\tfiles/folders "}' fi done #------------------------- Show Versions of Repositories and Total Size -------------------- SuN --- 2011-11-14 -- }
0
可以使用Subversion的list命令和金額的XML模式在文件大小。
在Linux/UNIX:
$ svn list --xml --recursive http://svn.example.org/module/trunk | awk -F'[><]' \
'/^ *<size>/ {s+=$3} END {printf("%.1f GiB\n", s/1024/1024/1024)}'
注意,實際svn籤的磁盤使用情況是基本上兩倍以上,因爲在結賬時你必須在工作目錄中的文件,並在修訂的計算緩存在.svn
特殊目錄/目錄下。
另外,如果你是不是過分關注RAM使用您使用XPath表達式來計算的總和,如:
$ printf '%.1f GiB\n' $(svn list --xml --recursive \
http://svn.example.org/module/trunk | xmlstarlet sel -t -v \
'sum(/lists/list/entry/size) div 1024 div 1024 div 1024')
或者:
$ printf '%.1f GiB\n' $(svn list --xml --recursive \
http://svn.example.org/module/trunk | xmllint --xpath \
'sum(/lists/list/entry/size) div 1024 div 1024 div 1024' -)
使用這樣一個XPath處理器一個有許多文件的存儲庫可能會產生很高的內存使用率,因爲像xmllint這樣的工具(使用libxml2)通常會在開始彙總元素之前在內存中構建完整的文檔樹。
相關問題
- 1. 總結目錄中的文件大小
- 2. Laravel - 計算目錄的總大小?
- 3. 確定緩存的總大小
- 4. PowerShell腳本獲取目錄總大小
- 5. SAS如何用於確定MB中的目錄大小(Windows)?
- 6. SVN鎖定目錄
- 7. 谷歌雲存儲 - 確定每個用戶的目錄大小
- 8. 確定Android上SD卡上目錄大小的最快方法
- 9. 如何獲取目錄中文件的總計大小?
- 10. 目標中的目錄大小C
- 11. android目錄大小
- 12. SVN正確的目錄結構
- 13. SVN定義根目錄
- 14. 如果總項目大小小於
- 15. Subversion目錄的大小
- 16. 的iOS - 獲取文件大小的總和目錄
- 17. 確定硬鏈接目錄中使用的大小的真實數量
- 18. 在Perl中確定文件大小並不總是起作用
- 19. 優雅的方式來確定網站的總大小?
- 20. 獲取目錄中文件的大小
- 21. cmd.exe中區分大小寫的目錄
- 22. 確定BLOB列的大小
- 23. 確定數組的大小
- 24. 確定UITableViewCell的大小
- 25. 如何確定ASP.Net緩存的總大小?
- 26. 以字節爲單位確定緩衝區的總大小
- 27. 目錄大小錯誤
- 28. 確定目錄是否已經存在使用SVN ANT
- 29. 確定TFS中三角洲的大小
- 30. 確定c中位塊的大小
似乎工作正常,但需要一段時間,不知道已經吞噬了多少流量。在PowerShell中,它非常簡單:'([xml](svn list --xml --recursive https:// svn/repo/path)).lists.list.entry |測量 - 總和大小' – Joey 2009-11-16 07:22:15
它也可以與外部工作嗎? – cetnar 2009-11-16 07:33:04
不。外部是一個完整的其他球賽。 – 2009-11-16 07:44:12