2006-04-29

Экспорт файлов от ревизии А до ревизии Б

Извечная моя проблема: есть проект в репозитории, его экспорт лежит на боевом сервере, в репозиторий делают определённое кол-во коммиротв, и есть нужда обновить боевой сервер. Делать экспорт из репозитория и заливать всё на сервер заново занимает слишком много времени, а чек-аут слишком много места на сервере. Репозиторий не даёт встроенной возможности сделать экспорт только изменённых файлов. Я сделал своё решение: Экспорт файлов из Subversion от ревизии А до ревизии Б

Blog, Ruby and Rails, Web — Sergej Kurakin @ 21:06
Уже комментировало (4) »
  1. Комментиров(ал|ала), sergeyNo Gravatar — 2006-04-29 @ 21:56

    Как я понимаю проблема в том что на сервере нет возможности истановить svn, и соответвенно svn update через шел не поможет?

  2. Комментиров(ал|ала), Сергей КуракинNo Gravatar — 2006-04-29 @ 22:31

    Да это тоже одна из причин (не везде есть svn, не везде есть даже ssh).
    Вторая причина: размер, занимаемым проектом, при checkout в два раза больше, чем при export проекта (т.е. без возможности сделать update), а при больших (по размеру) проектах, это ощутимо.

  3. Комментиров(ал|ала), sergeyNo Gravatar — 2006-04-29 @ 23:33

    Да но для конфигурационных файлов (напр. где коннекшен к БД настраивается), при ситуации что какой-то разработчик перекомитил его (у меня много раз такое случалось), будет получаться что этот файл обновлен, и если обновение происходит без учета этого, то будет получаться что приложение перестанет работать.
    А так идея хорошоя, я в свое время делал что-то похожее, но мы тогда использовали CVS, тегами я не очень понимал, и написал питон скрипт для выделения diff двух директорий (текущей и посленей запощеной на сервер). А за скрипт спасибо, уверен что пригодиться.

  4. Комментиров(ал|ала), Сергей КуракинNo Gravatar — 2006-04-30 @ 00:26

    Загрузку файлов на сервер выполняет ответственный за это дело человек (в моём контексте, обычно я), и, по окончанию работы, он просто обязан мало-мальски проверить работает ли продукт. Тем более, можно разработать такой конфиг, что, он сам себя подстроит: по HTTP-Host или Server-Name определит настройки из массива или выберит нужный case, или поступит как Ruby on Rails проект - вобщем, это дело наживное.

RSS комментариев. TrackBack URI

Оставить свой комментарий