NoSQL Zone is brought to you in partnership with:

Jessica Thornsby is the Technical and Creative Copywriter at WANdisco, where she writers regular tutorials on Apache Subversion, TortoiseSVN, uberSVN, and all things version control. She spends her spare time editing the CD reviews section at www.leedsmusicscene.net, contributing to A Short Fanzine About Rocking, and researching her family tree. You can find her on Twitter @jthornsby Jessica is a DZone MVB and is not an employee of DZone and has posted 29 posts at DZone. You can read more from them at their website. View Full User Profile

Check out SmartSVN's Built-In Revision Graph Tool

01.18.2013
| 3036 views |
  • submit to reddit

SmartSVN’s built-in Revision Graph tool provides a quick and easy way to get an overview of the hierarchical history of your files and directories. This history is primarily represented as ‘nodes’ and ‘branches.’ (Note, because the Revision Graph displays branches and tags, the Tag-Branch-Layout must be configured correctly.)

The Revision Graph is useful for seeing at a glance:

  • Merged revisions
  • Revisions that have yet to be merged
  • Whether a merge occurred in the selected revision
  • Which changes happened in which branch
  • Which revision represents which tag
  • When a file was moved, renamed or copied, along with its history

To access the Revision Graph, open SmartSVN’s ‘Query’ menu and select ‘Revision Graph.’

revision graph 2

This will open the main Revision Graph screen.

revision-graph

The main section of the Revision Graph is the ‘Revisions’ pane. This displays the parent-child relationships between your revisions. Revisions are arranged by date, with the newest at the top.

In the Revision Graph, there are four main types of relationships that are represented by different line styles:

  • Normal parent-child relationship – represented by thick, coloured lines.
  • Complete merge relationship – created by performing a merge commit where all the source revisions are merged into the target. When ‘Merge Arrows’ is enabled, it is represented by thin, coloured lines.
  • Partial merge relationship – created by performing a partial merge (cherry-pick) where not all source revisions are merged into the target. When ‘Merge Arrows’ is enabled it’s represented by thin, coloured, dashed lines.
  • URL relationship – this is where branches have the same URL, but are not related (e.g when you have removed and re-added a branch.) When ‘Join Same Locations’ is enabled, this is represented by thin, gray lines.

In addition to the main ‘Revisions’ pane, the SmartSVN Revision Graph includes several additional views:

1) Revision Info – displays attributes of the selected revision (revision number, date, state, author who created the revision etc.)

revision info

2) Directories and files – displays the files that were modified as part of the selected revision.

revision graph 3

From this screen, you can access several additional options:

  • Export – export the Revision Graph as an HTML file by selecting ‘Export as HTML…’ from the ‘Graph’ menu. In the recently-released SmartSVN 7.5, this export function was improved to support exporting smaller HTML graphic files.
  • Merge Arrows – select the ‘Show Merge Arrows’ option from the ‘Query’ menu to display the merge arrows. These point from the merge source to the merge target revisions. If the merge source is a range of revisions, the corresponding revisions will be surrounded by a bracket.
  • Merge Sources – select the ‘Show Merge Sources’ option from the ‘Query’ menu to see which revisions have been merged into the currently selected target revision.
Published at DZone with permission of Jessica Thornsby, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)