Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] Support for rebase interactive

On 24 Jul 2013, at 10:03, Sascha Vogt <FunkyFish@xxxxxxx> wrote:

> Hi all,
> 
> the last things I have to drop to the command line with EGit these days
> is rebase interactive. Commit reordering and squashing are powerful
> tools IMHO. So here the question: Is rebase interactive support [1][2]
> planned?
> 
> If not, is there something I could do to get it started (apart from
> implementing it myself as my UX / UI / SWT skills are quite limited)?
> 
> Maybe we could start a discussion about how the user interface should
> look like and where this should be put in EGit. This might make it
> easier if someone would be willing to start working on that.

I'd think interactive rebase options could elegantly be done by dragging and dropping nodes in the history view (for reordering), clicking two or more nodes in the history view and choosing "squash" or allowing a right click on a node and do "edit" which would reset the workspace to that commit, allow an edit, then do the rebase after the commit. Any conflicts caused could stop at the conflict and request for edits. 

I think the best way is to hook up the commit dialog with a check to see if "rebase interactive" is set and then if so automatically do a rebase continue. 

It would be difficult for a UI to be as flexible as the command line where you can reorder/fix up/squash/edit all in one go but I think the history view is the way to expose individual operations - and then you can then do many such operations on the UI sequentially instead of all at once. 

The other approach would be to annotate nodes as "mark for edit" or "mark for squash" etc and then have a "perform rebase" but the UX for this is not as nice as a single "edit" or "reorder" kind of drag and drop. 

Alex

Back to the top