[newbies] Как правильно брать конкретную версию из апстрима в git?

Michael Shigorin mike на altlinux.org
Пт Апр 15 15:41:52 MSK 2016


On Fri, Apr 15, 2016 at 11:23:27AM +0500, Stas wrote:
> В git-репозитарии апстрима есть одна ветка MASTER и каждая
> версия-релиз помечена тэгом без бранчей.

Нормально.

> Как в таком случае правильно брать исходники в свой репозитарий:
> - слить всё дерево исходников с тэгами и создать ветку из точки, 
> помеченной тэгом, для пакетирования использовать эту свою
> ветку; И как правильно сливать - git clone или git fetch?

Обычно пользуюсь git remote.

> - слить срез исходников в точке тэга (git fetch source tag:tag)
> и создать у себя ветку?

Ветки без повода создавать незачем, тегов вполне достаточно
для "зацепки" в .gear/rules :)

Поводом является, например, экспериментальная сборка или
поддерживаемая уже в виде бэкпорта ветка пакета под ветку
репозитория (скажем, p7).

> В дальнейшем как при выходе нового релиза в апстриме проводить
> обновление в своём репозитарии.

Например, для описанного в http://www.altlinux.org/Git/start3
подхода это что-то вроде

git fetch git://github.com/sandrods/odf-report master:upstream
(сейчас я бы делал git remote update upstream, поскольку добавлял
бы соответствующий remote вместо такого fetch)

git checkout master
git merge -s ours новый.тег
vim *.spec
gear-commit -a
gear-store-tags -avc && git commit -m 'gear-store-tags' .gear/tags/

> В Wiki это не описано явно, есть только рекомендация брать
> исходники с историей изменений.

У нас вообще изрядная беда именно с началом пакетирования
в плане даже не столько документации, сколько "тропинок"
и "указателей" в этом лесу :-/

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


Подробная информация о списке рассылки devel-newbies