Свого часу я дуже необережно оновив двіг Кукорами до нестабільної версії LS з trunk’у. Для мене це вилилось в купу часу затраченного на багфікси (так склалось, що відкотитись було неможливо), а для LS в халявні багфікси :). З того часу в директорії /var/www/my/cookorama.net з’явилися три піддерикторії “source”, “source-with-ls-svn”, “source-without-ls-svn”.
Апдейт до нової версії LS виглядає наступним чином:
- Апдейчу з транка LS сорси в “source-with-ls-svn”.
- Розрулюю конфлікти в конфізі і можливо мержу свої багфікси з їхніми.
- Перекидаю DocumentRoot на “source-with-ls-svn” і дивлюся чи все працює.
- Переношу все це діло в “source-without-ls-svn” і тру всі папочки .svn
find . -depth -type d -name '.svn' -execdir rm -rf '{}' \;
- Накочую вміст “source-without-ls-svn” на “source” і перевіряю зміни в конфізі, шаблонах і мовних файлах.
- Тестую Кукораму на локальній машині і якщо все ок, то комічу (Кукорама лежить в окремому репозиторії) і апдейчу продакшн.
Привіт, Фалк!
Мушу сказати, що svn export некошерно навіть на продашні. Ось шматок синхронізації робочої копії з директорією, на яку дивиться веб-сервер:
rsync -rcvv –delete –exclude=.svn $source-with-ls-svn $source-without-ls-svn
Найближчим часом опишу в блозі весь механізм апдейтів, синхронізації на тестових, девелоперських на продакшні.
якраз експорт кошерно :). rsync з однієї Unix машини зручно робити. а якщо над сайтом кілька людей працює і не тільки з під *nix, то може вилізти трохи боком.
По-русски можно?
легко – http://translate.google.com/translate?js=y&prev=_t&hl=uk&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fblog.stfalcon.com%2F2010%2F02%2Fclean-svn-folders%2F&sl=uk&tl=ru&swap=1
Спасибо 🙂 Сначала читал “в оригинале”, вроде вполне понятно. Насчет “обновления”.. так и не понял, почему не получилось “откатиться” – не было ни резервных копий движка, ни SVN?
после обновления изменилась структура базы данных и некоторое время она наполнялась в новой структуре.