Предисловие
- Вы пытаетесь использовать CVCS -систему в DVCS -стиле.Это Плохая идея (тм) в общем, потому что она игнорирует принцип "Создай свой бизнес"
- Вы добавили дополнительный уровень сложности (репо-зеркало) без видимого дополнительного уровня полезности(зеркало «просто существует» и вызывает у вас только головную боль)
Лицо
В любом случае, у вас есть какое-то решение s , больше илименее уродливый и | или нативный
Level0: ничего не изменить в инфраструктуре
Подготовить, опубликовать, научить конечных пользователей использовать пользовательские команды (с любымимя) вместо простого svn ci
.Этот сценарий должен выполнить все переключения за сценой, что-то вроде
svn relocate $MAINREPO
svn ci -m $1
svn relocate $MIRRORREPO
Попробуйте перехватить все данные с помощью ловушки предварительной фиксации на стороне сервера (просто идея, без готового к использованию кода)
Level1: изменения на стороне пользователя
Если у вас есть DVCS-задачи, вы можете использовать DVCS-клиенты.Наиболее известными и упомянутыми являются Git и Mercurial, оба могут легко работать с удаленными репозиториями SVN, но HG не может работать (AFAIK) с двумя репозиториями SVN из одного локального репозитория, в то время как Git может.Вы должны установить, настроить, научить пользователей использовать Git и, в конце концов, они будут «извлекать» из $ MIRRORREPO, но «подталкивать» к $ MAINREPO
Level2: полная миграция на DVCS
Замените все на Mercurial (как репозитории, так и инструменты пользователя), добавьте оба пути в конфигурацию ключей, извлеките из $ MIRRORREPO, нажмите на $ MAINREPO