Tôi hiện đang xem xét cách tốt nhất để thiết lập gương SVN. Hiện tại tôi thấy ba khả năng đều có nhược điểm riêng:
- Có một post-commit-Hook của SVN đang chặn và đồng bộ hóa thông qua svnsync. Vấn đề ở đây rõ ràng là, cam kết bị chặn cho đến khi dữ liệu được chuyển vào máy nhân bản.
- Có một post-commit-Hook SVN không chặn và đồng bộ hóa thông qua svnsync. Ở đây tôi thấy vấn đề sau đây, tinh tế hơn: Hãy tưởng tượng ai đó kiểm tra một tệp LỚN và một người khác ngay sau đó kiểm tra trong một tệp nhỏ. Vì cam kết không chặn, hai quy trình svnsync có thể chạy cùng một lúc và tệp nhỏ có thể vượt qua tệp LỚN trên đường đến gương (điều này có vẻ rất quan trọng về thời gian và không thể xảy ra, mặc dù về nguyên tắc có thể rất quan trọng). Sửa đổi của họ sẽ trao đổi.
- Đồng bộ hóa cứ sau mười lăm phút với một công việc định kỳ. Vấn đề tương tự nếu một cam kết mất nhiều hơn 15 phút và rõ ràng là thời gian trễ.
Tôi đã quên một khả năng? Tôi đã nhận được một cái gì đó sai? Có ý kiến gì không? Cảm ơn bạn đã!
Có lẽ tôi nên lưu ý rằng khả năng thứ hai là khả năng được đề xuất bởi các trang web khác nhau. Ví dụ: xem http://www.kirkdesigns.co.uk/mirror-svn-reposeective-svnsync