SmartGit's Log displays the repository's history as a list of commits, sorted by increasing age, and with a graph on the left side to show the parent-child relationships between the commits. What is shown on the Log depends on what was selected when the Log command was invoked:

A root Log can be invoked from other places in SmartGit as well:

Graph filter

Using the Filter field above theĀ Commits graph, you can restrict the displayed commits to those matching a certain filter criterion. On change of the Filter field, SmartGit will restart the search from the select Branches and report matching commits bit by bit. The search will be performed directly in the repository, so eventually SmartGit will find all matching commits in the entire repository.

Using the Filter field drop-down menu, you can specify filter criterions.

Log Commands

In the Log Frame, many commands which are known from the Project Window are available as well:

Compare Commits

You can compare two commits in the Graph by selecting both commits (Ctrl-click). The difference from the newer commit compared to the older commit will be displayed in the Files view. By selecting a file you can see detailed change in the Changes view.

When comparing branches you can also invoke Reveal Commit from the context menu of the first branch in the Branches view, then invoke Compare with Selected Commit on the second branch.

Recyclable Commits

In the Branches view, you can toggle Recyclable Commits to get back obsolete heads which are not reachable anymore from any ref. Technically, SmartGit will include all commits which are found in the reflogs (.git/logs-files).