FAQ Как обновить TorrentPier без переустановки и потери модификаций

belomaxorka

Разработчик
Администратор
Версия TP
нет
В данном руководстве мы рассмотрим как можно обновить ваш движок (любой версий, LTS включительно) до желаемой (либо актуальной).

Что нужно знать для обновления:
  • Текущую версию движка
  • Желаемую версию движка
Обновление будет заключаться в переносе изменений с нужной версии в вашу. Делается это через "Сравнение изменений" в GitHub (Ниже подробнее расскажу). Такой способ обновления является относительно безопасным и позволит вам сохранить установленные модификации.
Почему же я сказал "относительно" безопасный? Дело в том, что при переносе некоторых новых изменений, может быть такое, что они будут относиться к той строке, в которой находиться код мода. В таком случае вам придется уже самостоятельно думать как правильно совместить новые изменения с сохранением функциональности модификации. Универсального способа тут нет, ибо каждая ситуация уникальная, но как правило совмещение происходит очень легко.

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

Please Login or Register to view hidden text.

(для LTS

Please Login or Register to view hidden text.

) и видим примерно такую картину:
Снимок.PNG
В первом селекторе (он отмечен красным цветом) вам нужно выбрать текущую версию движка, во втором селекторе (он отмечен зеленым цветом) нужно выбрать желаемую версию движка, любую, можно перепрыгивать версии (в таком случае вам придется переносить изменения за выбранное вами количество версий, то-есть можно обновиться с 2.4.0-alpha1 по 2.4.0-alpha4 сразу). И да, чуть не забыл, вам нужно нажать на вкладку Tags (тэги) для выбора версий.

В итоге у вас должна быть примерно такая картина (с учетом выбранных вами версий). Я выбрал сценарий обновления с v2.4.0-alpha1 до v2.4.0-alpha2:
Снимок.PNG

Далее вам нужно определиться с тем, как вы хотите переносить изменения. Если все целиком, без разбора, то выбираем вкладку Files changed, в таком случае вам придется строго внести изменения во все указанные файлы, не пропуская. Этот вариант самый быстрый и полноценный. (Рекомендуется)

Если вы выбрали перенос по коммитам (первая вкладка Commits), то вам нужно перенести изменения в рамках выбранного вами коммита, следовательно вы можете в любой момент остановиться. Начало изменений идёт сверху вниз, то-есть начинать вам нужно именно с самого верхнего коммита.

Итак, после того как вы определились в вариантами выше, у вас будет примерно такая картина (актуально для обоих вариантов):

Снимок.PNG

В заголовке указано имя файла в котором происходит изменение (то-есть это тот файл, который вам нужно открыть).

Красным цветом отмечен код вашей версий (по этому коду ищем нужную строку в файле).
Синим цветом отмечен код который нужно перенести в ваш код (заменить в случае если изменения приходятся на одну строку/строки).

Вот ещё пример:


Снимок.PNG

В данном случае у нас есть и замена (правка строки) и добавление нового кода.

Такими темпами мы вносим правки во все нужные файлы и в итоге ваш движок будет полностью соответствовать выбранной вами версии.

Всем успехов с обновлением движка, вопросы можете задавать спокойно в данной теме. 🥳✌️
 

Kryl

Заблокирован
Обратите внимание, если вы хотите заключить сделку с этим пользователем, что он заблокирован.
Помню как то обновлялся таким способом .... Долгая процедура )))
 

Pole

Пользователь
А можно на гитхаб закинуть свой код сайта и сравнивать с желаемой версией для обновления?
 

belomaxorka

Разработчик
Администратор
А можно на гитхаб закинуть свой код сайта и сравнивать с желаемой версией для обновления?
Вроде как нет. Сравнение работает только между тэгами и ветками в рамках одного репозитория
 

belomaxorka

Разработчик
Администратор
Вроде как нет. Сравнение работает только между тэгами и ветками в рамках одного репозитория
А хотя, попробуйте такой трюк:
Код:
https://github.com/{тут ваш аккаунт}/{тут ваш репозиторий}/compare/{тут ваша ветка, по умолчанию main}...torrentpier:torrentpier:{тут версия с которой сравниваем}
Если не поможет, то сделайте форк движка на гитхабе, потом закиньте файлы своего сайта в папку с локальным репозиторием (перед этим удалить все файлы из папки, кроме папки .git) (форком) который вы клонировали к себе, после сделайте пул и по факту у вас будет форк, но с вашими файлами, после сделайте сравнение через способ выше
 
Последнее редактирование:

belomaxorka

Разработчик
Администратор
А хотя, попробуйте такой трюк:
Код:
https://github.com/{тут ваш аккаунт}/{тут ваш репозиторий}/compare/{тут ваша ветка, по умолчанию main}...torrentpier:torrentpier:{тут версия с которой сравниваем}
Если не поможет, то сделайте форк движка на гитхабе, потом закиньте файлы своего сайта в папку с локальным репозиторием (перед этим удалить все файлы из папки, кроме папки .git) (форком) который вы клонировали к себе, после сделайте пул и по факту у вас будет форк, но с вашими файлами, после сделайте сравнение через способ выше
Как вариант, можете скинуть дамп своего сайта мне в ЛС (без торрентов и прочих данных), я попробую провернуть трюк выше, а вам скину ссылку по которой вы уже будете делать правки
 

belomaxorka

Разработчик
Администратор
Как вариант, можете скинуть дамп своего сайта мне в ЛС (без торрентов и прочих данных), я попробую провернуть трюк выше, а вам скину ссылку по которой вы уже будете делать правки
Но учтите, вам придется изменить порядка 1400 файлов
1720886327819.png
*Это с учетом языков, флагов и прочего. По факту файлов куда меньше, примерно файлов ~100-200 с кодом
 

Pole

Пользователь
Буду пробовать по варианту в инструкции первого поста. Проблема может быть с базой, модами и своей темой.
 

Pole

Пользователь

Please Login or Register to view hidden text.


строка 196 и много других мест где array оставлено:
PHP:
foreach ($forums['c'] as $c_id => $c_data) {
        $template->assign_block_vars('c', array(
            'CAT_ID' => $c_id,
            'CAT_TITLE' => $forums['cat_title_html'][$c_id],
            'CAT_HREF' => "$base_url&" . POST_CAT_URL . "=$c_id",
        ));

По ходу обновления вижу есть убирается array(, а есть остается так само последняя запятая иногда остается. Ошибка или так нужно?
 
Последнее редактирование:
Сверху