What's New in SmartGit/Hg 5
GitHub: Pull Requests and Comments
If you are using GitHub or have an own GitHub Enterprise instance, you can use Pull Requests and Comments features from inside SmartGit/Hg. Instead of leaving the responsibility to merge fixes or new features to all developers, they can send a Pull Request to the system integrator. The system integrator then will fetch the pull request commits, review them and either merge or reject the pull request.
The Comments feature comes in handy, because it allows to add comments to lines of committed files, e.g. as feed-back to a pull request.
SmartGit/Hg now supports 2-factor authentication to connect to the GitHub server and relies on API tokens instead of passwords. This improves security, because you have to share the GitHub account password with SmartGit/Hg only once, or you can even manually generate the token from the web-fronted. GitHub Enterprise instances are well-supported now and you can have multiple accounts, for github.com and for Enterprise instances at the same time.
In contrast to SVN Git is lacking a standardized way to define how to detect issues in commit messages and convert them to links to your issue tracker. SmartGit/Hg goes ahead and supports configurations similar to SVN's bugtraq:* properties. More information you can find at github.com/mstrap/bugtraq.
The Log now allows to pull and push. To visually distinguish unpushed commits, they are shown with orange color and are connected to their parents with thin lines. Tracking branches show how much commits they are ahead (develop 2>) or behind (develop <4) their tracked branch.
Several commands — e.g. to move the head (checkout), reset current branch, move arbitrary refs, cherry-pick or rebase a commit range — now can be performed with drag-and-drop.
SmartGit/Hg now also supports a powerful Blame for Mercurial with navigation in the line history.
Git has stashes and Mercurial has shelves. SmartGit/Hg now also adds support for Mercurial shelves, so you can save local changes quickly to get a clean repository and apply the changes again later.
For repositories with multiple remotes one now can select on what remote Git-Flow should operate (gitflow.origin).
For those who want to write perfect Git commit messages, SmartGit now optionally shows line length guides at 50/72 characters.
Different files might require different merge tools (e.g. for text or special binary files). As for file comparators, SmartGit/Hg now allows to configure different Conflict Solvers depending on the file name.
Sometimes it makes sense to ignore modified, but versioned files. Git allows to mark files with the assume-unchanged flag. SmartGit/Hg allows to toggle this flag and you can choose whether to show or hide these files.
For a complete list of all changes, please refer to the Change Log.
What's New in SmartGit/Hg 4.6
Git-Flow is a high-level command set wrapping low-level Git commands to support a successful branching model. For the user it significantly reduces the necessary workflow steps and hence reduces the risk of incorrect command usage by less-experienced users.
Increased Rebase Performance
The performance of rebase operations, especially on Windows systems, has been significantly improved (18x faster on a Windows XP test machine).
SmartGit supports an own URI: smartgit://cloneRepo/<URL>. This allows web applications like gitblit.org to easily trigger a clone in SmartGit/Hg.
Safe Forced Push
To reducing the risk of overwriting changes using a forced-push, a safety check is performed ensuring that the local 'remote' branch is identical with the one in the remote repository. In other words: the forced-push is rejected if someone else has pushed something to the same branch. You have to perform a fetch first (and get the other user's changes) to successfully perform a forced-push.
What's New in SmartGit/Hg 4.5
Syntax Coloring and Quick Line Staging
The built-in file editors (Compare, Conflict Solver and Index Editor) now support syntax coloring based on the file name. The colors and the filename-to-language mappings can be configured in the preferences.
SmartGit/Hg 4.5 makes staging (unstaging) hunks or inner-line changes even simpler and directly available in the Changes tool window.
The existing file and directory tools have been unified. Tools now support own menu items, shortcuts and can be executed on selections of multiple files.
To reduce the steps necessary to use the latest version, SmartGit/Hg 4.5 supports auto-updating. If a new SmartGit/Hg version is released, SmartGit/Hg will download it in the background and use it when started the next time. No manual installation or administrative access rights are required.
The Blame has been improved in various areas: more compact information, display of subsequent and previous content of a single line, hyperlink navigation, better merge commit resolution and performance.
Stash on Demand
If pulling or checking out a branch fails because of local modifications, the changes can be stashed away easily and applied again after the successful command execution.
The Pull dialog now has a separate button to fetch only (without merging or rebasing).
What's New in SmartGit/Hg 4
Improved Mercurial Support
Support for following feature has been added: bookmarks, cherry-pick, rebase, phases and strip.
If you need credentials for accessing your http(s) repository, SmartGit/Hg can remember them for you.
Major commands have been added to the Log to execute them directly from there. The Log now also shows the history of renamed or moved files.
Before pushing, you can cleanup your commits visually (except of merge commits): reorder commits by using drag and drop, join adjacent commits or edit commit messages.
Branch-, Stash-, Remote-Handling Simplified
The new Branches tool window unifies a lot of functionality at one place. Simply switch branches by double-click, see pushable (red) and fetched (green) commits, push certains branches or tags, manage remotes or apply and drop stashes.
Full SVN-Property Support
SmartGit/Hg 4 provides full SVN-property support, so you can merge easily all changes. If you have cloned the SVN repository using a previous SmartGit version, you will see following warning:
Move to Trash
When deleting files, you now can delete to the trash.
Polished User Interface
The Reveal in Finder feature has been enhanced to also work on Windows (Explorer) and Linux (Nautilus).
With SmartGit/Hg 4 you can specify on branch-level whether Pull should perform a Rebase or Merge.
The hosting provider support has been added to Add Remote, too, to make importing a project easier.
When cloning, you may opt to just clone one particular branch.