threads / discuss / 51028

[RFE] Allow for "interactive"-like actions in non-interactive rebase

Subject: [RFE] Allow for "interactive"-like actions in non-interactive rebase

## tl;dr

4 messages between May 3, 2019 and May 7, 2019.

replies: 3people: 3as markdown or json

Konstantin Kharlamov· May 3, 2019, 15:04 UTC · lore

Interactive rebase (i.e. for example "git rebase -i HEAD~10") is used most often to apply an action to a single commit, e.g. "rename", "edit", "fixup", etc…

As result, people keep coming up with custom scripts and aliases for every distinct action.

Instead, it would be nice to have native support in git to start "rebase" for a given commit, and pass the "interactive action" to use on that commit. Examples:

$ git rebase -i HEAD~10 --action edit $ git rebase -i HEAD~10 --action rename $ git rebase -i HEAD~10 --action fixup

Emily Shaffer· May 6, 2019, 20:30 UTC · re: Konstantin Kharlamov · lore

Re: [RFE] Allow for "interactive"-like actions in non-interactive rebase

Hi,
On Fri, May 03, 2019 at 06:04:15PM +0300, Konstantin Kharlamov wrote:
Show 9 quoted lines
> Interactive rebase (i.e. for example "git rebase -i HEAD~10") is used most
> often to apply an action to a single commit, e.g. "rename", "edit", "fixup",
> etc…
> 
> As result, people keep coming up with custom scripts and aliases for every
> distinct action.
> 
> Instead, it would be nice to have native support in git to start "rebase"
> for a given commit, and pass the "interactive action" to use on that commit.

I would totally use this. The equivalent workflow right now is a pretty large number of steps for, say, fixing a typo.

Show 5 quoted lines
> Examples:
> 
> $ git rebase -i HEAD~10 --action edit
> $ git rebase -i HEAD~10 --action rename
> $ git rebase -i HEAD~10 --action fixup

Is there an alternative to any of these actions that can already be taken individually? Or, another way of asking, were the interactive rebase commands based on some other Git command which could be pain to do on many commits individually?

Emily
Eric Sunshine· May 6, 2019, 22:25 UTC · re: Emily Shaffer · lore

Re: [RFE] Allow for "interactive"-like actions in non-interactive rebase

On Mon, May 6, 2019 at 4:30 PM Emily Shaffer <emilyshaffer@google.com> wrote:
Show 14 quoted lines
> On Fri, May 03, 2019 at 06:04:15PM +0300, Konstantin Kharlamov wrote:
> > Interactive rebase (i.e. for example "git rebase -i HEAD~10") is used most
> > often to apply an action to a single commit, e.g. "rename", "edit", "fixup",
> > etc…
> >
> > Instead, it would be nice to have native support in git to start "rebase"
> > for a given commit, and pass the "interactive action" to use on that commit.
> >
> > $ git rebase -i HEAD~10 --action edit
> > $ git rebase -i HEAD~10 --action rename
> > $ git rebase -i HEAD~10 --action fixup
>
> I would totally use this. The equivalent workflow right now is a pretty
> large number of steps for, say, fixing a typo.

Isn't this pretty much what Phil Hord's RFC patch series[1] was about? However, Junio outlined[2] a generalization of that approach providing more flexibility and control.

[1]: https://public-inbox.org/git/20190422000712.13584-1-phil.hord@gmail.com/ [2]: https://public-inbox.org/git/xmqqk1fm9712.fsf@gitster-ct.c.googlers.com/

Konstantin Kharlamov· May 7, 2019, 00:02 UTC · re: Eric Sunshine · lore

Re: [RFE] Allow for "interactive"-like actions in non-interactive rebase

On Пн, May 6, 2019 at 18:25, Eric Sunshine <sunshine@sunshineco.com> wrote:

Show 31 quoted lines
> On Mon, May 6, 2019 at 4:30 PM Emily Shaffer 
> <emilyshaffer@google.com> wrote:
>>  On Fri, May 03, 2019 at 06:04:15PM +0300, Konstantin Kharlamov 
>> wrote:
>>  > Interactive rebase (i.e. for example "git rebase -i HEAD~10") is 
>> used most
>>  > often to apply an action to a single commit, e.g. "rename", 
>> "edit", "fixup",
>>  > etc…
>>  >
>>  > Instead, it would be nice to have native support in git to start 
>> "rebase"
>>  > for a given commit, and pass the "interactive action" to use on 
>> that commit.
>>  >
>>  > $ git rebase -i HEAD~10 --action edit
>>  > $ git rebase -i HEAD~10 --action rename
>>  > $ git rebase -i HEAD~10 --action fixup
>> 
>>  I would totally use this. The equivalent workflow right now is a 
>> pretty
>>  large number of steps for, say, fixing a typo.
> 
> Isn't this pretty much what Phil Hord's RFC patch series[1] was about?
> However, Junio outlined[2] a generalization of that approach providing
> more flexibility and control.
> 
> [1]: 
> https://public-inbox.org/git/20190422000712.13584-1-phil.hord@gmail.com/
> [2]: 
> https://public-inbox.org/git/xmqqk1fm9712.fsf@gitster-ct.c.googlers.com/
Thanks, indeed it is. I replied on the corresponding emails.

← back to recent threads