The Standard Window is a new window of SmartGit that focuses on keeping things simple, but still powerful.
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.
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.
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.
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:
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.
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.