Безопасно ли просто скопировать репозиторий SVN на внешний жесткий диск?

Прямо сейчас мой репозиторий SVN находится на жестком диске моего ноутбука (хотя я использую службу хостинга кода для более «важных» личных проектов), и я просто копирую каталог на еженедельной основе (что в конечном итоге будет написано сценарием или, возможно, я сделаю приложение, черт возьми). Могу ли я повредить свой репозиторий SVN? Пока у меня не было проблем с оригиналом или копией, но это не значит, что я не буду в опасности в будущем.


person Thomas Owens    schedule 09.10.2008    source источник


Ответы (6)


Рассмотрите возможность использования горячего копирования:

svnadmin hotcopy - Сделать горячую копию репозитория ...

Эта подкоманда создает полную «горячую» резервную копию вашего репозитория, включая все перехватчики, файлы конфигурации и, конечно же, файлы базы данных. Если вы передадите переключатель --clean-logs, svnadmin выполнит горячее копирование вашего репозитория, а затем удалит неиспользуемые журналы Berkeley DB из исходного репозитория. Вы можете запустить эту команду в любое время и сделать безопасную копию репозитория, независимо от того, используют ли репозиторий другие процессы ...

person Benjamin W. Smith    schedule 09.10.2008
comment
Горячая копия - самый безопасный способ, и восстановить тоже легко. Хороший звонок! - person willasaywhat; 09.10.2008

Насколько я знаю, это безопасно, но почему бы не сделать экспорт в резервную копию?

person akalenuk    schedule 09.10.2008
comment
Мои репозитории на самом деле находятся в Моих документах. Я просто копирую все в «Мои документы» раз в неделю. Это проще и быстрее, но надо использовать экспорт. Для этого он создан, не так ли? - person Thomas Owens; 09.10.2008
comment
Нет, вы должны использовать дамп, экспорт используется для экспорта кода без какой-либо информации о версиях. - person levhita; 09.10.2008

Вы можете быть в безопасности, но только потому, что знаете, что никто не обращается к репозиторию на вашем ноутбуке. Однако svn (svnadmin) предоставляет команды горячего копирования и дампа, которые так же легко запустить, как и вашу команду копирования, и они «гарантированно безопасны».

person gbarry    schedule 09.10.2008

Вы не должны подвергаться риску испортить основной репозиторий, просто сделав копию. Однако копия может быть повреждена, если что-то заблокировано во время копирования.

Вы можете использовать такое приложение, как SyncBackSE, которое может планировать резервное копирование и использовать теневое копирование в случай блокировки.

person Turnkey    schedule 09.10.2008

Вы написали:

Прямо сейчас мой репозиторий SVN находится на жестком диске моего ноутбука, и я просто копирую каталог еженедельно.

Вопрос к вам: почему?

Могу ли я повредить свой репозиторий SVN?

Вовсе нет, если ваша копия всего лишь копия. Если ваша «копия» открывает какой-то файл заблокирован для записи, вы можете подвергнуться риску (вы сказали в комментарии, что это похоже на то, что вы находитесь под окнами, и это может произойти в окнах) - если есть другой процесс пытается одновременно записать что-то в репозиторий.

Пока у меня не было проблем с оригиналом или копией, но это не значит, что я не буду в опасности в будущем.

Реальный вопрос: копируете ли вы для резервного копирования? Если да, то его копия может оказаться бесполезной (в зависимости от деталей процесса восстановления). См .: http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate

Итак, наконец: используйте дамп svnadmin

person Davide    schedule 21.10.2008

Раньше я использовал флеш-диск и просто создал на нем файловое репо. Единственными недостатками (помимо того, что вы забыли об этом!) Было то, что флеш-диск должен был иметь одинаковую букву диска на каждом ПК, а скорость - это было похоже на медленное интернет-соединение.

В остальном все работало нормально.

person leppie    schedule 21.10.2008