Each of the various table columns displays a certain commit attribute, such as Message and Revision. You can hide and show columns by right-clicking on the column header area and selecting or deselecting entries in the context-menu. You can also reorder the columns via drag and drop of the column headers. The Message column contains a graph showing the parent-child relationships between the commits. Generally, the graph will consist of vertical lines of different color, each of which represents a branch of development. These branches may split or merge to represent branching and merging operations that occurred at some point in the repository history. At the end of each branch, you will find a commit that has a colored label attached to it, i.e. a colored box containing the name of the branch the commit belongs to, such as trunk or feature-branch. These labels will of course move along as you commit into the respective branches. In addition to the branch labels, there are also labels for tags, like 1.0 or 1.5-beta-1.By default, the graph will show all known revisions which can become overwhelming if there are too many forks. To reduce the displayed roots, you can use Graph|Select Shown Branches
Tags will be displayed inlined if they represent a clean copy, without mixed revisions or modifications. Otherwise, tags will be displayed as separate commits.
You can toggle which branches should be displayed in the Branches view.
With View|Show Dead Tags and Branches you can toggle the display of branch/tag labels which do not exist anymore in the latest revision, but have been removed before. These labels contain an additional DEAD marker. Select View|Join Same Locations to display revisions having the same URL in the same branch (column). Having locations joint gives a better impression of which different URLs are used and can result in a more compact graph. Depending on the number of branch replacements, it can also make branches lengthy and the graph more complex. Disabling this option gives best results in combination with disabling Show Dead Tags and Branches.
On the top right of the Revisions view is a Filter text field that allows you to enter expressions for filtering out some of the commits in the Revision Graph. This filter works just like the one on the file table. Additionally, the drop-down menu on the left of the filter field allows you to include or exclude certain commit attributes from being matched against, namely Author, Branch and Message. For example, if only the Author field is selected, the filter expression entered into the filter field will only be matched against the author fields of the commits.
To the right of the filter field is a drop-down menu for selectively including or excluding branches from being displayed in the Revision Graph. With this, you can for instance configure the Revision Graph to only display the branches branch1 and branch2.
The Revision Graph can display information on which revisions have been merged from other revisions in various ways. Depending on the selected visualization method, it may be necessary to fetch SVN's mergeinfo for every displayed revision from the repository, what may take a while. SmartSVN will cache this mergeinfo for the current graph, so subsequent invocations of mergeinfo-related queries are performed much faster.