Your comments

Haven't tried the 17.1 preview yet, but from the Interactive Rebase UI screenshot, it looks like it would not be possible to duplicate the same commit. One can do it in `git rebase --interactive`, and sometimes I do it to split a commit into several ones (and optionally rearrange with the others). Of course, most of the time it would require conflict resolution.

It still should be possible to have an empty row below the list. If the list is full, scrolling down is faster than going all the way to the main menu, then selecting an item there.

Also, right now the rows occupy the whole horizontal space of the pane. Theoretically, it is also possible to limit their bounding boxes to the text (at least for the top-level items), so there would be empty space to the right. Anyway, if one clicks somewhere close to the right edge, it's hard to estimate the exact list element being selected -- the label is so far away.

The white space of the "Branches" pane. Honestly, I thought it was needless to explain why it is intuitive. If you look at e.g. file managers, Windows Explorer, Dolphin etc: right-clicking on the empty space of the files list shows pop-up menu that contains "New..." menu entry. It's intuitive to have the same for the list of the remotes.

As I said, I've never tried this tool, but after looking at the screenshots I expect that I will spend some fractions of seconds less figuring out where one feature branch (unmerged to the master, if it simplifies the matter) ends and where the other starts, because I don't have to read the commit messages to understand that.

I understand that it might not work very well for more complex scenarios, but I still think it would be nice to have this visual clue to cover many typical use-cases.

Never tried this tool so far, but actually GitKraken uses colored bars to annotate commits in the log view. So at least it's not impossible to implement.

I would say, colors of all the branches incident to the "commit node", but I'm not familiar with the git branches graph to be 100% confident.

It would nice if commit message line is annotated with the colors of the branches it belongs to. Right now you can deduce that by looking at all branches that have a circle against the corresponding commit, but for complex histories it requires some effort and concentration. It could be done with thin vertical lines of the color of the branch before or after (right-aligned) the commit message. Several vertical lines of different color or one line, but with its segments colored in different colors (branches left-to-right order matches segments top-to-bottom order).

Unless I'm missing something, the limitation of the Outgoing view is that

  • it starts "rebasing" as soon as try to move commits around, in a true "interactive rebase" mode it needs to wait until I finished rearranging the commits
  • it cancels the operation if there are conflicts, while interactive rebasing should offer to fix the conflicts, as normal rebasing does

What if upon "Rebase HEAD to...", instead of simple confirmation, SmartGit would show the dialog with the commits to be applied, and the user could rearrange/exclude them (and potentially annotate as squashing/fixup). This kind of thing is really missing in SmartGit and I have to use command line interactive rebase.