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

> Hi,
> 
> I'm currently working on a view for interactive rebase in EGit.
> There has already been a discussion on the mailing list about how a
> rebase interactive could look like (found an archive here:
> http://web.archiveorange.com/archive/v/wFRgJzOZY6EspKpJhsXk).
> 
> Regarding this discussion I decided to approach the rebase
> interactive with a new view for the following reasons:
> -A modal Dialog would block the UI, this can be really annoying since
> the "planning phase" may be a long lasting task where I do not want
> to have my UI blocked.
> -As mentioned in the discussion the HistoryView is already pretty
> complex
> -It would be hard to distinguish between what would be the result of
> the rebase (i.e. what is the plan) and what is the current
> respository state in the HistoryView
> -IMO the HistoryView is responsible for displaying the current
> history of the repository. It might be confusing for beginners if we
> mix responsibilities here.
> 
> See the screenshots of the current state attached to this mail (note
> that unlike in c git the "planned steps" are not shown in reverse
> order in this view - I'm not quite sure on how to display the
> "steps").

I think they should be listed top-to-bottom. To make the order clear,
maybe we could add the "number" of the step at the left, e.g.:

1. pick abc1234 Commit foo
2. pick def5678 Commit bar

> I've planned to push a working version of my current work as an early
> draft by Monday.
>
> comments, recommendations, feedback is appreciated.

For starting the wizard: It currently looks like the context menu entry
will determine what the "upstream" is, right? How would you do a
"rebase commits a..b onto c" with the context menu? Maybe we need to
bring up a dialog for selecting the commit range and the "onto".

With the dialog, we could also just have one context menu entry named
"Rebase on top of...", and the dialog could contain the option of whether
to do it interactively or not, and it would provide a confirmation and
preview to the user.

See attached mockup to clarify what I mean.


To the view: Is the action in the table a dropdown? This way, the
commit could be directly manipulated in the table instead of having
to select it and then move to the toolbar.

In the final version, the actions should all have icons, so that they
can also be displayed in the table besides the action.


That's it for now, looking forward to playing around with it! :)

Regards,
  Nibor

Attachment: rebase-dialog-mockup.png
Description: PNG image


Back to the top