02 сентября 2009
Держим Joomla всегда свежей или работа с SVN
В этот статье я попытаюсь рассказать о том как пользоваться SVN-репозиторием joomlacode для того что бы иметь самую последнюю версию Joomla. Если честно, не знаю зачем это нужно рядовому пользователю, но всё же в преддверии выхода beta-релиза Joomla 1.6, а так же последующих RC-релизов это будет актуально для тех, кто захочет использовать нестабильную Joomla 1.6. Так же следует заметить что SVN-репозитории есть и у большого числа компонентов, расположенных на joomlacode, так что в целом статья не будет такой уж бесполезной.
Для любителей хакать Joomla вдоль и поперёк, где надо и где не надо, я покажу удобный метод обновления прокахаканной по самые гланды бедной Jooml'ы.
Данный клиент даст нам возможность:
— скачивать проекты из svn-репозиториев;
— создавать свои проекты в svn-репозиторие (например на том же joomlacode);
— экспортировать проекты;
— откатывается до нужной ревизии;
— просматривать какие файлы были удалены, а какие добавлены, какие были сделаны изменения в самих файлах;
— и многое другое.
К сожалению просматривать изменения по коду в TortoiseSVN не так удобно как в бесплатной программе WinMerge, но благо что TortoiseSVN позволяет использовать сторонние программы для этих целей. Так и поступим скачав WinMerge.
2) Создадим каталог, в который мы будем закачивать наш проект (в данном случае это Joomla 1.5)
3) Идём на joomlacode в проект Joomla и смотрим информацию для доступа к svn-репозиторию. Для Joomla 1.5 это:
4) Кликаем правой кнопкой мыши по созданному каталогу и выбираем пункт «SVN Извлечь...», в появившемся окне нам нужно только вставить полученную ссылку. После, нужно пройти аутентификацию: в имени вписываем имя нашего любимого анонима (который кстати хуже пидораса, задумайтесь над этим), а именно: anonymous, поле «пароль» оставляем пустым.
5) Можно пойти похлебатьгорькое пиво сладкий чайок.
6) После окончания загрузки в конце списка будет примерно такая надпись: До ревизии: 12669. Ниже я расскажу зачем нам нужен номер ревизии. Можно радоваться имея самые новейшие файлы дистрибутива Joomla. Следует так же отметить, что в каждом каталоге дистрибутива находится скрытый каталог ".svn", именно в таких каталог и хранится информация обо всех изменениях в файлах. Чтобы отделитьмух от котлет файлы Joomla от системных каталог ".svn" нужно сделать функцию экспорта: кликаем правой кнопкой мыши по каталогу, в который был залит проект и выбираем пункт: «TortoiseSVN» --> «Экспорт...». Всё, так мы получили чистый и новейший дистрибутив Joomla готовый к выгрузки на ваш хостинг.
Таким же способом можно скачать и Joomla 1.6 чтобы уже сейчас начать её смотреть и радоваться правильному направлению разработки Joomla, либо иные проекты, которые предоставляют доступ к svn-репозиторию, например тот же phpBB.
Чтобы обновить проект до последней версии достаточно опять же по клику правой кнопки мыши выбрать пункт «SVN Обновить». Сделаем это и внимательно посмотрим на информацию после окончания процесса обновления:

Эта информация показывается в каких файлах произошли изменения от ревизии 12560 до 12669.
Если написано «Добавлено» то такой файл можно смело добавлять в ваш рабочий проект. Файлы с пометкой «Обновлено» нужно смотреть и уже руками вносить изменения в рабочий проект. Это дело называется синхронизацией.
Кликнем на обновлённом файле правой кнопкой мышки и выберем пункт «Сравнить с рабочей копией»:

Тут в действие и вступает установленный нами WinMerge:

