Re: want <reason> option to git-rebase
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Jun 19, 2018, 18:31 UTC
- Message-ID
- <c5fc1505-9847-25d8-02f3-c0e666afdd1d@kdbg.org>
- In-Reply-To
- <20180619010655.GA173168@aiede.svl.corp.google.com>
Am 19.06.2018 um 03:06 schrieb Jonathan Nieder:
Show 31 quoted lines
> Ian Jackson wrote[1]:
>> git-rebase leaves entries like this in the reflog:
>>
>> c15f4d5391 HEAD@{33}: rebase: checkout c15f4d5391ff07a718431aca68a73e672fe8870e
>>
>> It would be nice if there were an option to control this message.
>> Particularly, when another tool invokes git-rebase, the other tool may
>> specify an interesting --onto, and there is no way to record any
>> information about that --onto commit.
>>
>> git-rebase already has a -m option, so I suggest
>> --reason=<reason>
>>
>> It doesn't matter much exactly how the provided string is used.
>> Any of the following would be good IMO:
>> <reason>
>> rebase start: <reason>
>
> From git(1):
>
> GIT_REFLOG_ACTION
> When a ref is updated, reflog entries are created to keep
> track of the reason why the ref was updated (which is
> typically the name of the high-level command that updated the
> ref), in addition to the old and new values of the ref. A
> scripted Porcelain command can use set_reflog_action helper
> function in git-sh-setup to set its name to this variable when
> it is invoked as the top level command by the end user, to be
> recorded in the body of the reflog.
>
> "git rebase" sets this itself, so it doesn't solve your problem.If it does so unconditionally, then that is a bug. If a script wants to set GIT_REFLOG_ACTION, but finds that it is already set, then it must not change the value. set_reflog_action in git-sh-setup does the right thing.
So, if there is another script or application around git-rebase, then it should just set GIT_REFLOG_ACTION (if it is not already set) and export the environment variable to git-rebase.
-- Hannes