SVN: превратить экспортированное дерево в рабочую копию - PullRequest
2 голосов
/ 02 января 2011

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

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

Ответы [ 2 ]

0 голосов
/ 02 января 2011

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

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

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

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

Редактировать:

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

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

0 голосов
/ 02 января 2011

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

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

...