Обычно, когда выпускается обновление TYPO3, администраторы должны скачать файлы которые распакуют на своих серверах. Это руководство объясняет, альтернативное решение, которое использует Subversion для этой задачи.
Это руководство объясняет, как поддерживать установленные копии TYPO3 обновленными с помощью простых команд Subversion. Она написана для администраторов серверов, которые хотят использовать более гибкий способ обновить свои TYPO3 установки.
Subversion это система контроля версий. Она используется разработчикми для поддржки из исходного кода, позволяя хранить все изменения в файлах проектов.
Подробную информация о Subversion можно прочесть на страницах Wikipedia:
http://en.wikipedia.org/wiki/Apache_Subversion
Команда TYPO3 core использует Subversion не только для хранения версионности их разработок. Они так же создают ветки и теги называемые so для каждого релиза TYPO3. Это значит, что когда TYPO3 4.3.4 была выпущена, все содержимое ветки и тега TYPO3 4.3 Subversion, были созданы с точно таким же содержимым.
Тепрерь для обновления TYPO3 на веб сайте пользователи должны сделать следующие шаги:
(Я пропущу часть о Install Tool, так как исправлении релиза не потребуется – смотри http://typo3.org/teams/core/resources/release-workflow/ для подробной информации о рабочем процессе релиза)
Теперь используя Subversion, все эти действия могут быть заменены одной простой командой:
svn update
(Это простой пример. Он работае но команда которую Вы можете использовать для этого может быть другой. Пролистайте документ что бы узнать что именно нужно для запуска.)
Как видите, это очень простой шаг который дает Вам довольно много хороших преимуществ:
Установка
Предварительные требования
Это руководство предназначено для серверов на Debian Lenny и использует командную строку клиента Subversion. Все описанное должно работать на другом сервере на котором установлен Subversion.
Вы можете проверить установлен ли Subversion выполнив следующую команду:
svn –version
Если не установлен, пользователи Debian и Ubuntu могут сделать это установив пакет “subversion”:
sudo apt-get -u install subversion
Подобно вебсерверу Subversion содержит серверную и клиентскую честь. Обе будут установлены этим пакетом. Так как для урока нужен только клиент, Вы можете пропустить большенство настроек. Клиент Subversion готов к использованию сразу после установки.
Первая проверка (checkout)
Для начала использования Subversion вам необходимо запустить checkout вашего проекта. Для этого откройте терминал и перейдите в директорию в которой вы хотите загрузить исходный код TYPO3:
cd /var/www/typo3/
Выберите нужную версию (смотри дополнение, правила именования) и проверьте ее. Последний параметр определяет имя директории откуда будет взято содержимое:
svn checkout https://svn.typo3.org/TYPO3v4/Core/tags/TYPO3_4-4-0 TYPO3_4-4.svn
Замените симлинк на “typo3_src” указав скачанную директорию:
cd /var/www/www.example.com/
ls -l
drwxr-xr-x 10 example example 4096 Jan 1 12:01 fileadmin lrwxrwxrwx 1 example example 15 Jan 1 12:01 t3lib -> typo3_src/t3lib lrwxrwxrwx 1 example example 15 Jan 1 12:01 typo3 -> typo3_src/typo3 lrwxrwxrwx 1 example example 30 Jan 1 12:01 typo3_src -> /var/www/typo3/typo3_src-4.4.0 drwxr-xr-x 5 example example 4096 Jan 1 12:01 typo3conf drwxr-xr-x 10 example example 4096 Jan 1 12:01 typo3temp drwxr-xr-x 27 example example 4096 Jan 1 12:01 uploads lrwxrwxrwx 1 example example 19 Jan 1 12:01 index.php -> typo3_src/index.php
rm typo3_src
ln -s ../typo3/TYPO3_4-4.svn typo3_src
ls -l
drwxr-xr-x 10 example example 4096 Jan 1 12:01 fileadmin lrwxrwxrwx 1 example example 15 Jan 1 12:01 t3lib -> typo3_src/t3lib lrwxrwxrwx 1 example example 15 Jan 1 12:01 typo3 -> typo3_src/typo3 lrwxrwxrwx 1 example example 28 Jan 1 12:02 typo3_src -> /var/www/typo3/TYPO3_4-4.svn drwxr-xr-x 5 example example 4096 Jan 1 12:01 typo3conf drwxr-xr-x 10 example example 4096 Jan 1 12:01 typo3temp drwxr-xr-x 27 example example 4096 Jan 1 12:01 uploads lrwxrwxrwx 1 example example 19 Jan 1 12:01 index.php -> typo3_src/index.php
И это все. Ваш сайт будет работать как раньше пока Вы используете ту же версию но теперь вы будете использовать репозиторий Subversion.
Как только вы получили сообщенеи что вышла новая версия, Вы можете перейти на нее. Перед тем как вы это сделаете, вам возмодно узнать какую ветку или тег вы сейчас используете, и, возможно, были сделаны какие то изменения в коде:
svn info
cd /var/www/www.example.com/typo3_src/
Path: . URL: https://svn.typo3.org/TYPO3v4/Core/tags/TYPO3_4-4-0 Repository Root: https://svn.typo3.org/TYPO3v4/Core Repository UUID: 709f56b5-9817-0410-a4d7-c38de5d9e867 Revision: 8465 Node Kind: directory Schedule: normal Last Changed Author: benni Last Changed Rev: 8047 Last Changed Date: 2010-06-22 17:35:41 +0200 (Tue, 22 Jun 2010)
svn status
Здесь соманда “svn info” покажет вам текущую ветку/тег, последнюю ревизию в этом дереве, и дату последнего обновления.
Команда “svn status” выведет список всех файлов которые былиизменены локально. Вывод этой команды должен быть пустым, как показано выше. Если вы видите любой вывод на экране, значит эти файлы были изменены. (Выполните “svn help status”, что бы разобраться что значат коды статусов. Можно использовать “svn diff”, что бы посмотреть изменения в формате diff.)
Как ранее было сказано, переключиться можно при помощи одной команды:
svn switch https://svn.typo3.org/TYPO3v4/Core/tags/TYPO3_4-4-1
Вывод этой команды выведет много изменений в формате этой строки:
U tests/t3lib/t3lib_befuncTest.php
(“U” значит, что файл был обновлен /updated/, “A” значит добавлен /added/, “D” удален /deleted/, и т.д. Смотрите “svn help update” для расширенного списка статусов.)
Когда переключение закончится, можно будет снова выполнить “svn info” и “svn status” для проверки результата.
Можно также переключиться на ветки, где были сделаны теги. Такая возможность дает большую гибкость, т.к. доступ к еже не выпущенным обновлениям:
svn switch https://svn.typo3.org/TYPO3v4/Core/branches/TYPO3_4-4
Процедура переключение на ветку такая же как и описанная выше.
На ветке, вы можете использовать команду “svn update” для переключения на старую ревизию, дату, или на текущую версию (которая включена по умолчанию):
svn update -r 8046
Обновится на ревизию 8046 (это ревизия на которую ссылается TYPO3 4.4.0).
svn update -r {2010-06-23}
Обновится на содержимое ревизии на дату 23 июля 2010 (день после того как была выпущена версия 4.4.0).
svn update -r 8431
Обновится на ревизию 8431 (это ревизия на которую ссылается тег TYPO3 4.4.1).
svn update -r HEAD
Обновление до HEAD (“-r HEAD” можно не писать т.к. это будет выбрано по умолчанию). HEAD всегда текущее состояние ветки, и станет следующей версией как только менеджер релизов решит создать новый релиз... Таким образом, после анонса нового релиза, “svn update” на ветке TYPO3_4-4 (прроверяем командой “svn info”) дат вам почти тот же результат так если бы вы переключились на ветку. (тут “почти” потому что номер версии будет немедленно обновлен когда релиз произойдет. Вы заметите это только в заголовке окна браузера при работе в интерфейсе бэкэнда.)
Важно: Помните что команда “svn update” привеняется только к тому тегу или ветке на которій ві только что перешли. Если ві находитесь в tags/TYPO3_4-0-0 тогда HEAD и r8431, очевидно, не то же самое что HEAD в branches/TYPO3_4-4. Проверьте на какой ві ветке находитесь командой “svn info”.
Вы можете просмотреть весь репозиторий, чтобы увидеть все изменения, ревизии, теги и т.д. Обозреватель хранилища является частью сайта Forge: http://forge.typo3.org/projects/typo3v4-core/repository
Правила именования веток и тегов
Команда TYPO3 core поддерживает ветки для каждого major/minor релиза (4.2, 4.3, 4.4, и т.д.). Все изменения для релизов исправлений (4.2.1, 4.3.4, и т.д.) переданы к одной или нескольким из этих веток.
Для каждого релиза (4.3.0, 4.4.1, и т.д.) во время создания ветки создается тег, который является просто ссылкой на соответственную ветку:
https://svn.typo3.org/TYPO3v4/Core/
+ branches/
-- TYPO3_4-3/
-- TYPO3_4-4/
-- и т.д.
+ tags/
-- TYPO3_4-4-0/ (points to TYPO3_4-4 at revision 8046 from June 22, 2010)
-- TYPO3_4-4-1/ (points to TYPO3_4-4 at revision 8431 from July 28, 2010)
-- и т.д.
+ trunk/
Репозиторий Subversion TYPO3 содержат все обновления, теги и ветки с 2003 года, короче говоря со времени релиза TYPO3 3.6.0.
Дополнительная литература