||A major contributor to this article appears to have a close connection with its subject. (May 2013)|
SmartGit 2.1 on Windows 7
|Stable release||4 / January 16, 2013|
|Operating system||Windows, Mac OS X, Linux|
|Available in||English only|
|Type||Git, Mercurial and SVN client|
SmartGit/Hg's main user interface is similar to those of typical file managers (such as Windows Explorer) in that it has a directory tree on the left and a file table on the right containing all files within a repository and working tree. It uses file manager concepts such as dialogs, wizards and drag & drop for common versioning tasks such as committing, branching, and comparing. The history of an opened repository is displayed in a separate window, the so-called Log window, and many Git/Mercurial commands can be performed both on the main window and the Log window, such as switching between branches, merging branches, creating branches and tags, etc. Additional tools are included to allow "out of the box" use, such as:
- A file diff viewer that shows two text files side by side, highlights the differences between them and allows editing the files.
- A so-called 'conflict solver', which is basically a 3-way merge. It is used for resolving merge conflicts.
- A built-in SSH client (optionally, external SSH client can also be used).
SmartGit/Hg can be used as an SVN client, augmented with Git functionality:
- When commits are created, they are first stored locally, rather than immediately sent ('pushed') to the SVN repository. The user can decide to push the locally stored commits whenever he or she wants. The main advantages of this local storage are increased performance due to the absence of network delays and the ability to work and commit offline.
- Commits that haven't been pushed yet can be modified in many different ways: Multiple commits can be combined into one, one commit can be split into multiple commits, the order of commits can be changed, commits can be undone, etc. The point of such modifications is to allow 'cleaning up' the local history before it becomes part of the official history. A cleaned-up history is far easier to analyze later, for example when tracking down the source of a certain bug.
Version 3 of SmartGit was released on March 2, 2012 and contains major changes, most notably the migration of the GUI from Swing to SWT. As a result, the SmartGit 3 GUI is made up of native rather than emulated GUI controls, leading to a more native look and feel. Other notable changes in SmartGit 3 include:
- Mercurial support
- Support of the OpenJDK on Linux
- A more compact log display
SmartGit/Hg 4 was released on January 16, 2013. It was rebranded from the former name 'SmartGit' to emphasize Mercurial support, which was the major enhancement since version 3. Other notable changes include:
- Git 'blame' support
- Tightly integrated user interface for branch-, tags-, remotes- and stash-handling
- Interactively reordering and joining commits
SmartGit/Hg 4.5 was released on April 26, 2013. Most notable changes include:
- Syntax coloring
- Quicker staging of hunks and inner-line changes
- External tools support
- Automatic update
- Optional Save Stash/Apply Stash if certain commands, e.g. Pull, fail because of local changes.
SmartGit/Hg is free to use for non-commercial purposes. For commercial usage and technical support, a license must be purchased.