baldr
|
|
« : 04-08-2010 12:35 » |
|
Исходные данные: Есть большой SVN-репозиторий с кучей веток-проектов. Есть какой-то удаленный colocation, в котором нужен доступ в определенный раздел этого SVN. Поскольку находится он далеко, а вытаскивает данные скрипт каждые 30-50 минут, то операция export занимает около 10 минут, что слишком медленно.. Очевидно, что самый простой вариант - сделать копию SVN и настроить одностороннюю синхронизацию, поскольку на втором не предполагается никаких коммитов - нужен только доступ к более-менее свежим файликам. Особенность в том, что полный репозиторий там не нужен, поскольку: * он большой * нужна только одна ветка * в остальные ветки коммиты происходят гораздо чаще * colocation находится далеко и миграция всего репозитория туда связана с перекачкой кучи байтиков через небыструю сеть интернет
Синхронизация нужна не моментальная, запаздывание в 10-20 минут вполне приемлемо.
В связи с этим вопрос - кто сталкивался с такой задачей и какие готовые скрипты/решения/инструкции существуют?
Второй вариант, который приходит в голову для решения такой задачи: checkout в рабочую папку и последующие update. Но мне такое решение не нравится по той причине, что во время работы часть файлов может быть модифицирована и update их не обновит. Также в процессе работы могут появляться мусорные файлы, поэтому каждый раз перед получением вся рабочая папка грохается.
Третий вариант - checkout в промежуточную папку, делать update для нее, а потом копировать структуру папок в рабочую. Это уже лучше, но не так красиво, вдобавок надо будет избавляться от служебных .svn папок.
|