What´s New in SmartGit 22.1

Know all the updates and enhancements

) . }}

Features

standard-window-local-changes-94300eac.png standard-window-history-6ee85c25.png

The Standard Window is a new window of SmartGit that focuses on keeping things simple, but still powerful.

Why?

Git is very powerful and offers plenty of commands. SmartGit’s Log and Working Tree windows both offer access to this full command set. This is what our power users appreciate about SmartGit.

However, in combination with the many possibly repository states, this makes it hard to understand which operation will be the most appropriate in which situation.

How?

In the Standard Window, we clearly distinguish between Local state (working tree) and History (Log) and adjust the GUI, according to the current repository state. Furthermore, we limit the Git features to those which are most appropriate for this state.

Thus, the options for the user are more limited and this makes Git easier to learn.

For more information, refer to the dedicated Standard Window page.

graph-23f0dfba.png

The branch colors are now determined by their name, so the same branch will get the same color on each machine. Local and remote branches will use the same color, too.

Pushable commits are shown as filled dots, the first-parent history is shown bolder than merged branches, the branch labels now use the same color as their commit lines.

gitimpl-83b0c39a.png

Git’s database design is robust and simple which makes it easy and safe to read. Hence, we have now switched from JGit (a general purposes Git library for read and write access), to our own, read-only Git implementation which has been optimized for SmartGit’s needs.

The new implementation comes with improved performance, greater flexibility (with respect to on-going and future Git changes) and it resolves a couple of long-standing problems:

  • git config: support for includeif
  • .mailmap support
  • git replace support
cherry-pick-continue-41f90073.png
If during a Cherry-Pick of multiple commits a conflict occurs, it now is possible to continue the Cherry-Pick after resolving the conflict. The same is true for Revert.
rebasing-0edfb8a9.png

During any kind of Rebase the number of already rebased and total number of commits is shown.

For the Modify and Split Commit commands, the display of the “current” commit has now a more explicit label: either “editing” or “splitting”.

For other kinds of Rebases, the “current” commit is labeled using “in-progress”, if appropriate.

lfs-states-914cd6f6.png
A separate table column has been added to the Files views which shows the LFS state (also for untracked files that would be LFS tracked when staging). The Track, Lock and Unlock commands are now only available for those file states where they are useful.
branches-ahead-behind-fdc8f9e6.png
In the Branches view the ahead (outgoing) and behind (incoming) commit numbers are now shown at the right side, making them easier to spot.
2-commits-selected-19a2a53c.png
If you compare two repository states by selecting the two commits, details for both commits are now shown in the Commit view. For more than two selected commits the selected commit count is displayed.
first-commit-a74a57f6.png
Even if you’ve created a new repository outside of SmartGit, committing the first time will automatically insert an initial empty commit. This will make other commands, like Rebase, applicable even to your first commit.
japanese-4a91ee84.png
SmartGit 22.1 has been translated to the Japanese language by the SmartGit community. A big thanks to {{</* linkbeautifier url=“https://github.com/ktyubeshi" target="_blank” display=“ktyubeshi” */>}}!
user-git-config-f9fd18af.png
The Git User Options now can be edited directly in the Preferences.
fast-forward-9c320796.png

Fast-Forward Merge became built-in functionality and it is now applicable only if a fast-forward merge is actually possible.

Previously, it was only a default external tool.