Обновление версии livestreet при наличии своих доработок

Задался на днях вопросом о том, как правильно делать агрейд версии ls при наличии своих доработок и как правильно делать доработки — пока не понятно.

Просматривал примеры допилов — изменения в шаблонах, в контроллерах и т.д. Т.е. довольно «хардкорно» в коде.
Все изменения канут в небытие при переходе на новую версию движка или же я что то не правильно понимаю?

23 комментария

avatar
использование SVN должно помочь решить эту проблему
  • ort
  • +1
avatar
Имеется ввиду слияние ветки собственной разработки и обновленной движка?
avatar
что то подобное
avatar
Вопрос закрыт, спасибо :)
avatar
Макс, а зачем ты переименовал классы, экшены? Большоя просьба, более подробно в SVN описывать значение тех или иных изменений, а не просто словами «fix»,«update»…
avatar
чтоб не было конфликтов с классами при интеграции с другими системами, например dokuwiki
avatar
тогда можешь составить какуюто карту изменений?
называлось такто — стало такто… у тебя наверняка есть какието записи, что как называлось и будет называться в будущем.
avatar
записей нет, постараюсь более подробно писать комменты к коммитам
avatar
отлично, заранее спасибо, а то я уже не первый месяц боюсь заглядывать в СВН, на меня там апдейты с вилами смотрят ;)) думаю я не один такой, кто начал работать с LS 0.2 и теперь с ужасом смотрит на кол-во изменений в преддверии 0.3 :)
avatar
Берете ревизию которую ввы используете, и последнюю стабильную ревизию из SVN и делаете diff. Потом открываете лайвстрит с вашими модификациями и черещ утилиту patch применяете изменения. Если что-то идет не так, делаете все вручную.
avatar
а где эта утилита patch и как ею пользоваться не подскажите?
avatar
www.rt.com/man/patch.1.html
Для Windows gnuwin32.sourceforge.net/packages/patch.htm

Если не разберетесь, то используйте то, что умеете, типа WinDiff и т.д.
avatar
Да уж… не самый хороший метод… Лучше бы придумать какой-то механизм расширения функциональности с легких подключением.
avatar
Этот метод работает из покон веков :) Ладно бы дополнительные модули и т.д. Но в случае, если поменяется ядро движка, или база, ручной работы не миновать.
avatar
Так в том и грабля, что многие изменения увы касаются именно ядра…
avatar
Почему бы их не вынести в модули?
Ну или сделайте бранч свой
avatar
Прикиньте допустим, что у меня в последних комментариях прямого эфира выводится небольшой кусочек комментария. Или у меня владелец блога определяется как его участник, хотя в ЛС владелец не причисляется к участникам. У меня есть также закрытые блоги.

Что и как из этого мне можно вынести в отдельный модуль?
avatar
Первое и второе я думаю возможно с помошью темизации устроить (хотя могу ошибаться)
avatar
Первое не знаю (даже сомневаюсь), а вот второе точно нельзя. Увы, но это прямо именно так в движке устроено. Поверьте просто на слово, без изменения в ядре никак многие вещи не сделать.
avatar
вообще ядро движка это /class/engine/
avatar
Хорошо, я выразился неверно. Но в рамках системы вопрос остается не менее острым. У движка есть стандартные модули и перенос на их новые версии происходит сложно. То есть нельзя скажем просто обновиться на новую версию получив какие-то исправления в кэшировании допустим или в дублировании отправляемых комментариев, как это делается в большинстве CMS. А очень хочется, ибо на большом проекте выуживать каждую букву изменений нереально.

Кто с подобной поддержкой сталкивался в студии разработки сайтов, то знает на сколько это глобальная проблема. В результате на каждом проекте стоит по мини-заплатке и все они отличаются.
avatar
И какое соотношение успешных (автоматических) и ручных апгрейдов?

Спасибо за инфу, буду на днях пробовать.
avatar
Делаешь патчи и потом их накладываешь на новые патчи.
Я обычно если мне нужно закрыть что либо просто коментю строчку не удаляю её
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.