Improve rebase dialog: Use phase to swap source / destination etc.
Created originally on Bitbucket by Anonymous
In RepoWidget
rebaseDlg
two selected revisions are used as source and destination of the rebase operation: {'source': self.menuselection[0], 'dest': self.menuselection[1]}
.
For some reason this order is always counter-intuitive to me. To me it seems more natural to click the destination first and then right-click the source to open the context menu and execute the rebase command on the source revision. But I guess just swapping them would confuse users that are now used to this behavior.
I'm very thankful that there is a "Swap source and destination" link/button that can easily fix the problem, if it is noticed. Unfortunately the UI makes it more difficult than necessary to notice the problem: There is a lot of information, but not necessarily all of it is useful and not all useful information is shown.
The phase (secret / draft / public) of the two changesets is missing. When source is public and destination is draft, I probably mixed them up and want to swap them. This could IMO even be done automatically as a heuristic.
To me branch and tag and date are just distracting. The bold labels are also quite distracting. More helpful would be "author coloring", but that is missing.
(The source changeset title is missing the word "source".)
The source and destination groupboxes are stacked vertically. It would be much more helpful to stack them horizontally, so the respective fields are next to each other.
Bonus: Show some hints (i.e. colored "source" and "destination" annotations, or an maybe even an arrow from source to destination?) in the workbench graph on the selected changesets themselves.