Здравствуйте,<br><br>у меня есть ряд вопросов, однозначный ответ на которые которые я сразу даже предположить не могу.Но прежде чем их задать я хочу ввести всех в курс дела. Здесь ранее уже упоминалась ссылка о <a href="http://wiki.etersoft.ru/UsesGit">Git-оводстве</a>. Но насколько я понимаю этот вопрос был упомянут вне контекста конкретных задач использования этого средства. В этом плане хочу отметить, что таких контекстов есть по крайней мере 3:<br>
<ol><li>Работа на проектами, которые ведутся в этой SCM;</li><li>Работа над пакетами в ALT Linux с использованием нового слова в науке и технике - <a href="http://www.freesource.info/wiki/AltLinux/Sisyphus/devel/gear">gear</a>;</li>
<li>Совместная работа над пакетами, которые ведут в ALT Linux другие мейнтейнеры.<br></li></ol>Менее всего, в последнее время, в описаниях представлены интересы 2 и 3 контекстов использования Git.<br><br>Смысл 2 контекста состит в том, чтобы вести единую историю сборки отдельного пакета, чтобы можно было проследить, что происходило и как этот пакет уже принято вести на практике. Кроме того это позволяет вести несколько веток в одном репозитарии, что при разумном использовании может существенно сократить время поддержки пакетов, требующих ведения нескольких большого числа патчей.<br>
<br>Смысл 3 контекста интересен в основном разработчикам, создающих решения на основе пакетной базы дистрибутивов ALT Linux. Аналогично упрощению поддержки сторонних патчей в пакетах, Git может быть использован для упрощения ведения пакетов по каким-либо причинам сразу не попадающим в основные репозитарии ALT Linux. Целесообразность этого подхода заключается в автоматизации процесса обновления уже исправленных пакетов пакетами, которые обновляются независимо от нас. В случае, когда мы ведём большую часть нужных нам пакетов сами, актульность такого подхода сомнительна. Она выходит на первый план, когда требуется сделать форк, например для скриптов инициализации или другого критичного набора пакетов. В общем во всех тех случаях, когда нужно иметь возможность расширять или изменять основную пакетную базу с определённой целью.<br>
<br>Для решения похожего набора задач я не так давно портировал последнюю н тот момент версию gear на Fedora. Весь смысл этого пакета - это организация удобного набора средств для хранения src.rpm-пакета в git репозитории. В частности у в этот набор средств входит мощная утилита gear-srpmimport, позволяющая импортировать содержимое пакета в git репозиторий. Именно с помощью похожего инструмента формируется git-репозиторий Сизифа.<br>
<br>Основная проблема, в нашем случае состоит в том, что для стабильного бранча пока такой репозиторий не сформирован. Тем не менее это можно обойти, по крайней мере сначала. Дело в том, что для ведомых нами пакетоможно использовать те же стандартные инструменты, что и ииспользуются в ALT Linux, вручную. Но у этого варианта есть несклько минусов:<br>
<ul><li>необходимо самостоятельно следить на состоянием обновлений нужных пакетов в бранче (а грядёт уже 4.1, так что даже в бранчах);</li><li>при отсутсвтствии необходимости в обновлениях вы рискуем пропускать отдельные релизы, что означает существенное расхождение с историей пакета в сизифе и у стороннео мейтенера, а это в свою очередь ведёт к уменьшению ценности самого подхода.<br>
</li></ul>Относительно git-репозитария для текущих проектов, я готов предоставить список интересных для этого ресурсов и помочь в его настройке. Сейчас я хочу поднять у себя дома похожий сервис. Набор скриптов для построения аналога git.alt можно найти в репозитарии пакета girar:<br>
<a href="http://git.altlinux.org/people/ldv/packages/girar.git">http://git.altlinux.org/people/ldv/packages/girar.git</a><br>Ряд интересных решений по развёртыванию специализированных сервисов можно найти в проектах компании БИГУР:<br>
<a href="http://git.bigur.ru/">http://git.bigur.ru/</a><br><br>С нашей стороны возникает необходимость ответить на вопрос. Возьмёмся мы самостоятельно отслеживать измения во внешних пакетах или подождём пока git-репозитории бранчей, не без наших усилий, появятся в ALT Linux? <br clear="all">
<br>-- <br>Sin (Sinelnikov Evgeny)