Support interactive rebase directly from SmartGit.
You already can do a lot of those commands in the Outgoing or Journal view. What commands you are missing - please create a new topic for each missing command.
Unless I'm missing something, the limitation of the Outgoing view is that
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.
Indeed it misses the ability to resolve "interactive" rebase conflicts. That's the major missing piece that requires me to use the command line to rebase.
Also, additionally to the "squash commits" command, there could be a "fixup into (previous commit)" command (most of my squashes are fixups).
I don't feel the need to schedule multiple changes simultaneously like in the git CLI. In a GUI, reorganizing commits as I move them around seems more appropriate.
Could you please explain the difference between "squash commits" and "fixup into (previous commit)"? Thanks in advance.
From my point of view interactive rebase provides these features I miss in SmartGit GUI:
For version 8.1 (preview will be available after version 8 has been released) you will at least be able to Commit during Rebase.
My reasons for 'Outgoing' window not being enough:
We plan to add Interactive Rebase for batch processing larger history rewrite actions, additionally to the existing Journal-operations, for version 17.1.
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.
For splitting commits there is a different command and the latest build 11129 (Help | Check for Latest Build) implements the split using duplicate commits (according to your suggestion), stopping at the first to discard unwanted parts.
Customer support service by UserEcho