Обновление LS
У меня встал большой вопрос. Мой ум пока не может разобраться.
Допустим у меня LiveStreet 0.4.2.
Например стоит задача сделать так, чтобы комментарии были в обратном порядке: новые попадают наверх.
Как я понял, это можно сделать только изменив исходный код движка, поменяв порядок сортировки в sql-запросе.
Но вот беда, решился я обновляться на 0.5.1. И что тогда?
Вопрос, который требует разрешения.
Все время при обновлении патчить свои изменения на новую версию? Т.е создавать патчи?
Как быть, если нужно делать много изменений в самом движке?
Вариант с плагинами не удобен, потому что там можно переопределить только целую функцию, а не одну строку кода. Если так делать, что будет если эта функция изменится в самом движке в новой версии? А я буду пользоваться старой.
Я думаю я ясно выразил проблему.
Еще раз кратко:
Как править движок, и при этом иметь возможность обновляться до новых версий?
UPD:
Только что покопался в git.
Возможно ли так?
1. Клонирую репозиторий ls с github с нужной мне версией.
2. Создаю локальную ветку, делаю все изменения.
3. Если версия обновляется LS, то делаю локальный merge своей ветки с новой версией LS с репозитория.
Допустим у меня LiveStreet 0.4.2.
Например стоит задача сделать так, чтобы комментарии были в обратном порядке: новые попадают наверх.
Как я понял, это можно сделать только изменив исходный код движка, поменяв порядок сортировки в sql-запросе.
Но вот беда, решился я обновляться на 0.5.1. И что тогда?
Вопрос, который требует разрешения.
Все время при обновлении патчить свои изменения на новую версию? Т.е создавать патчи?
Как быть, если нужно делать много изменений в самом движке?
Вариант с плагинами не удобен, потому что там можно переопределить только целую функцию, а не одну строку кода. Если так делать, что будет если эта функция изменится в самом движке в новой версии? А я буду пользоваться старой.
Я думаю я ясно выразил проблему.
Еще раз кратко:
Как править движок, и при этом иметь возможность обновляться до новых версий?
UPD:
Только что покопался в git.
Возможно ли так?
1. Клонирую репозиторий ls с github с нужной мне версией.
2. Создаю локальную ветку, делаю все изменения.
3. Если версия обновляется LS, то делаю локальный merge своей ветки с новой версией LS с репозитория.
3 комментария
как раз вариант с Плагином самый удобный, так как на данный момент в LS не будут переименовываться функции и вряд ли измениться основа а так же функционал плагинов позволяет максимально возможно интегрироваться в движок LS…
У меня есть один плагин который очень много требует изменений в движке, но я обошолся всего несколькими изменениями которые не могли быть вставленными по другому, допустим мне нужна была другая система обработки изображений, мне пришлось дублировать некоторые функции в LiveImage…
Самое практичное в таком случае, это на мой взгляд делать в коде пометки которые тебе дадут возможность видеть сразу измененные куски кода, а затем создать в корне сайта текстовый документ в котором помечать какие файлы в движке исправлены, это позволит очень быстро весь исправленный функционал перенести с одной версии LS на другую…
Возможно у кого то есть более гибкая система такого преобразования…