Кажется, простая проблема:
- У меня есть SVN-репо внутри нашего брандмауэра.
- У меня есть SVN-репо вне нашего брандмауэра.
- У меня есть пользователи внутри и снаружи брандмауэра. (VPN не является опцией:( это было бы слишком легко)
- машины внутри брандмауэра МОЖЕТ говорить с внешним сервером SVN. Но не так.
- внешний SVN - это временная вещь - основное репо всегда будет внутри.
Я хочу как-то (изнутри, скорее всего) принять все изменения в одном и применить их к другому. И наоборот. Звучит просто, и я предполагаю, что подобные GIT могут это сделать, но мы используем SVN.
Кто-нибудь это сделал? Я не возражаю, что это ручная процедура - есть только пара внешних людей, и они не нуждаются в обновлениях в минуту, два или три раза в день.
Я считаю, что apache.org делает это, но я не могу найти документы о том, КАК они это делают. Есть несколько продуктов, которые делают это (ну, один), но я хотел бы знать, есть ли у кого-то хороший, чистый способ сделать это без них. svnsync делает это, только в одном направлении (master-slave)
Счастлив, чтобы он работал на Windows, Linux или Mac, так как у нас есть все. Windows и Mac предпочли хотя.
Помощь!:):)
[обновление] после 12 месяцев беспорядков (и не нуждающихся в этом в конце), правильный ответ, на мой взгляд, правильный. Используйте GIT - у вас есть одно репо, которое вытаскивает из SVN-A, затем нажимаем на новый репозиторий GIT, а затем отталкиваемся от него к SVN-B. Должен работать:)