прошу добавить вызов gear-update-tag в gear-commit. On 23.07.2010 15:09:33, Dmitry V. Levin wrote: > Да, у нынешнего gear-update-tag есть побочные эффекты в этом случае. Если не трудно, расскажите, какие. Поскольку есть серьёзные побочные эффекты (верю на слово), то предлагаю добавить опцию к gear-commit.
(In reply to comment #0) > прошу добавить вызов gear-update-tag в gear-commit. > > On 23.07.2010 15:09:33, Dmitry V. Levin wrote: > > Да, у нынешнего gear-update-tag есть побочные эффекты в этом случае. > Если не трудно, расскажите, какие. > > Поскольку есть серьёзные побочные эффекты (верю на слово), Я не утверждал, что они серьёзные. Эффектов 2: - там, где .gear-tags не используется, в коммит будет добавлен пустой файл .gear/tags/list; это точно лишнее; - там, где .gear-tags используется, .gear/tags/list будет обновлён даже в том случае, когда это нежелательно, т.е. будет выполнен некий аналог git commit -a применительно к .gear-tags. > то предлагаю добавить опцию к gear-commit. Возможно, gear-commit -a было бы достаточно.
(В ответ на комментарий №1) > - там, где .gear-tags не используется, в коммит будет добавлен пустой файл .gear/tags/list; это точно лишнее; Этого можно избежать банальной проверкой. > - там, где .gear-tags используется, .gear/tags/list будет обновлён даже в том > случае, когда это нежелательно, т.е. будет выполнен некий аналог git commit -a > применительно к .gear-tags. > > > то предлагаю добавить опцию к gear-commit. > > Возможно, gear-commit -a было бы достаточно. Вызов gear-update-tag в "gear-commit -a" был бы для меня идеалным решением.
Пожалуйста, не делайте этого. Не смешивайте утилиты. Люди, использующие схему тегов, знают когда и в каком порядке запускать утилиты gear-update-tag и gear-commit... остальным не стоит знать про gear-update-tag. Сейчас у нас каждая утилита выполняет ровно одну задачу (unix-way). Вы же хотите сделать комбайн. В итоге у нас будет одна могучая утилита gear с морем опций.
(In reply to comment #3) > Пожалуйста, не делайте этого. Не смешивайте утилиты. Люди, использующие схему > тегов, знают когда и в каком порядке запускать утилиты gear-update-tag и > gear-commit... остальным не стоит знать про gear-update-tag. Люди имеют свойство забывать выполнять однообразные рутинные операции.
Тогда уж лучше добавить в gear-commit вызов gear-update-tag --verify. Оно ничего не обновляет и в случае неиспользования .gear-tags не ругнётся. А поскольку после gear-commit пакет с большой вероятностью сразу уйдёт на сборку, это очень удобное место для подобной проверки.
(In reply to comment #5) > Тогда уж лучше добавить в gear-commit вызов gear-update-tag --verify. Оно > ничего не обновляет и в случае неиспользования .gear-tags не ругнётся. А > поскольку после gear-commit пакет с большой вероятностью сразу уйдёт на сборку, > это очень удобное место для подобной проверки. Альтернативный вариант, более сложный в первичной настройке, но зато более гибкий: экспортировать какую-нибудь спец.переменную при запуске git commit из gear-commit. Тогда желающие смогут настроить себе .git/hooks/pre-commit таким образом, чтобы при запуске gear-commit вызывался ещё и gear-update-tag --verify.
(В ответ на комментарий №6) > экспортировать какую-нибудь спец.переменную при запуске git commit из > gear-commit. Тогда желающие смогут настроить себе .git/hooks/pre-commit таким > образом, чтобы при запуске gear-commit вызывался ещё и gear-update-tag > --verify. Мне нравится! Предлагаю неожиданное название для переменной: GEAR_COMMIT=1 :)
Позвольте я пробью с ноги: http://git.altlinux.org/people/legion/packages/gear.git?p=gear.git;a=commitdiff;h=5bd99c2ec63f379bd25b90dae1ac018791bdca8e
gear-1.7.2-alt1 -> sisyphus: * Wed Jul 28 2010 Dmitry V. Levin <ldv@altlinux> 1.7.2-alt1 - gear-commit, gear-merge: export variables for use in git hooks (by Alexey Gladkov; closes: #23803). - gear-sh-functions.in (is_ancestor_commit): rewriten in more reliable and efficient way; affects gear(1) and gear-update-tag(1).
В git-core-1.7.2.1-alt1 я добавил вызов gear-update-tag --verify в шаблон /usr/share/git-core/templates/hooks/pre-commit.sample