В настоящее время я ищу лучший способ настроить зеркало SVN. В настоящее время я вижу три возможности со своими недостатками:
- Имейте SVN post-commit-Hook, который блокирует и синхронизирует через svnsync. Проблема здесь заключается в том, что фиксация блокируется, пока данные не будут переданы в зеркало.
- Имейте SVN post-commit-Hook, который не блокирует и синхронизирует через svnsync. Здесь я вижу следующую, более тонкую проблему: представьте, что кто-то проверяет большой файл, а кто-то вскоре после этого проверяет небольшой файл. Поскольку фиксация неблокирующая, два процесса svnsync могут работать одновременно, и маленький файл может перегнать BIG-файл на пути к зеркалу (это кажется очень критичным по времени и маловероятным, хотя в принципе возможно). Их пересмотр поменял бы.
- Синхронизируйте каждые пятнадцать минут с cron-заданием. Та же проблема, если фиксация занимает больше 15 минут и очевидно, что задержка.
Я забыл возможность? Я что-то не так понял? Любые идеи? Уже спасибо!
Возможно, я должен отметить, что вторая возможность - это возможность, предложенная разными веб-сайтами. Например, см. Http://www.kirkdesigns.co.uk/mirror-svn-repository-svnsync.