Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/devel/git/SomeDestReposViaBranches ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Поддержка пакета для нескольких apt-репозитариев с помощью бранчей git в картинках


ДействияКомандыРезультат в gitk --all
Создание репозитария $ mkdir ser2net
$ cd ser2net
$ git init-db
Создание и сохранение в бранче master файла .gear/rules, описывающего правила построения srpm

$ mkdir .gear
$ cat > .gear/rules << EOF


$ git add .
$ git commit -m 'Initial commit'

Создание дополнительных бранчей $ git branch upstream
$ git branch srpm
$ git branch srpm-4.0
Загрузка исходного кода в бранч upstream $ git checkout upstream
$ cp /download/ser2net-2.3.tar.gz .
$ tar -zxf ser2net-2.3.tar.gz
$ rm -f ser2net-2.3.tar.gz
$ mv ser2net-2.3 ser2net
$ git add .
$ git commit -m 'Upstream initial commit'
$ git tag ser2net-2.3
Создание спека и инитскрипта в бранче srpm $ git checkout srpm
$ vim ser2net.init
$ vim ser2net.spec
$ git add .
$ git commit -m 'Initial spec and initscript'
Объединение бранчей srpm и upstream, правка спека, создание пакета для Sisyphus $ git checkout srpm
$ git merge ser2net-2.3
$ vim ser2net.spec # меняем release
$ add_changelog ser2net.spec
$ vim ser2net.spec # пишем changelog
$ gear --commit --hasher — hsh # тестируем
$ git commit -a -m 'First build for Sisyphus'
$ git tag srpm-ser2net-2.3
$ gear --rpmbuild — rpm -bs --sign --nodeps
$ rsync -va --partial --stats --delete-after -e ssh /RPM/SRPMS/ser2net-2.3-alt1.src.rpm devel:/incoming/Sisyphus/
Объединение бранчей srpm-4.0 и srpm, правка спека, создание пакета для branch/4.0 $ git checkout srpm-4.0
$ git merge srpm-ser2net-2.3
$ vim ser2net.spec # меняем release
$ add_changelog ser2net.spec
$ vim ser2net.spec # пишем changelog
$ gear --commit --hasher — hsh # тестируем
$ git commit -a -m 'Backport to branch/4.0'
$ git tag srpm-4.0-ser2net-2.3
$ gear --rpmbuild — rpm -bs --sign --nodeps
$ rsync -va --partial --stats --delete-after -e ssh /RPM/SRPMS/ser2net-2.3-alt0.M40.src.rpm devel:/incoming/updates/4.0/
Обновление исходного кода из апстрима $ git checkout upstream
$ gear-update /download/ser2net-2.4.tar.gz ser2net
$ git commit -a -m 'Upstream update'
$ git tag ser2net-2.4
Объединение бранчей srpm и upstream, правка спека, создание новой версии пакета для Sisyphus $ git checkout srpm
$ git merge ser2net-2.4
$ vim ser2net.spec # меняем release
$ add_changelog ser2net.spec
$ vim ser2net.spec # пишем changelog
$ gear --commit --hasher — hsh # тестируем
$ git commit -a -m 'new version'
$ git tag srpm-ser2net-2.4
$ gear --rpmbuild — rpm -bs --sign --nodeps
$ rsync -va --partial --stats --delete-after -e ssh /RPM/SRPMS/ser2net-2.4-alt1.src.rpm devel:/incoming/Sisyphus/
Объединение бранчей srpm и upstream, правка спека, создание новой версии пакета для branch/4.0 $ git checkout srpm-4.0
$ git merge srpm-ser2net-2.4
$ vim ser2net.spec # меняем release
$ add_changelog ser2net.spec
$ vim ser2net.spec # пишем changelog
$ gear --commit --hasher — hsh # тестируем
$ git commit -a -m 'new backport to branch/4.0'
$ git tag srpm-4.0-ser2net-2.4
$ gear --rpmbuild — rpm -bs --sign --nodeps
$ rsync -va --partial --stats --delete-after -e ssh /RPM/SRPMS/ser2net-2.4-alt0.M40.src.rpm devel:/incoming/updates/4.0/

Если вы сделали коммит, о котором потом пожалели, можно откатиться с помощью git reset --hard HEAD^. Если --hard заменить на --soft, то изменения, сделанные в удаленном коммите, останутся в файлах, но окажутся незакоммиченными. Аналогично вместо HEAD^ можно указать другой коммит, явно или косвенно.


 
Много файлов (9). [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]