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

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

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

  1. sergeyNo Gravatar

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

  2. Сергей КуракинNo Gravatar Post author

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

  3. sergeyNo Gravatar

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

  4. Сергей КуракинNo Gravatar Post author

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

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.