Tôi có cùng một vấn đề nhưng hơn trên code.google.com: Tôi đã kiểm tra một số tệp không thể truy cập được thông qua lịch sử trên googlecode nhưng tôi không muốn bỏ qua tất cả lịch sử, sau khi một số googling, thử, thử lại và thử lại tôi đã thành công. Bên dưới công thức làm việc cho dự án nhỏ của tôi (6,5 MB, 90 bản sửa đổi).Hầu hết kiến thức đến từ googlecode, phần còn lại chủ yếu là từ svn redbook
Đầu tiên tạo một repo địa phương nơi bạn sẽ tải về repo googlecode để:
svnadmin create /tmp/your_local_repo
tạo tập tin/tmp/isd_gc/móc/pre-revprop- thay đổi nội dung
#!/bin/bash
exit 0
làm cho nó thực thi:
chmod +x /tmp/isd_gc/hooks/pre-revprop-change
nếu bạn thất bại trong phần này, rất có thể bạn sẽ thấy lỗi: Thay đổi Revprop bị chặn bởi móc trước khi thay đổi (mã thoát 255) không có đầu ra.
bây giờ bạn có thể init đồng bộ svn từ code.google.com
svnsync init --username [email protected] file:///tmp/your_local_repo https://yourproject.googlecode.com/svn
và bắt đầu tải về tất cả lịch sử:
svnsync sync --username [email protected] file:///tmp/your_local_repo
Committed revision 1.
tính sao chép cho phiên bản 1 .
Đang truyền dữ liệu tệp .......................
Thuộc tính được sao chép để sửa đổi 87.
Bây giờ chúng tôi tạo một tệp lưu trữ sẽ được nạp vào svndumpfilter để xóa các tệp không mong muốn.
svnadmin dump . > /tmp/tst_dump_gc.dmp
sử dụng svndumpfilter để xóa tệp không mong muốn đầu tiên khỏi nó.
svndumpfilter exclude /trunk/unwanted file_1.jsvg </tmp/tst_dump_gc.dmp> /tmp/tst_dump_clean1.dmp
Dropped 1 nút:
'/ trunk/file_new.jsvg không mong muốn'
loại bỏ tập tin không mong muốn thứ hai:
svndumpfilter exclude /trunk/unwanted file_2.jsvg </tmp/tst_dump_clean1.dmp> /tmp/tst_dump_clean2.dmp
tái tạo "cũ tạm repo"
rm -rf /tmp/your_local_repo
svnadmin create /tmp/your_local_repo
tải dum được lọc p vào repo
[/tmp]$svnadmin load --ignore-uuid your_local_repo < /tmp/tst_dump_clean2.dmp
Kiểm tra xem mọi thứ đều ổn trong máy khách svn (kiểm tra lịch sử trên thân chỉ hiển thị 25 kết quả đầu tiên trong ứng dụng khách svn của tôi).
svnsync sync --username [email protected] https://yourproject.googlecode.com/svn
Thực tế kiểm tra tổng kiểm tra khi tải lại dữ liệu. Chỉ cần thử phương pháp này cho một vấn đề tương tự. :) – Iain
Thao tác này sẽ hoạt động nhưng bạn cần phải cập nhật md5sum cho bất kỳ tệp nào (đường dẫn nút) được chỉnh sửa. Trong vim bạn có thể sử dụng ctrl-v để làm nổi bật phần biểu diễn tệp, sau đó nhập ":! Md5sum" để lấy hàm băm mới. Tệp bắt đầu sau dòng PROPS-END và kết thúc bằng hai dòng trống, tiếp theo là dòng "Node-Path:" tiếp theo. –