Прямо сейчас мой репозиторий SVN находится на жестком диске моего ноутбука (хотя я использую службу хостинга кода для более «важных» личных проектов), и я просто копирую каталог на еженедельной основе (что в конечном итоге будет написано сценарием или, возможно, я сделаю приложение, черт возьми). Могу ли я повредить свой репозиторий SVN? Пока у меня не было проблем с оригиналом или копией, но это не значит, что я не буду в опасности в будущем.
Безопасно ли просто скопировать репозиторий SVN на внешний жесткий диск?
Ответы (6)
Рассмотрите возможность использования горячего копирования:
svnadmin hotcopy - Сделать горячую копию репозитория ...
Эта подкоманда создает полную «горячую» резервную копию вашего репозитория, включая все перехватчики, файлы конфигурации и, конечно же, файлы базы данных. Если вы передадите переключатель
--clean-logs,svnadminвыполнит горячее копирование вашего репозитория, а затем удалит неиспользуемые журналы Berkeley DB из исходного репозитория. Вы можете запустить эту команду в любое время и сделать безопасную копию репозитория, независимо от того, используют ли репозиторий другие процессы ...
Насколько я знаю, это безопасно, но почему бы не сделать экспорт в резервную копию?
Вы можете быть в безопасности, но только потому, что знаете, что никто не обращается к репозиторию на вашем ноутбуке. Однако svn (svnadmin) предоставляет команды горячего копирования и дампа, которые так же легко запустить, как и вашу команду копирования, и они «гарантированно безопасны».
Вы не должны подвергаться риску испортить основной репозиторий, просто сделав копию. Однако копия может быть повреждена, если что-то заблокировано во время копирования.
Вы можете использовать такое приложение, как SyncBackSE, которое может планировать резервное копирование и использовать теневое копирование в случай блокировки.
Вы написали:
Прямо сейчас мой репозиторий SVN находится на жестком диске моего ноутбука, и я просто копирую каталог еженедельно.
Вопрос к вам: почему?
Могу ли я повредить свой репозиторий SVN?
Вовсе нет, если ваша копия всего лишь копия. Если ваша «копия» открывает какой-то файл заблокирован для записи, вы можете подвергнуться риску (вы сказали в комментарии, что это похоже на то, что вы находитесь под окнами, и это может произойти в окнах) - если есть другой процесс пытается одновременно записать что-то в репозиторий.
Пока у меня не было проблем с оригиналом или копией, но это не значит, что я не буду в опасности в будущем.
Реальный вопрос: копируете ли вы для резервного копирования? Если да, то его копия может оказаться бесполезной (в зависимости от деталей процесса восстановления). См .: http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate
Итак, наконец: используйте дамп svnadmin
Раньше я использовал флеш-диск и просто создал на нем файловое репо. Единственными недостатками (помимо того, что вы забыли об этом!) Было то, что флеш-диск должен был иметь одинаковую букву диска на каждом ПК, а скорость - это было похоже на медленное интернет-соединение.
В остальном все работало нормально.