В левой части программы показывается старый вариант, до ревизии 12669, в правой соответственно новый. Как можно заметить программа имеет удобный режим подсветки :)
Теперь нужно найти соответствующий файл в вашем рабочем проекты и внести туда ручками соответствующие изменения. Да не легко, а вы думаете разработчикам легче придумывать и писать код?
Для любителей хакать Joomla вдоль и поперёк, где надо и где не надо, я покажу удобный метод обновления прокахаканной по самые гланды бедной Jooml'ы.
Немного теории
Для работы с svn нам понадобится клиент. Самый удобным и бесплатным под Windows (не менее удобен он и под Linux в окружении Gnome) является TortoiseSVN, по этой же ссылке доступна русская локализация (я буду всё проделывать именно на локализированной версии).Данный клиент даст нам возможность:
— скачивать проекты из svn-репозиториев;
— создавать свои проекты в svn-репозиторие (например на том же joomlacode);
— экспортировать проекты;
— откатывается до нужной ревизии;
— просматривать какие файлы были удалены, а какие добавлены, какие были сделаны изменения в самих файлах;
— и многое другое.
К сожалению просматривать изменения по коду в TortoiseSVN не так удобно как в бесплатной программе WinMerge, но благо что TortoiseSVN позволяет использовать сторонние программы для этих целей. Так и поступим скачав WinMerge.
Немного практики
1) После установки зайдём в настройки TortoiseSVN и выберем русский язык, а так же в пункте «Просмотр различий» выберем WinMerge.2) Создадим каталог, в который мы будем закачивать наш проект (в данном случае это Joomla 1.5)
3) Идём на joomlacode в проект Joomla и смотрим информацию для доступа к svn-репозиторию. Для Joomla 1.5 это:
http://joomlacode.org/svn/joomla/development/releases/1.5/
4) Кликаем правой кнопкой мыши по созданному каталогу и выбираем пункт «SVN Извлечь...», в появившемся окне нам нужно только вставить полученную ссылку. После, нужно пройти аутентификацию: в имени вписываем имя нашего любимого анонима (который кстати хуже пидораса, задумайтесь над этим), а именно: anonymous, поле «пароль» оставляем пустым.
5) Можно пойти похлебать
6) После окончания загрузки в конце списка будет примерно такая надпись: До ревизии: 12669. Ниже я расскажу зачем нам нужен номер ревизии. Можно радоваться имея самые новейшие файлы дистрибутива Joomla. Следует так же отметить, что в каждом каталоге дистрибутива находится скрытый каталог ".svn", именно в таких каталог и хранится информация обо всех изменениях в файлах. Чтобы отделить
Таким же способом можно скачать и Joomla 1.6 чтобы уже сейчас начать её смотреть и радоваться правильному направлению разработки Joomla, либо иные проекты, которые предоставляют доступ к svn-репозиторию, например тот же phpBB.
Слежение за версиями
Выше я просил запомнить надпись «До ревизии: 12669». Допустим нам нужно посмотреть что было до этого (предположим, что несколько дней нас не было дома и мы не следили за обновлениями), например в ревизии 12560. Для этого нужно кликнуть по нашему заветному каталогу с проектом волшебной правой кнопкой мыши и выбрать пункт: «TortoiseSVN» --> «Обновить до ревизии...» и в появившемся окне выбрать режим «Ревизия» и ввести номер ревизии (в нашем примере 12560).Чтобы обновить проект до последней версии достаточно опять же по клику правой кнопки мыши выбрать пункт «SVN Обновить». Сделаем это и внимательно посмотрим на информацию после окончания процесса обновления:

Эта информация показывается в каких файлах произошли изменения от ревизии 12560 до 12669.
Если написано «Добавлено» то такой файл можно смело добавлять в ваш рабочий проект. Файлы с пометкой «Обновлено» нужно смотреть и уже руками вносить изменения в рабочий проект. Это дело называется синхронизацией.
Кликнем на обновлённом файле правой кнопкой мышки и выберем пункт «Сравнить с рабочей копией»:

Тут в действие и вступает установленный нами WinMerge:

В левой части программы показывается старый вариант, до ревизии 12669, в правой соответственно новый. Как можно заметить программа имеет удобный режим подсветки :)
Теперь нужно найти соответствующий файл в вашем рабочем проекты и внести туда ручками соответствующие изменения. Да не легко, а вы думаете разработчикам легче придумывать и писать код?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Комментарии:3