Перейти к публикации

Рекомендованные сообщения

Всем привет! Собственно как и обещал, делюсь информацией, как «безболезненно» обновлять DLE.

Хочу сразу оговориться, сегодня речь пойдёт не про обычное обновление, которое проходит всегда без проблем, если всё делать по инструкции, а о таком обновлении, когда вносились в файлы движка изменения. У многих возникает проблема, т.к. после обновления все эти изменения пропадают и их нужно вносить вновь.

Те, кто уже давно работают с системой и не однократно обновлялись знают, что это такое и на сколько это порой может быть трудоёмкой работой, к тому же нужно ещё и вспомнить что правил... Если ты чуть умнее и знаешь, что будешь обновляться, не делаешь много изменений, а если и сделал, то записываешь. Но для меня это не выход, так как по долгу работы, курирую достаточно большое количество сайтов и для каждого делать для себя подсказку считаю не выходом по многим причинам, одна из которых, все эти заметки не всегда под рукой. Поэтому обновления всегда у меня занимали много времени.

Но я нашёл для себя решение, которое не требует много времени и усилий, вот о нём сейчас и расскажу.

Есть программы, которые делают сравнение файлов. Программа открывает в одном окошке 2 файла и показывает чем они отличаются, таких программ не очень много, в Википедии описаны всего 5, в принципе есть из чего выбрать.

Я для себя остановился на платном варианте: Araxis Merge

f1c635b2e03d.jpg

Её преимущество в том, что можно открывать не по одному файлу, а сразу каталог. Так же она умеет сама вносить изменения, но не рекомендую этого делать, т.к. она может изменить не то, что нужно

Я делаю бекап старой версии dle, открываю в программе, во втором окне новую версию DLE. Она показывает сразу все файлы в виде списка и показывает количество несоответствий. Далее по очереди открываю файлы блокнотом и вношу изменения. См. скриншот, на нём чётко видно как это выглядит на практике.

Определить какой код писал я, а какой принадлежит dle и нельзя менять не очень сложно. Как правило все хаки заключены в комментарии, а если ты писал код сам, то в этом случае не думаю, что ты не различишь свой код от чужого. Да и видя часть кода, всегда можно понять что эта часть делает.

В DLE очень много различных файлов, но как правило изменению подвергаются лишь файлы из папки engine/modules/ поэтому порой совершенно не целесообразно перепроверять все файлы.

Первый раз на обновление одного сайта я потратил минут 40, большую часть времени разбирался с программой и баловался с автозаменой кода. Последнее обновление на 10.4 у меня отняло минут 10-15 с учётом скачивания бекапа и загрузки изменённых файлов.

Надеюсь эта информация поможет и обновление на более новую версию будут только в радость :)

Изменено пользователем odys
Ссылка на сообщение
Поделиться на других сайтах

Я обычно создаю отдельную статическую страницу с отдельным шаблоном, запрещаю её к индексации и просмотру всем кроме админа.

И записываю в неё свои изменения в файлах скрипта (не шаблонов) по пунктам, что, где и зачем, было и стало. Удобно, т.к. текст можно форматировать в отличии от блокнота DLE + копии сохраняются + наглядно видно, что и на каком сайте/версии ты менял/добавлял. ;)

Ссылка на сообщение
Поделиться на других сайтах

Пользуюсь для этой цели бесплатной WinMerge. Кому важно - русский язык "из коробки".

filecmp.png

Изменено пользователем xyz
Ссылка на сообщение
Поделиться на других сайтах
  • 8 месяцев спустя...

посоветую еще один способ,использую на поддерживаемых проектах:

 

1. заводим аккаунт на bitbucket.com 

2. создаем репозиторий своего сайта и заливаем копию с комментариями.

3. при внесении правок в код движка - добавляем новые комментарии.

4. Битбакет сам отслеживает все правки кода и что самое приятное - всегда можно откатится на любую правку в прошлое. git рулит. 

0_b9f69_5905797f_orig.png
 

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...
44 минуты назад, Webtun сказал:

Рекомендую использовать бесплатный Notepad++ & Notepad++ Compare plugin

Только вы не учли, что далеко не все сидят на MS Windows.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Webtun сказал:

Рекомендую использовать бесплатный Notepad++ & Notepad++ Compare plugin

ну Notepad++ я и так использую, а за наводку на плагин спасибо. Он только по 1 файлу сравнивает? Или можно сразу всю папку?

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Никогда не заморачивался чтобы сохранить и записать изменения куда-то в блокнот. Бывает внесешь изменения, а записать забудешь.

Поэтому перед обновлением я всегда создаю файлы в которых происходили изменения нативной командой diff - работает быстро:

#diff -c -r originalDIR updateDIR > patch.diff

И все, в файлике patch.diff будут все изменения по всем файлам.

 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, arriah сказал:

нативной командой diff

это, конечно, хорошо, когда свой сервер, а если это хостинг?

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, odys сказал:

это, конечно, хорошо, когда свой сервер, а если это хостинг?

Ну нормальный хостинг доступ по ssh дает, встречал таких и много

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...