Git/start3

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

пример сборки пакета из апстримного git

Имеется git://github.com/sandrods/odf-report.git, который охота упаковать. Там просто master, тагов пока не наблюдается.

mkdir odf-report
cd odf-report
git init
git-empty-branch master
git fetch git://github.com/sandrods/odf-report master:upstream
git checkout upstream
git log
git tag -am 0.1.3 0.1.3
git checkout master
mkdir .gear
echo 'tar: @version@:. name=odf-report-@version@' > .gear/rules
git add .gear/rules
git commit -m 'initial .gear/rules' .gear/rules
# git-empty-branch позволил сделать чистый master без файлов,
# но теперь нам понадобится общая история => fake merge
git merge -s ours upstream
# берём что-нить похожее и правим
cp -a ~/git/ruby-zip/ruby-zip.spec ruby-odf-report.spec
vim ruby-odf-report.spec
git add ruby-odf-report.spec
# gear-update-tag хочет хоть какой-то спек
gear-update-tag -avc
git commit -m 'gear-update-tag' .gear/tags/
# теперь опять к спеку -- gear-commit его "не видит" без временного коммита
git commit -m tmp *.spec
gear-commit -a --amend
# зацикливаемся
nice time gear --hasher -- hsh ~/hasher
vim ruby-odf-report.spec
git add ruby-odf-report.spec
gear-commit -a --amend
# готово, расцикливаемся -- на самом деле вместо сразу --amend;
# бывает удобней наделать временных коммитов, чтоб хоть ход мысли
# фиксировался, а потом git reset --soft на последний перед ними,
# git status и скопом все правки спека одним gear-commit -a;
# когда собралось, ставим подписанный релизный таг
gear-create-tag
# вместо git push --all/--tags руками
sudo apt-get install girar-utils
girar-upload

NB: вместо git-empty-branch давно можно применять git checkout --orphan (спасибо glebfm@ за подсказку).

Ссылки

Файл:Git-empty-branch.sh