Bug 23803 - gear-commit: do gear-update-tag before commiting
Summary: gear-commit: do gear-update-tag before commiting
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: gear (show other bugs)
Version: unstable
Hardware: all Linux
: P3 enhancement
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-23 13:25 MSD by ildar
Modified: 2010-08-04 12:19 MSD (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ildar 2010-07-23 13:25:32 MSD
прошу добавить вызов gear-update-tag в gear-commit.

On 23.07.2010 15:09:33, Dmitry V. Levin wrote:
> Да, у нынешнего gear-update-tag есть побочные эффекты в этом случае.
Если не трудно, расскажите, какие.

Поскольку есть серьёзные побочные эффекты (верю на слово), то  предлагаю добавить опцию к gear-commit.
Comment 1 Dmitry V. Levin 2010-07-23 13:32:29 MSD
(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 было бы достаточно.
Comment 2 ildar 2010-07-23 13:48:04 MSD
(В ответ на комментарий №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" был бы для меня идеалным решением.
Comment 3 Alexey Gladkov 2010-07-23 13:59:51 MSD
Пожалуйста, не делайте этого. Не смешивайте утилиты. Люди, использующие схему тегов, знают когда и в каком порядке запускать утилиты gear-update-tag и gear-commit... остальным не стоит знать про gear-update-tag.

Сейчас у нас каждая утилита выполняет ровно одну задачу (unix-way). Вы же хотите сделать комбайн. В итоге у нас будет одна могучая утилита gear с морем опций.
Comment 4 Dmitry V. Levin 2010-07-23 14:56:34 MSD
(In reply to comment #3)
> Пожалуйста, не делайте этого. Не смешивайте утилиты. Люди, использующие схему
> тегов, знают когда и в каком порядке запускать утилиты gear-update-tag и
> gear-commit... остальным не стоит знать про gear-update-tag.

Люди имеют свойство забывать выполнять однообразные рутинные операции.
Comment 5 Sir Raorn 2010-07-23 15:01:06 MSD
Тогда уж лучше добавить в gear-commit вызов gear-update-tag --verify.  Оно ничего не обновляет и в случае неиспользования .gear-tags не ругнётся.  А поскольку после gear-commit пакет с большой вероятностью сразу уйдёт на сборку, это очень удобное место для подобной проверки.
Comment 6 Dmitry V. Levin 2010-07-23 15:07:25 MSD
(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.
Comment 7 Alexey Gladkov 2010-07-23 15:20:06 MSD
(В ответ на комментарий №6)
> экспортировать какую-нибудь спец.переменную при запуске git commit из
> gear-commit.  Тогда желающие смогут настроить себе .git/hooks/pre-commit таким
> образом, чтобы при запуске gear-commit вызывался ещё и gear-update-tag
> --verify.

Мне нравится!
Предлагаю неожиданное название для переменной: GEAR_COMMIT=1 :)
Comment 8 Alexey Gladkov 2010-07-23 16:13:03 MSD
Позвольте я пробью с ноги:

http://git.altlinux.org/people/legion/packages/gear.git?p=gear.git;a=commitdiff;h=5bd99c2ec63f379bd25b90dae1ac018791bdca8e
Comment 9 Repository Robot 2010-07-29 02:45:50 MSD
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).
Comment 10 Dmitry V. Levin 2010-07-29 02:49:25 MSD
В git-core-1.7.2.1-alt1 я добавил вызов gear-update-tag --verify в шаблон /usr/share/git-core/templates/hooks/pre-commit.sample