Git/start3
< Git
пример сборки пакета из апстримного 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@ за подсказку).