Author: Marc

  • Customizing the Graph colors for SmartGit 22.1

    For SmartGit 22.1 we have extended the Graph color palette to 16 colors. Our main goal was to make collisions less likely. This has become an important objective as we have changed the overall Graph coloring logic to use constant, hash-based colors per branch. A drawback of the enlarged palette is that colors are not […]

  • Non-commercial licensing changes for SmartGit 22.1

    For SmartGit 22.1, we have changed the non-commercial licensing conditions to be more permissive overall. SmartGit is now free for: everyone who spends the majority of their work on open-source projects (before, it was only “to actively work on open-source projects”, which is significantly more restrictive) employees or students on public academic institutions (before, it […]

  • Log4J vulnerability “Log4Shell”: our recent product versions are not affected

    The good news: none of our recent product versions is using Log4J: SmartGit 18.1 and newer SmartSVN 9.3 and newer SmartSynchronize 3.5 and newer DeepGit 4.0 and newer However, Log4J 1.x was used by older versions of our products: SmartGit 17.1 and older SmartSVN 9.2 and older SmartSynchronize 3.4 and older DeepGit 3.0 and older […]

  • SmartGit: the new Standard window

    For version 22.1 (currently in development), we have introduced a new main window in addition to the existing Log and Working tree window: we call it the Standard window because it enforces some standards on the way Git is used. SmartGit is known to be a very powerful and flexible client when it comes to […]

  • Tuning rebase performance on Windows

    One of our Windows users has reported that rebasing a large feature branch takes significantly longer with recent SmartGit versions. SmartGit comes with its own Git bundled which we are usually updating for every major SmartGit release. As it turns out, since Git version 2.26, the rebase backend has been switched from “apply” to “merge” […]

  • Twitter Poll: should the Log by default always show the working tree node (it will still be easy to switch off)?

    We are frequently contacted by users which are wondering why certain Git operations in the Files view are not available or why certain toolbar buttons are grayed out. Usually, it turns out that this is caused by having the HEAD commit selected instead of the invisible working tree node: if the working tree is unmodified, […]

  • SmartGit SVN integration: end-of-life announcement

    SmartGit’s SVN integration will be discontinued on Dec 31, 2022. We have decided to take this step because the amount of users of the SVN integration is steadily decreasing and is already less than 1% of overall Git users. On the other hand, the SVN integration affects many code parts, making them harder to maintain/change. […]

  • SmartGit on macOS 11 (BigSur)

    SmartGit 20.2 is the only version which we officially support on macOS 11. There are some known UI-related problems which we are working on. SmartGit 20.1 is not officially supported on macOS 11. Still, according to user’s feedback and our own experience, SmartGit 20.1 is basically working on macOS 11, however there are a couple […]

  • 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: if started directly from the DMG file by double-clicking the SmartGit.app; or if copied from the DMG file to a different location (like Applications) without using Finder, e.g. from terminal by […]

  • 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 […]