When comparing Meld vs SmartGit, the Slant community recommends Meld for most people. In the question“What are the best merge applications for Git?”Meld is ranked 2nd while SmartGit is ranked 3rd. The most important reason people chose Meld is:

Meld allows users to compare two or three different folders for differences. But if a user wants to 'zoom in' and compare files contained in these folders, Meld gives you the ability to do so and launch file comparisons between files contained in different folders or in the same folder.

Pros

Pro

Comparing two or more different folders is supported

Meld allows users to compare two or three different folders for differences. But if a user wants to 'zoom in' and compare files contained in these folders, Meld gives you the ability to do so and launch file comparisons between files contained in different folders or in the same folder.

Pro

Supports editing files directly

In addition to comparing two files it also allows you to edit them right in place. What's more, the diffs are updated automatically.

Pro

Free and open source

Meld is freely available on Linux, Windows and OSX (through MacPorts, Fink or Brew).

It's also open source and distributed under the GNU General Public License (GPL).

Pro

Three way comparisons

You can compare up to three different files for differences. Plus you can edit files from the comparison view and the diff will automatically update.

Pro

Supports some simple version control actions

Meld supports the major version control systems (Git, Mercurial, Subversion and Bazaar). You can launch file comparisons between different versions to see what parts changed before commiting.

Simple version control actions are also supported and possible. For example: commit/update/add/remove/delete files.

Pro

Internationalization

Through the GNOME Translation project and the translators that have worked for it, Meld is available in multiple languages. You can check if your language is supported in the translation statistics page.

If you can't find your language or if your language translation is unfinished and you want to help, you can do so by joining the GNOME Translation Project.

Pro

Easy to use and visually appealing

Stragihtforward and you don't need to read tutorials to use it. Just click and select and you instantly see how the difference and merges are connected to eachother.3 sub- windows, instead of 4, which reduces the mess during merge and let you see more of the surrounding files rather than just 5 lines.

Pro

Simple GUI

Pro

Fast on Linux

Relatively fast on Linux.

Pro

Free for non-commercial use

SmartGit can be used free of charge by Open Source developers, teachers and their students, or for hobby, non-paid usage.

Pro

Uncluttered UI

SmartGit has a rather clean and uncluttered user interface. All the most useful tools and information are displayed at all times or are otherwise just a couple of clicks away.

All repositories are displayed in the sidebar and through a tabbed interface you can view various info about a specific repository (files, branches, branch graph, etc). The most used git commands like pull, push, sync, commit and merge are always available on top.

Pro

Easy to use

The clean and intuitive UI makes SmartGit very easy even for people with no prior experience with Git, even after reading just a bit on how Git works and what the main commands are.

Pro

Supports GitFlow

GitFlow provides a consistent development process by defining a strict branching model that is great for managing large projects. SmartGit allows for setting up and integrating into repos that follow this model.

Pro

Supports Mercurial & SVN

Apart from Git, SmartGit supports both Mercurial and SVN via a git bridge.

Pro

Smart embedded difference viewer

When the changes affect only a few characters in a line of code, the embedded difference viewers in the majority of competitors (such as SourceTree) show the whole line as removed and re-added. SmartGit highlights the characters that have been removed / added, so they are easier to read.

Pro

Great overview of the project/repository's log

SmartGit's log viewer displays the full commit history in a clean UI. This can be filtered to only show commits matching a certain criterion (e.g. branch).

Pro

Auto-detects repositories on disk

Pro

Portable version for Windows is available

SmartGit also has a portable bundle that can be downloaded and can be run from external devices (such as a flash drive for example).

Pro

GPG support

GPG in SmartGit makes for added security.

Pro

Extendable with external tools

External tools (which have a command line support) can be integrated to be used to open/view files, for diff or as conflict solvers. E.g. editors like Notepad++ or VS Code, p4merge to diff images or kdiff3 as diff view/conflict solver.

Pro

Best submodule workflow on the market

You can easily update submodules from the containing repo, unlike other GUIs that require you to open each repo separately. Saves a lot of time when working on a monorepo managed using submodules.

Pro

Can be integrated with Github, Bitbucket, and Atlassian Stash

Using OAuth, you can connect SmartGit with your accounts in Github, Bitbucket, or Stash and access the remote repositories there. You can then clone, fork, commit or push to your remote repositories from inside SmartGit. You can also view and manage pull requests for your open source projects from SmartGit.

Pro

Can rearrange Repository window and Log window views/panels

This allows great layouts as desired.

Pro

Auto stash

Greatly improve the user experience when rebasing etc

Pro

Syntax coloring for many languages

The built-in compare and conflict solver has syntax coloring with customizable colors.

Pro

Evolution submission program

Pro

Log: ability to see dangling commits and stash commits

Rebased, but not yet garbage-collected commits can be easily made accessible again, e.g. after a reset hard.

Pro

Supports selecting open issues from JIRA

Allows you to select the desired issue, instead of having to do it manually.

Pro

The best multi-repository support

Can make a repo group containing multiple repos; it acts as a meta repo.

Can submit selected files from multiple repos in a repo group in one commit action; uses the same commit message in all the repo commits.

Cons

Con

Program opens slow on Windows

Con

Slow on large files

While larger files are supported, they can take a long time to load. (20,000 lines+)

Con

Very slow mac OS port

Con

Not having a base value to reference can make merging less certain

Con

No Explorer context menu integration

In Windows, there is no option to right-click and compare files easily.

Con

No official OSX Support

Some attempts have been made to port, but nothing easy or fully working.

Con

Missing contextual command line options

Not all contextual elements are exposed to the cli. Specifically the ability to follow our not follow symlinks, but also things like file system metadata parsing. These options and others can only be toggled via the gui's settings window.

Con

Proprietary license

Not an open source license.

Con

External log window

A "Journal" view is available in the main window, though, and focuses on the current branch (incl. remote branch) and one additional ("auxiliary") branch.

Con

Some git functionality has been renamed

In order to preserve the same interface across Git and Mercurial, some naming compromises have been made so that the various VCS it supports are all consistent with each other.

Con

Written in Java

Con

Perspective views can be limiting

Being able to see everything at a glance is important. Some updates, however, change the perspective views which are rather fixed. It lacks a more open way to add and remove windows to create your own perspectives as these changes between versions can disrupt a nice workflow.