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