Có thể phân tích kích thước của kho lưu trữ SubVersion không?


10

Có thể biết mỗi dự án sử dụng bao nhiêu dung lượng đĩa trong kho lưu trữ SubVersion không?

Tôi có thể kiểm tra một bản sao làm việc của từng dự án và xem kích thước của mỗi dự án, nhưng tôi không nghĩ rằng nó bao gồm tổng kích thước của dự án (tất cả các sửa đổi).

Tôi có thể xem trong thư mục "db" của kho lưu trữ, nhưng không có tệp nào trong đó có ý nghĩa - tôi không nghĩ có thể sử dụng chúng để tìm ra mỗi dự án chiếm bao nhiêu dung lượng.

Tôi đã thử svn ls --verboselệnh, nhưng kích thước mà nó mang lại cho tôi chỉ là kích thước của các tệp thực tế trong bản sửa đổi đầu, tôi không nghĩ rằng nó bao gồm tất cả các sửa đổi.

Có lẽ điều này là không thể, nhưng tôi nghĩ tôi sẽ hỏi.

Cảm ơn trước!

Câu trả lời:


1

Điều duy nhất xuất hiện trong tâm trí tôi là thế này:

  • tạo một kho lưu trữ trống mới tạm thời

  • svnadmin kết xuất kho lưu trữ cũ, lọc nó để chỉ giữ lại một dự án duy nhất với svndumpfilter và nhập nó vào kho lưu trữ mới

  • nhìn vào kích thước của kho lưu trữ mới, sau đó xóa nó


3

Tôi đã sử dụng gần đây nhưng thay đổi một chút để chính xác hơn

svn list -vR svn://server/repo/somedir | awk '{tmp=match($3,/[0-9]/);if(tmp){sum+=$3; i++}} END {print "\ntotal size= " sum/1024000" MB" "\nnumber of files= " i/1000 " K"}'

Tôi đã sử dụng

{tmp=match($3,/[0-9]/) 

thay vì nếu

($3 !="")

vì nó cho số tập tin chính xác hơn


2

Nếu bạn sử dụng -rtùy chọn, bạn có thể chỉ định sửa đổi.

Ví dụ: sửa đổi 1000:

svn ls -vR -r 1000

1

Kích thước của kho lưu trữ có thể được tìm thấy bằng cách sử dụng lệnh sau ..

Mặc dù điều này không tạo ra kết quả chính xác mọi lúc, tôi thấy điều này hữu ích trong hầu hết thời gian.

svn list -vR svn://server/repo/somedir | awk '{if ($3 !="") sum+=$3; i++} END {print "\ntotal size= " sum/1024000" MB" "\nnumber of files= " i/1000 " K"}'.

1

Nếu bạn có quyền truy cập vào thiết bị đầu cuối máy chủ, bạn có thể sử dụng du (đĩa được sử dụng):

du -sh /var/svn-repos/project-doomsday

cung cấp cho bạn tổng dung lượng được sử dụng bởi repo đó trên máy chủ, bao gồm cả cơ sở dữ liệu thường nhỏ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.