Для меня я использую следующий рабочий процесс:
- Экспорт определенной ревизии из репозитория и загрузка ее на мой веб-сервер. Так что у меня есть живая версия .
- Когда я экспортировал ревизию, я создаю тег, указывающий, что эта версия жива (например,
live_from_xxyyzz
, где xxyyzz
- дата загрузки)
- Когда мне нужно внести какие-либо изменения, я изменяю их локально, регистрирую их, затем делаю новый экспорт (т.е. переходим к шагу 1)
При этом абсолютно не нужно превращать экспортированную версию обратно в рабочую копию, поскольку у вас есть теги, которым вы можете доверять.
С другой стороны, вы можете просто взять вашу живую версию (ту, что на удаленном сервере) и скопировать ее в ваш рабочий каталог . Если что-то не так, вы заметите это (равно как и отсутствующие файлы или новые файлы).
Редактировать:
Когда ваша экспортированная версия станет рабочей копией, у вас возникнут небольшие проблемы с использованием svn: svn (в настоящее время) требуется папка .svn
извлеченной рабочей копии. Эти папки .svn
содержат информацию о версиях. Чтобы поставить всю экспортированную версию под контроль версий, вам необходимо создать (и заполнить) эти папки (то есть скопировать их из реальной рабочей копии в экспортированную версию).
Начиная с Subversion 1.7, будет централизованное хранилище метаданных , что означает, что все связанные с версиями файлы хранятся в папке одна на рабочую копию (как, например, делает Git) , Это упростит решение вашей проблемы, но пока я не вижу другой альтернативы, кроме как скопировать папки .svn
из рабочей копии, как описано выше (кроме, конечно, проверки ветки).