Summary: | gear-commit - выход без записи равно прекращению коммита | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Anton Farygin <rider> |
Component: | gear | Assignee: | Dmitry V. Levin <ldv> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | glebfm, ldv, legion, placeholder, rider, sotor, vseleznv |
Version: | unstable | Keywords: | patch |
Hardware: | all | ||
OS: | Linux | ||
URL: | http://git.altlinux.org/people/ldv/packages/gear.git?p=gear.git;a=commit;h=d002f5f8e87d4380d474bd47117ddb571100106e |
Description
Anton Farygin
2017-05-05 12:30:12 MSK
В отличие от git commit, gear-commit генерит commit message по-умолчанию, которое я обычно оставляю без редактирования. Сомневаюсь, что предлагаемое изменение поведеня gear-commit было бы удобнее нынешнего. Конечно же удобнее - выход без записи по сути отмена коммита. Ну мало ли что, передумал. а так приходит откатывать коммит. (В ответ на комментарий №2) > Ну мало ли что, передумал. > а так приходит откатывать коммит. Если ты передумал после того как запустил gear-commit, то достаточно просто удалить текст, сохранить и выйти и тогда коммита не будет. И не нужно ничего откатывать. Вообще gear-commit был придуман в основном для того, чтобы commit message формировался автоматически, поэтому его, как правило, никто не редактирует и не записывает. На самом деле мне было бы удобнее, если бы, наоборот, можно было бы сказать git config --global gear.commit.edit no и получить таким образом --no-edit без необходимости это явно указывать. И ещё, я думаю что было бы правильно, если бы --no-edit, если уж этот параметр так или иначе был указан, передавался бы git commit'у, как сейчас передаётся --edit. Я опять о том, что поведение git commit и gear-commit было бы здорово сделать одинаковым. Выход из редактирования git сommit без сохранения означает commit cancel. Выход из gear-commit без сохранение приводит к коммиту. (В ответ на комментарий №4) > Вообще gear-commit был придуман в основном для того, чтобы commit message > формировался автоматически, поэтому его, как правило, никто не редактирует и не > записывает. > > На самом деле мне было бы удобнее, если бы, наоборот, можно было бы сказать > git config --global gear.commit.edit no > и получить таким образом --no-edit без необходимости это явно указывать. > > И ещё, я думаю что было бы правильно, если бы --no-edit, если уж этот параметр > так или иначе был указан, передавался бы git commit'у, как сейчас передаётся > --edit. А это уже похоже на нормальный такой featue request! ))) (В ответ на комментарий №5)
> Я опять о том, что поведение git commit и gear-commit было бы здорово сделать
> одинаковым.
>
> Выход из редактирования git сommit без сохранения означает commit cancel.
> Выход из gear-commit без сохранение приводит к коммиту.
Можно попробовать сделать это переметризируемым... gear.commit.save=true (более правильное название параметра приветствуется) и по этому параметру требовать сохраннения.
(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 будет сложнее, чем кажется. Попробуйте пожалуйста: http://git.altlinux.org/people/legion/packages/gear.git?p=gear.git;a=commitdiff;h=1d77f55753e2df5775dc88bacedcaf4ed7388069 Попробовал поведение следующее: 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 Коммит делается в любом случае gear-2.2.0-alt1 -> sisyphus: Tue Mar 06 2018 Dmitry V. Levin <ldv@altlinux> 2.2.0-alt1 - gear-srpmimport: honor RPMFILE_SPECFILE. - gear-changelog (by Alexey Gladkov): + added --no-credits option to omit credits; + added --no-header option to omit changelog header; + added --since-date option to show commits since a specified date. - gear-commit (by Alexey Gladkov; closes: #33452): + added gear.commit.edit-message config parameter: when set to true, an editor is invoked for further editing of the generated commit message; + added gear.commit.require-message-save config parameter: when set to true, the commit is aborted if the generated commit message has not been edited by the user. - Updated bash completion for gear (by Alexey Gladkov). Спасибо, работает. |