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

4 messages from 2019-05-03 to 2019-05-07. Participants: Konstantin Kharlamov, Emily Shaffer, Eric Sunshine.
Thread: https://gitlist.dev/t/51028

## Konstantin Kharlamov, 2019-05-03 15:04

Subject: [RFE] Allow for "interactive"-like actions in non-interactive rebase
Message-ID: <1556895855.30374.0@yandex.ru>
URL: https://gitlist.dev/e/1556895855.30374.0%40yandex.ru

```
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, 2019-05-06 20:30

Subject: Re: [RFE] Allow for "interactive"-like actions in non-interactive rebase
Message-ID: <20190506203003.GA85211@google.com>
URL: https://gitlist.dev/e/20190506203003.GA85211%40google.com
In-Reply-To: <1556895855.30374.0@yandex.ru>

```
Hi,

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…
> 
> 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.

> 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, 2019-05-06 22:25

Subject: Re: [RFE] Allow for "interactive"-like actions in non-interactive rebase
Message-ID: <CAPig+cTC8aGkM3ksG9cEapz33-FcjsvoO9ejeJzjmkyXHjvoJQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAPig%2BcTC8aGkM3ksG9cEapz33-FcjsvoO9ejeJzjmkyXHjvoJQ%40mail.gmail.com
In-Reply-To: <20190506203003.GA85211@google.com>

```
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/

```

## Konstantin Kharlamov, 2019-05-07 00:02

Subject: Re: [RFE] Allow for "interactive"-like actions in non-interactive rebase
Message-ID: <1557187347.2481.0@yandex.ru>
URL: https://gitlist.dev/e/1557187347.2481.0%40yandex.ru
In-Reply-To: <CAPig+cTC8aGkM3ksG9cEapz33-FcjsvoO9ejeJzjmkyXHjvoJQ@mail.gmail.com>

```


On Пн, May 6, 2019 at 18:25, Eric Sunshine <sunshine@sunshineco.com> 
wrote:
> 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.



```
