Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 356954

Summary: Add rebase --onto functionality to history view
Product: [Technology] EGit Reporter: Stefan Lay <stefan.lay>
Component: UIAssignee: Project Inbox <egit.ui-inbox>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P3 CC: remy.suen
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Stefan Lay CLA 2011-09-07 11:29:29 EDT
For rebase --onto two commits have to be selected: <newbase> and <upstream>. <upstream> is needed to determine the range of commits to be rebased onto <newbase>.

A possible solution could be to add a new context menu entry to the history view and let the selected commit be the <newbase>. Then a UI would be opened where the user can select the range of commits which will be rebased onto <newbase>. The UI would contain all commits reachable from HEAD but not from <newbase>, selection of a commit would automatically select the range from the commit to HEAD.

Example:

        A---B---C topic <HEAD>
         /
    D---E---F---G master
    
I want to rebase B and C onto master, topic is checked out. On G I select "Rebase onto...". The a dialog opens where I see 

C
B
A

I select B, the UI automatically selects the also C. Then I press a button "Rebase".

The result will be

        A---B---C <ORIG-HEAD>
         /
    D---E---F---G master
                      \
                        B'---C' topic <HEAD>