Your comments

I also have to compose commit info having desired format in a separate application. I suggest to add a new button to copy commit info (as already present in Blame) and add a new setting for commit info template where you can use some tokens as placeholders for author, date, sha, commit message

It could be even better to add support for regexps with capture groups.

This is a good idea! We have standardized it with a similar pattern:

z_username_ticket-id_description, using underscore as delimiter. We could also benefit from adding _ as custom separator

How is that different from line history at the bottom of Blame window?

That would be invaluable for anyone who ever solved conflicts!

My reasons for 'Outgoing' window not being enough:

  1. Anything with conflicts! That totally doesn't work in SmartGit, while being a very typical use case.
  2. Sometimes, the commit to be affected is omitted in Outgoing.
  3. Fixup requires the other commit to have exactly same name. I prefer to make future-fixup commits with @@@@ mark and a short note where it should be fixed up, cleaning up everything later. Doing fixup at once causes unwanted 5 min rebuild for my project and distracts me from what I'm currently doing in code. Having commit with same name will not catch my attention in Log as @@@@ does.
  4. Squash (fixup + rename) requires two actions in Outgoing, which is twice as slow.
  5. You can't Edit commit, which is essential if you want to split commit into multiple commits.