SmartGit upgrade on MacOS fails with “Directory ‘…/AppTranslocation/…/SmartGit.new.app’ could not be created”

Depending on how you run/install SmartGit, on upgrade you may run into read-only file system problems which are caused by App Translocation. This happens:

  1. if started directly from the DMG file by double-clicking the SmartGit.app; or
  2. if copied from the DMG file to a different location (like Applications) without using Finder, e.g. from terminal by cp -R /Volumes/SmartGit\ 20.1.2/SmartGit.app /Applications

In both cases, in SmartGit’s About dialog, page Information, we can see for Java Version a translocated path containing AppTranslocation.

To resolve case (1), we can simply copy SmartGit.app from the DMG file to the preferred location (e.g. “Applications”) using Finder.

In case of (2), from terminal, we can see that the extended attribute “com.apple.quarantine” is set:

$ xattr -l SmartGit.app
com.apple.quarantine: ...;...;Safari;...

We can get rid of this attribute using:

$ xattr -d com.apple.quarantine SmartGit.app

Now, when restarting SmartGit, the About dialog will show the actual installation path.

Credits to:
https://lapcatsoftware.com/articles/app-translocation.html
https://apple.stackexchange.com/questions/87313

Be sure that core.ignoreCase matches your OS!

When copying repositories back and forth between Windows and Linux/MacOS, you may end up either with core.ignoreCase=false on Windows or core.ignoreCase=true on Linux. Both configurations will usually cause troubles and are not supported by Git [1].

To avoid this, you may unset the core.ignoreCase configuration in your repository root:

$ git config --unset core.ignoreCase

As Git’s internal default is false, there is nothing more to do on Linux/MacOS. On Windows, you have to add core.ignoreCase=true as global default:

$ git config --global core.ignoreCase true

[1] https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreignoreCase