SnapshotCM In Depth: Viewing History
SnapshotCM provides several options for viewing the history
of changes to files and directories in your projects. You can view an active
history of an individual item, or view a history report of several items in a
merged format sorted and filtered by several criteria. You can even view the
history containing only the differences between two snapshots.
The Active History dialog shows the revision history of a
single file in tabular form. It can be sorted by revision/change time
(default), by author, by change type or by description. A blue, triangular
marker indicates the active revision for your current snapshot, and an asterisk
indicates revisions which are referenced by one or more snapshots. Tool tips
show which snapshots reference each revision (hover over the version
The Active History dialog also allows performing actions
upon the history: Unreferenced and unused revisions can be discarded. Any two
revisions can be compared, including any revision compared to the working copy
of the file in an associated workspace. The contents of any revision can be
viewed or retrieved. Finally, the active revision for the associated snapshot
can be changed. It is also possible to filter out branch revisions not
contributing to or derived from the active revision. There is a lot of
functionality in this dialog!
The History Report displays history for a group of files.
It's useful to think of running a History Report using three steps:
First, you specify the files to include in the report. This
is as simple as selecting files in the Workspace Browser (where you have lots
of filtering options), and then invoking the Show History action. This opens
the History Options dialog, where you can expand your selection by recursively
traversing selected directories, and narrow your selection by filtering for
files, directories, or both, only files which are in the workspace, and only
Next, once the files are selected, the history records
themselves can be filtered by the user who made the change, or to show only
changes made since a given date. Finally, revisions which are not ancestors of
the active revision (those on other branches) can be omitted from the list.
Finally, the selected history records may be displayed
verbosely by file, or merged together and sorted either by file name, or by
change date, in forward or reverse order. In addition, one has the option to
only report the headers of the selected files, as well as the option to report
on which snapshots use each revision.
Snapshot Differences History
The History Report is also accessible from the Project and
Compare Browsers, where you can display the history records showing what is
different between two snapshots. From the Project Browse, select a relationship
in the graph or an item in the tree and then select the Compare Snapshot
History menu. From the Compare Browser, select the Show History Compare
These actions open the History Compare Options dialog where
you can filter the output. You can show some or all of non-conflict source
differences, non-conflict target differences, and conflict differences. You
also can sort them by name or time, and have the option to show which snapshots
use each revision.
History From the Command Line
The full History Report functionality is also available
using the whist
command. Whist provides additional, command-line only filtering options (such
as filter by file name using the -j option and filter by user using the -W
option) plus all the functionality available in the normal report format.
SnapshotCM's history functionality enables you to quickly
understand what's changed, whether it be in one file or in hundreds. It's what
we use during a release to update the ChangeList. We use it to track down in
which revision a feature (or bug) was introduced. We use it to figure out which
snapshots use a particular revision or feature, and for so much more. And we
hope you can make better use of it now too.