Bug 33452 - gear-commit - выход без записи равно прекращению коммита
: gear-commit - выход без записи равно прекращению коммита
Status: NEW
: Sisyphus
(All bugs in Sisyphus/gear)
: unstable
: all Linux
: P3 normal
Assigned To:
:
: http://git.altlinux.org/people/ldv/pa...
: patch
:
:
  Show dependency tree
 
Reported: 2017-05-05 12:30 by
Modified: 2017-12-25 15:27 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2017-05-05 12:30:12
было бы неплохо сделать поведение аналогичное git commit - т.е. - выход без
записи изменений равноценен прекращению commit'а.
------- Comment #1 From 2017-10-28 03:09:26 -------
В отличие от git commit, gear-commit генерит commit message по-умолчанию,
которое я обычно оставляю без редактирования.

Сомневаюсь, что предлагаемое изменение поведеня gear-commit было бы удобнее
нынешнего.
------- Comment #2 From 2017-10-28 08:13:42 -------
Конечно же удобнее - выход без записи по сути отмена коммита.
Ну мало ли что, передумал.
а так приходит откатывать коммит.
------- Comment #3 From 2017-10-28 19:38:39 -------
(В ответ на комментарий №2)
> Ну мало ли что, передумал.
> а так приходит откатывать коммит.

Если ты передумал после того как запустил gear-commit, то достаточно просто
удалить текст, сохранить и выйти и тогда коммита не будет. И не нужно ничего
откатывать.
------- Comment #4 From 2017-10-29 03:30:51 -------
Вообще gear-commit был придуман в основном для того, чтобы commit message
формировался автоматически, поэтому его, как правило, никто не редактирует и не
записывает.

На самом деле мне было бы удобнее, если бы, наоборот, можно было бы сказать
git config --global gear.commit.edit no
и получить таким образом --no-edit без необходимости это явно указывать.

И ещё, я думаю что было бы правильно, если бы --no-edit, если уж этот параметр
так или иначе был указан, передавался бы git commit'у, как сейчас передаётся
--edit.
------- Comment #5 From 2017-10-29 08:13:04 -------
Я опять о том, что поведение git commit и gear-commit было бы здорово сделать
одинаковым.

Выход из редактирования git сommit без сохранения означает commit cancel.
Выход из gear-commit без сохранение приводит к коммиту.
------- Comment #6 From 2017-10-30 13:39:54 -------
(В ответ на комментарий №4)
> Вообще gear-commit был придуман в основном для того, чтобы commit message
> формировался автоматически, поэтому его, как правило, никто не редактирует и не
> записывает.
> 
> На самом деле мне было бы удобнее, если бы, наоборот, можно было бы сказать
> git config --global gear.commit.edit no
> и получить таким образом --no-edit без необходимости это явно указывать.
> 
> И ещё, я думаю что было бы правильно, если бы --no-edit, если уж этот параметр
> так или иначе был указан, передавался бы git commit'у, как сейчас передаётся
> --edit.

А это уже похоже на нормальный такой featue request! )))
------- Comment #7 From 2017-10-30 13:42:38 -------
(В ответ на комментарий №5)
> Я опять о том, что поведение git commit и gear-commit было бы здорово сделать
> одинаковым.
> 
> Выход из редактирования git сommit без сохранения означает commit cancel.
> Выход из gear-commit без сохранение приводит к коммиту.

Можно попробовать сделать это переметризируемым... gear.commit.save=true (более
правильное название параметра приветствуется) и по этому параметру требовать
сохраннения.
------- Comment #8 From 2017-10-30 14:04:48 -------
(In reply to comment #7)
> (В ответ на комментарий №5)
> > Я опять о том, что поведение git commit и gear-commit было бы здорово сделать
> > одинаковым.
> > 
> > Выход из редактирования git сommit без сохранения означает commit cancel.
> > Выход из gear-commit без сохранение приводит к коммиту.
> 
> Можно попробовать сделать это переметризируемым... gear.commit.save=true (более
> правильное название параметра приветствуется) и по этому параметру требовать
> сохраннения.

Насколько я помню, git commit делает cancel в случае, если commit message
пустой, а не в случае "без сохранения".

Поэтому реализовать gear.commit.require_saved_message=true будет сложнее, чем
кажется.
------- Comment #9 From 2017-12-24 04:01:11 -------
Попробуйте пожалуйста:

http://git.altlinux.org/people/legion/packages/gear.git?p=gear.git;a=commitdiff;h=1d77f55753e2df5775dc88bacedcaf4ed7388069
------- Comment #10 From 2017-12-25 15:27:09 -------
Попробовал поведение следующее:

1. gear.commit.edit-message true
gear.commit.require-message-save true
Вызывается редактор с автоматическим commit message:
<gear-commit message template, please remove this line and save to commit>
Если сообщение отредактировать и сохранить, делается коммит.
Если не редактировать/не сохранять, коммит отменяется

2. gear.commit.edit-message false
gear.commit.require-message-save true
Поведение аналогично пункту 1.

3. gear.commit.edit-message true
gear.commit.require-message-save false
Вызывает редактор с сообщением аналогично аналогично параметру --edit
Коммит делается в любом случае