Я регулярно проверяю по каким словам приходят с поисковиков на мой блог. Можно сказать, что эта заметка открывает цикл «заказных» статей. Самым популярным запросом пользователей интернета, по которым они попадают ко мне на блог является «asterisk trunk». Да, всё что написано у меня касается именно trunk версии, но нигде не написано что это. Постараюсь максимально подробно объяснить.

На форумах вам могут сказать: «Этой функции нет в 1.x, посмотри, есть в транке». На серверах в виде архивов вы не найдёте ничего похожего. Разберёмся в этом вопросе.

Терминология, используемая для проекта Asterisk взята из документации к системе управления копиями Subversion и вообще опыта развития OSS. Так вот транк (trunk) — версии Asterisk, постоянно находящаяся в состоянии разработки. Сюда добавляются все новые возможности, проводятся изменения API. Более того новые возможности добавляются только в trunk. Так что если вы собрались добавить новую функцию, то стоит сначала написать патч для trunk, а если он заинтересует других пользователей, то портировать его для стабильной версии.

Когда приходит время выпустить новую версию (например — 1.6) и разработчики считают что в новую версию добавлено достаточно новых функций, то на основе trunk cоздаётся ветка, в которую впоследствии вносятся только исправления. Но это уже другая история.

Скачать trunk можно только с помощью SVN (svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk).  Эту команду достаточно выполнить однократно, в дальнейшем можно получать лишь обновления с помощью команды svn update. Аналогичные команды пригодятся, если вам нужны последние версии zaptel и libpri.

Все новые добавления в trunk можно посмотреть минимум тремя способами:

  1. Через веб
  2. Воспользовавшись командой svn log
  3. Подписавшись на лист asterisk-commits

Используя trunk вы используете не только самые последние возможности, но и самые свежие и неизведанные ошибки. Экспериментально замечено, что проблемы с trunk появляются примерно раз в один-два месяца. Чаще всего это проблемы с падениями в плохо протестированном коде и решаются откатом файла (svn update -r xxxxxx) на ревизию, которая работала ранее. Если такая регрессия замечена, то лучше всего сообщить на трекере или канале #asterisk-dev.

PS. Ещё раз замечу, что если вы начинаете участвовать в разработке или сообщаете о ошибках, не забудьте изучить страницу для разработчиков на asterisk.org. Если что-то не понятно, буду рад ответить на вопросы.

Похожие сообщения:

автор igorg \\ теги: , ,

  • zgen

    А вам не кажется, что когда люди ищут asterisk trunk, они ищут не svn book, а примеры для объединения двух и более asterisk'ов в одну сеть?

    Если не кажется — зря. Ибо я например искал именно это, а с svn и так работать умею )

  • http://igorg.ru igorg

    =) да как-то не подумал об этом смысле. Попробую написать, но для меня транк через IAX2 пока не имеет смысла, так как не умеет работать с Т.38.

  • vucer

    Автору спасибо, толково обьяснил сабж.

    Наиболее вероятно, что ищут все-таки svn ибо если говорить об IAX транке либо о каком-то еще, то тут как раз ключевое слово все-таки «канал» а не PBX имхо.

  • Vlad

    хмм... я сюда попал, когда искал trunk, имея в виду sip trunk, iax trunk

  • Pchela

    Так и где здесь про транки то?

  • Александр

    Автор таким образом, обманывая ожидания, рекламирует свою страницу в интернете ?

  • http://igorg.ru igorg

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

  • http://twitter.com/kapany3 Sergey Kozlov

    я тоже искал trunk в смысле iax trunk

  • http://igorg.ru IgorG

    Это означает, что будет статья про iax trunk, как раз опыт в этой части пополнился. Что именно интересует?