Существует несколько различных способов приблизиться к проблеме:
, Каждый подход имеет свои собственные причуды. Необходимо будет установить ключи SSH для включения логинов пароля меньше при обертывании системных команд как "ssh", "scp" или "rsync". Можно встроить пароль в сценарий с помощью Paramiko или некоторой другой библиотеки, но Вы могли бы найти отсутствие срыва документации, особенно если Вы не знакомы с основами соединения SSH (например, - ключевые обмены, агенты, и т.д.). Вероятно, само собой разумеется, что ключи SSH являются почти всегда лучшей идеей, чем пароли для этого вида материала.
ПРИМЕЧАНИЕ: его твердое для избиения rsync, если Вы планируете передачу файлов через SSH, особенно если альтернатива является простым scp.
я использовал Paramiko глазом к замене системных вызовов, но нашел меня отодвинутым к обернутым командам из-за их простоты использования и непосредственного знакомства. Вы могли бы отличаться. Я дал Раковине поверхностный осмотр некоторое время назад, но это не обратилось ко мне.
При выборе путь системного вызова, Python предлагает массив опций, таких как os.system или модули команд/подпроцесса. Я пошел бы с модулем подпроцесса при использовании версии 2.4 +.
Вам необходимо svnadmin dump
ваш локальный репозиторий, загрузить этот файл дампа на машину Linux и svnadmin загрузить
его туда.
Переместить
используется на ваших рабочих копиях после того, как было сделано выше.
Если вы используете бэкэнд FSFS-репозитория (это стандарт, начиная с svn 1.3), вы можете просто скопировать весь каталог репозитория (например, через SCP) в Сервер LINUX. Тогда перемещение не должно быть проблемой, так как это фактически тот же репозиторий.
Формат репозитория FSFS совместим с платформой (пожалуйста, убедитесь, что версия linux svn такая же или выше, чем у вас версия visualSVN)
Я делал это очень часто и это действительно работает (конечно, гораздо лучше прекратить фиксацию перед копированием репо)
Лучше всего прочитать раздел Перенос репозитория в книге Red Bean