Git/start3: различия между версиями
< Git
м (init) |
м (важное замечание) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{stub}} | {{stub}} | ||
[[Category:git]] | [[Category:git]] | ||
{{note|от такого варианта меня '''отговорил {{man|mithraen}}''', поскольку он и впрямь неудобен с точки зрения "заглянуть стороннему разработчику с целью что-либо поправить": вместо того, чтобы сразу увидеть код, человек видит лишь спек и, возможно, патчи/ресурсы -- прежде чем что-либо делать, приходится разыскивать, где же собственно исходники (особенно если майнтейнер не потрудился воспользоваться [[altlinux.org/Знакомство_со_схемой_упаковки_pam-pkcs11#gear-restore-tags|{{cmd|gear-store-tags}}]]) --[[Участник:MichaelShigorin|mike]] ([[Обсуждение участника:MichaelShigorin|обсуждение]]) 11:49, 23 декабря 2023 (UTC)}} | |||
== пример сборки пакета из апстримного git == | == пример сборки пакета из апстримного git == | ||
Строка 41: | Строка 43: | ||
# фиксировался, а потом git reset --soft на последний перед ними, | # фиксировался, а потом git reset --soft на последний перед ними, | ||
# git status и скопом все правки спека одним gear-commit -a; | # git status и скопом все правки спека одним gear-commit -a; | ||
# когда собралось, ставим подписанный релизный таг | # когда собралось, ставим подписанный релизный таг | ||
gear-create-tag | |||
# вместо git push --all/--tags руками | |||
# | sudo apt-get install girar-utils | ||
git push --all | girar-upload | ||
</pre> | </pre> | ||
NB: вместо git-empty-branch давно можно применять git checkout --orphan (спасибо {{man|glebfm}} за подсказку). | |||
=== Ссылки === | === Ссылки === |
Текущая версия от 14:49, 23 декабря 2023
Примечание: от такого варианта меня отговорил mithraen@, поскольку он и впрямь неудобен с точки зрения "заглянуть стороннему разработчику с целью что-либо поправить": вместо того, чтобы сразу увидеть код, человек видит лишь спек и, возможно, патчи/ресурсы -- прежде чем что-либо делать, приходится разыскивать, где же собственно исходники (особенно если майнтейнер не потрудился воспользоваться gear-store-tags) --mike (обсуждение) 11:49, 23 декабря 2023 (UTC)
пример сборки пакета из апстримного 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@ за подсказку).