Product InfoCustomer TestimonialsConcept and Reference DocumentsLicensing Terms and PricingCompany Location, Mission and VisionAnnouncements & NewslettersHome

Getting Started with SnapshotCM

SnapshotCM is a configuration management tool for maintaining versioned source files. SnapshotCM supports HP-UX, Linux, Solaris, OSX and Windows NT platforms. All platforms support command-line access. Windows also supports a graphical interface.


SnapshotCM uses a client-server model. The SnapshotCM server running on a central machine maintains versioned files in a database.

The SnapshotCM clients run on user workstations. Many of the command names are similar to RCS: wci, wco, wdiff, whist (=rlog) and wmerge. Other commands exist for manipulating attributes that RCS does not support, running the GUI, etc.

Key Terms

A SnapshotCM project is a collection of files and directories to be versioned together. Each version of a project is called a snapshot.

Snapshots and workspaces are the two places your files are kept. A snapshot is a version of project and is a state of your file hierarchy maintained by the central server. All attributes are maintained in the snapshot (name, directory, content, mode, keyword expansion setting, Text/Binary IO setting, and existence). All changes to files and directories affect a single snapshot—no other snapshot is affected. Another way to understand a snapshot is as a parts list or global label of files, along with their versions and attributes. Many snapshots can exist simultaneously for different purposes. As a list of references, snapshots can be created and removed easily. Changes can be copied or merged among snapshots, and snapshots are mapped to local workspaces where editing and building occur.

A workspace is a directory hierarchy on a developer's workstation. A workspace is associated with at least one snapshot. Once an association is created, file operations need not reference the server or snapshot explicitly.

For Windows, SnapshotCM has a GUI interface. The Project Browser (PB) displays the relationships among the various project snapshots. A Workspace Browser (WB) is an explorer like interface that displays the file hierarchies held by snapshots and workspaces.

Using SnapshotCM

To manipulate files, create a workspace by associating a snapshot with your desired workspace. Do this by running "wmap add". Then chdir into the workspace and use wupdate (or wco) to populate the workspace. On Windows, you may prefer to run the GUI. Select your project and double click the snapshot you want to browse. In the GUI, files can be checked-out or checked-in using right-click or by dragging from one pane to another or by using the toolbar buttons.

To check your snapshot to local workspace association, run wmap from a command prompt or select Snapshot -> Show Workspace Mapping... from the GUI.

The commands are located at C:\Program Files\True Blue Software\SnapshotCM on Windows (default location), and /opt/SnapshotCM/bin on Unix.

See also:

Quick Reference - Workspace Commands:

Command Syntax Description
wci [-C comment] [-u | -l] file|dir  Check in new revisions.
wci -auto [-d] file|dir Import new files or dirs
wco [-u|-l] [-t lockComm] file|dir Update and unlock/lock workspace files
wdiff [-K] file|dir Compare snapshot content with local content.
whist [-A] [-T|-P] [-z] file|dir Display history of selected items.
wls [file|dir] List snapshot file attributes
wmap add|find|list Add or list workspace-snapshot mapping.
wmerge file Merge snapshot content changes into local file.
wremove file|dir Remove item from snapshot and workspace.
wrename file|dir newName Rename an item in the snapshot and workspace.
wset [attribute option] file|dir Change unix and PC I/O modes and keyword attributes.
wupdate Update working set files and attributes.

Most workspace commands:

Quick Reference - Snapshot Commands:

Command Syntax Description
sscompare -h host srcSS tgtSS Display differences between snapshots.
sscopy -h host -r AP|AS|IP|IS srcPath tgtName Copy a release snapshot.
sscreate -h host SSPath Create a new snapshot.
sslist [-H] [-P] [-R] [-h host [[-X] [-d] path...]]  List snapshots.
sspromote -h host [-l|-p|-q] [-R] srcSS [path...] Copy path changes to a parent snapshot.
ssremove -h host [-f] SSPath Permanently delete a snapshot.
ssrename -h host SSPath newName Rename a snapshot.
ssupdate -h host [-l|-p|-q] [-S srcSS] tgtSS [path...] Copy path changes between snapshots.

All commands support default options set in $HOME/.snapshotcmrc. For example, to turn off "wco -l" lock comment prompting, add wco -t "" to the .snapshotcmrc file (which defaults the lock comment to the empty string).