Перейти к содержанию
Форум поддержки пользователей VamShop

Постоянной патченье... надоело...


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

Вообщем надоело постоянно пачить систему и постоянно вносить одни и теже изменения под себя. Мой вопрос состоит издвух частей:

1. Как перенести все данные с патченой 1.43 на свежеустановленную 1.43? Нужно пошаговое действие.

2. На будущие хотелось бы иметь такую же возможность установки патчей как у phpBB. Уже предложение проскакивало здесь. А именно:

По принципу установки модулей в ручную. Найти, заменить, добавить и т.д. А то если правишь код под свои нужды, установка патчей в том виде что они идут сейчас сводят на нет всю работу с данным движком...

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

1. Какие данные имеются в виду?

2. Я не могу описать каждый файл, я ж давал доступ на ViewVC и рассказывал, как смотреть изменения между файлами, всё там и можно смотреть, что конкретно менялось в конкретном файле, если нужно.

А вообще говоря, патчить или нет - дело ведь добровольное, многие сидят на той версии, с которой начинали, каждый ведь сам решает, ставить или нет.

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

Вообщем надоело постоянно пачить систему и постоянно вносить одни и теже изменения под себя.

По принципу установки модулей в ручную. Найти, заменить, добавить и т.д. А то если правишь код под свои нужды, установка патчей в том виде что они идут сейчас сводят на нет всю работу с данным движком...

ПОЛНОСТЬЮ поддерживаю.

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

Я ж ведь уже объяснял, что Вы сами можете смотреть различия в каждой файле.

Вот - http://vamshop.ru/forum/index.php?topic=264.msg1877#msg1877

Руками составить такой readme к патчу со всеми внесёнными изменениями просто не реально.

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

Вроде есть утилиты генерящие подобный патч с изменениями на основе разницы двух версий. Собственно всё атоматом делается. А потом клиент просто накатывает такой патч другой утилитой на свой правленный магаз.

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

denicka

Такой патч (т.е. имея только diff файл) ты сможешь накатить только если магазин "чистый", без твоих изменений.

Это вариант очень специфичный и не подходит для обычных пользователей магазина.

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

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

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

именно! я тоже давно просил именно дифф. а уж режи я как-нить сам руками попатчу. неужели нельзя и полный патч и дифф выпускать?

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

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

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

Нет, ну, если подскажите как с помощью svn сделать diff'ы для всех изменённых файлов, я ж то непротив, если на автомате все diif'ы сгенерирует.

Но что-то я не нашёл как это делать

buddha

Старую базу на новую версию?!

Можно восстанавливаешь просто старую базу на новой версии.

Но затем нужно загрузить SQL файл из патчей недостающие, т.е. файлы же у тебя новые все, а вот база данных старая, нужно из патчей взять только sql файлы и загрузить, тогда и база получится свежей версии.

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

проще всего: кладешь рядом две версии, скажем, 1.41 и 1.42. и: diff -UrN vam-1.41 vam-1.42. Единственно, что тогда для скл надо будет патчи в базу нумеровать. Т.е. не просто, как теперь всегда контент в них лить в одинаковое имя, а патч для скл для 1.43 должен называться kak-tam-ne-pomnyu-1.43.sql и тому подобное.

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

duddits1

Что-то у меня большие подозрения, что diff'ами мало кто умеет пользоваться, а кто умеет, тот ведь и сам может сделать diff'ы.

или я не прав?!

P.S. Если это единственная команда, которую нужно дать, то мне конечно не сложно, просто есть сомнения, что diff'ами мало кто будет пользоваться.

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

Привет!

Да нет, diff - это вообще общепризнанная практика патчей для opensource сообщества. Пользоваться будут (особенно если написать статейку о преимуществах), ведь практически ни у кого нет не модифицированного магазина.

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

pervak

Уверен на 99%, что пользоваться будут единицы.

Но я попробую сделать diff, тем более, если это одной командой делается.

Да и как быть с новыми файлами, которые появляются в патче?

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...

новые файлы целиком забиваются в дифф-файл. автоматически. сами. и создаются patch так же сами. и точно так же автоматически.

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

так я ж писал уже.

есть у тебя две директории. в одной - старая версия, во второй - новая. скажем старая - 1.41, а новая 1.42.

если находишься в той директории, где эти обе лежат, то просто в консоли пишешь (ты же свободным юникс-лайк софтом пользуешься, верно?) "diff -UrN vam-1.41 vam-1.42 >patch-1.41-1.42" вот и всё. кстати, свн должен уметь выдавать патчи для любых двух заданных версий.

[poel@hosting ~]$ svn help diff

diff (di): Display the differences between two revisions or paths.

usage: 1. diff [-c M | -r N[:M]] [TARGET[@REV]...]

      2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \

              [PATH...]

      3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]

ну и там еще много, поскипал, так чта для тебя создание дифф файлов вообще элементарным должно быть ;)

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

А, вон оно как, вроде ты раньше писал вот так: diff -UrN vam-1.41 vam-1.42

Так не получалось.

Сейчас попробую.

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

Всё равно не идёт, даю команду: diff -UrN 1-44 1-45 >patch-1.44-1.45

Находять в текущей папке, в которой ещё два папки 1-44 и 1-45

Пишет вот такое сообщение:

diff: недопустимая длина контекста `rN'

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