| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Обновление скриптов |
| Автор: ArNic 20.3.2012, 22:15 | ||||
| У меня несколько проектов. Каждый день я что либо дорабатываю в ядре и модулях, для того чтобы помнить изменения пользуюсь SVN. НО это не решает основной проблемы обновления системы. Замена для меня не совсем верное решение. Есть ли описание или какая либо документация по гибкому обновлению некомпилированного кода. Т.е. чтобы можно было при наличии незначительных разниц между двумя модулями внести в оба кода новую логику. Пример: Файл №1
Файл №2
$i=1 или $i=true заменить на $i=isset($j); else заменить на elseif($u!=1); Пытаюсь понять как другие системы проводят обновление, но у них, как я понял xml файл с инструкциями замены, добавления, удаления. И, если размер обновляемого файла или версия не верны он отказывается обновлять. Если у кого есть более универсальные решения или документация с описанием решений очень буду рад услышать... и наверное не только я. |
| Автор: ksnk 20.3.2012, 23:10 |
| А чем не подходит svn? Просто каждый раз, когда отдаешь клиенту код, который должен быть работоспособным - делаешь тэг и сохраняешь код там. Или, если есть уверенность, что код будет сильно изменяться - сразу заводишь бранч. Если пришла пора обновить клиенту код - восстанавливаешь по тэгу состояние кода клиента, делаешь бранч (если не было) и сливаешь туда критичные/нужные изменения из основной ветки. После этого делаешь патч, сравнивая исходное состояние и слитые изменения. Патч грузится на сервер и там применяется. Патчилка - отдельный скрипт на php. |
| Автор: Sanchezzz 21.3.2012, 12:18 | ||||||
| 1 можно держать суму контроль версии файлов дата изменения файла + размер 2 если у вас все функции в классах то делайте версию в классе это правда лениво затем я писал отдельно сервер обнавлений который спрашивал если новая версия файлов если есть отдавал zip архив и распаковывал стойже структурой файлов для распаковки и запаковки использовал класс dunzip2.class файлы на серверной части хранил $downid версия '0001' по минор типу версий 0 ключ не действителен 1 файл не найден... северная часть
клиент версия //обнавление
Добавлено через 10 минут и 42 секунды вот еще пригодится проверяет если в таблице поле
|