2011-01-02 2 views
2

Чтобы быстро развернуть наше приложение на новом удаленном сервере, мы экспортировали нашу ветвь в локальный каталог, заархивировали его и распаковали на новый сервер.svn: превратить экспортированное дерево в рабочую копию

Теперь мы хотим превратить экспортированную копию (точную копию ветки в репо) в рабочую копию. Это возможно?

ответ

0

Если экспорт - это просто копия ветки, почему бы не просто проверить из ветки?

Конечно, я заметил, что пока присутствуют все метафайлы subversion, вы можете подключить проект обратно к репозиторию. Если у вас есть клиент-подрывник на вашем сервере и вы не боитесь работать с командной строкой, вы можете попробовать «статус svn», чтобы узнать, можете ли вы подключиться к репозиторию.

+0

Ну, проблема в том, что выполнение проверки на сервере занимает очень много времени, поэтому мы нажимаем копию на молнию на сервер. –

0

Для меня, я использую следующий рабочий процесс:

  1. Экспорт конкретного пересмотра из репо и загрузить его на моем веб-сервере. Итак, у меня есть живая версия.
  2. Когда я экспортировал пересмотра, создать тег, указывающий, что эта версия теперь находится под напряжением (например, live_from_xxyyzz где xxyyzz является дата загрузки)
  3. Когда я должен делать какие-либо изменения, я меняю на месте, проверить их, затем выполните новый экспорт (например, перейдите к шагу 1)

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

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

Edit:

Когда экспортированная версия должна стать рабочей копией, у вас есть небольшие проблемы с помощью SVN: SVN (в настоящее время) нуждается в .svn папке в рабочей копии. Эти папки .svn содержат информацию о версии. Чтобы поставить всю экспортированную версию под контроль версий, вам придется создавать (и заполнять) эти папки (т. Е. Копировать их из реальной рабочей копии в экспортированную версию).

Из Subversion 1.7 на, будет centralized metadata storage, что означает, что все связанные с версиями файлов хранятся в один папку в рабочую копию (как, например, Git делает). Это облегчит решение вашей проблемы, но пока я не вижу другой альтернативы, кроме как скопировать папки .svn из рабочей копии, как описано выше (за исключением, конечно, проверки ветки, конечно).

+0

Я хочу, чтобы экспортированная копия стала рабочей копией моего филиала, чтобы я мог сделать svn update, чтобы вытащить последние изменения. Причина, по которой я привожу экспортированную копию, заключается в том, что ветка огромна и берет навсегда проверку на сервере. –

+0

@Moishe Mo: см. Мой отредактированный пост. – eckes

Смежные вопросы