Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] Rebase usability



From: Matthias Sohn <matthias.sohn@xxxxxxxxx>
Date: Sonntag, 15. Dezember 2013 22:03
To: Robin Rosenberg <robin.rosenberg@xxxxxxxxxx>
Cc: EGit discussion <egit-dev@xxxxxxxxxxx>
Subject: Re: [egit-dev] Rebase usability

On Sun, Dec 15, 2013 at 3:08 PM, Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> wrote:
Often I want to rebase after identifying a commit that I want to edit, so I
have selected it already, and as I mentioned, in a filtered view it's hard
to select the parent.

I also think that this is a very important use-case we should support in a better way.
In this case a user would not want to do a full-fledged interactive rebase where all the commits 
after the selected commit are also changed. Such an action makes perfect sense also when the history view is filtered.

A full-fledged interactive rebase on the other hand does not make sense when the history view is filtered, 
at least I would not do that, because I would not see in advance which commits are affected. In an unfiltered history view
it is not very difficult to find the parent of the commit I want to start with (There even is a link in the commit message area).
Because of that I think it is much more important to show the same behavior as native git. For many users rebase is already
complicated, so we should not bewilder them more.

But I like the proposal of Matthias below very much. We could put the new commands into a submenu. I think this would perfectly 
address the use-case above.



We also could add a couple of additional commands to provide shortcuts for
frequently used actions, the menu could look like

...
Revert Commit
Merge
Rebase on
-----------------------
Rebase Interactive
Edit
Skip
Squash
Fixup
Reword
Move up
Move down
-----------------------
...

the shortcut actions would start rebase interactive on the parent of the
selected commit, set the selected rebase action and immediately start
interactive rebase. Move up/down could be also provided via drag&drop.
 

Back to the top