Linux: don’t like autohiding scrollbars?

If you are a Linux user which has problems with autohiding scrollbars that make it hard to select the last item in a table, tree or text control, you should try to set the environment variable GTK_OVERLAY_SCROLLING to 0 before launching the application. For SmartGit, open bin/smartgit.sh in a text editor and add the line

export GTK_OVERLAY_SCROLLING=0

before the last line.

SmartGit 19.1 and non-default theme on macOS 10.14

By default, SmartGit 19.1 should follow the system light/dark theme (the Theme-option “Automatic select light/dark (recommended)” is selected). If, for whatever reason, you want to see a dark SmartGit on a light system (or visa versa) like you did in SmartGit 18.2, select the light or dark system independent theme option. Without any further changes, this will cause a couple of visual glitches because of following issues between SWT and the new used macOS API:
bugs.eclipse.org/bugs/show_bug.cgi?id=549046
bugs.eclipse.org/bugs/show_bug.cgi?id=549174

You can mostly work around these problems by adding following line to
~/Library/Preferences/SmartGit/19.1/smartgit.properties:

org.eclipse.swt.display.useSystemTheme=false

SmartGit 19.1’s auto-stashing of untracked files

A couple of users have complained about changes to the auto-stashing behavior in version 19.1 (compared to 18.2): for various history-related operations (like reordering, squashing of splitting commits), SmartGit 19.1 is now requiring a clean working tree where SmartGit 18.2 did not and also Git command line does not.

In general, SmartGit considers untracked files more important than Git in various places (if not important, why not ignore them?). This is especially true for history-related operations, for which SmartGit is now using Git’s interactive rebase feature. It’s not clear whether all of these operations in combination with the interactive rebase can cope perfectly with untracked files for different scenarios (e.g. Modify/Split Commit). Hence, we require a clean working tree in general.

However there is some problem in SmartGit 19.1’s logic though: SmartGit is not stashing untracked files by default, because certain SmartGit users think that SmartGit must not touch untracked files at all. That’s behavior already present in version 18.2.

Now, combining both, you will run into the problem that SmartGit will ask you to auto-stash before performing a history-related operation, but then will not actually stash the untracked files and hence the operation fails because the working tree is not clean.

A quick solution to the problem is to enable stashing of untracked files in the Preferences, section Commands, Stash. For 19.2 we will try to be more selective here when to require a clean working tree and when not.