Your comments

I assumed you mean to replace one global ~/.gitconfig for your private repositories with another one for your company's repositories. Maybe this was a wrong assumption? What exact options do you want to be switched between private and company profiles - name, e-mail or also additional stuff?

How do you think this should be implemented? Should SmartGit really write ~/.gitconfig before each command execution?

You can select what ${commit} actually should be allowed - could be ref or SHA.

SmartGit 17.1 offers batch-mode interactive rebase. Our existing Journal functionality uses cherry-picks because Git's rebase is dog-slow on Windows.

The focused control should be easily visible from the view's tab color.

This would be a very bad user experience. A selection change never must cause a dialog to occur. I also consider a dialog on a focus change as bad user experience.

What information the Details view should show if you have selected 2 arbitrary commits, e.g. from different branch lines?

Because then users will blame the tool for becoming slow.

In the installation directory (at least on Windows) you can find a smartgit.vmoptions.

In Git a branch is nothing else than a named pointer to a commit. The commits themselves don't have any branch information. With that information how do you think this request could be implemented?

Beside that, SmartGit always lays out the log history structure starting from the top. Hence the top-most visible commit is always left-most. This is a rather complex algorithm to keep the width as narrow as possible even for large and complex repositories.