như Hubert nói, svnadmin pack
sẽ đóng gói tất cả các tệp repo riêng lẻ trong một thư mục thành một tệp lớn. Điều này sẽ giúp bạn tiết kiệm một số không gian, nhưng nó chỉ đưa ra ngày tính toán cho bạn. (nó sẽ làm cho hoạt động lịch sử nhanh hơn, vì vậy dù sao nó cũng là một gợi ý tốt). Một điều cần lưu ý là nó chỉ hoạt động trên các thư mục bị phân mảnh (tức là cấu trúc thư mục mới là đặt 1000 bản sửa đổi vào một thư mục duy nhất, sau đó bắt đầu một thư mục mới) và nó chỉ gói các thư mục phân đoạn cũ, không phải là thư mục sửa đổi hiện tại trong đó.
Vì vậy, lựa chọn duy nhất của bạn là xóa các bản sửa đổi cũ khỏi lịch sử của bạn. Điều đó đòi hỏi phải tải và tải svnadmin , với tùy chọn bộ lọc để xóa các thư mục trong repo của bạn mà bạn không còn yêu cầu nữa. (ví dụ như các nhánh tạm thời cũ).
Để kết xuất dễ dàng: svnadmin dump -r xxx:HEAD
trong đó xxx là bản sửa đổi cũ nhất mà bạn muốn giữ (tức là bản này sẽ bỏ bản mới nhất, vì vậy bản sửa đổi cổ của bạn bị loại bỏ, như lưu trữ). Bạn có thể giữ kho lưu trữ các bản sửa đổi cũ bằng cách bỏ chúng đi ( svnadmin dump -r 1:xxx
)
Khi bạn đã có tệp kết xuất, việc tải nó dễ dàng như chạy tải svnadmin trong tên tệp kết xuất. có thể là một ý tưởng tốt để xóa repo cũ trước khi tải cái mới - sau đó bạn sẽ nhận được lợi ích của các thuộc tính hệ thống tệp máy chủ mới nhất, nếu bạn chưa có chúng.
Nếu bạn muốn giữ tất cả các bản sửa đổi cũ nhưng lọc ra một số thư mục nhất định, bạn sẽ muốn chạy dumpfile thông qua svndumpfilter , sẽ xóa các đường dẫn được chỉ định. Hãy lưu ý rằng bạn sẽ muốn kết xuất mà không sử dụng tùy chọn - tăng dần.
Rõ ràng, kiểm tra tất cả các hoạt động cục bộ - kết xuất vào một tệp cục bộ, sau đó tải nó vào một repo tạm thời trên ổ đĩa cục bộ của bạn (nó cũng sẽ nhanh hơn) và kiểm tra lịch sử và phiên bản mới nhất hoạt động tốt - Tôi xuất bản sửa đổi mới nhất sang thư mục và sử dụng winmerge để kiểm tra xem các tệp có giống với bản xuất của phiên bản mới nhất từ repo trực tiếp hay không. Hãy thử nó với một sửa đổi lịch sử quá nếu bạn muốn bị hoang tưởng.