Table of Contents


sscompare - display differences between snapshots


sscompare [-hHost] [-qV] [-stc] [-plPHTYz] [-v] [[source] target]


sscompare displays the differences between snapshots. By default, all differences are displayed. Options s, t and c select non-conflicting source, non-conflicting target or conflict differences respectively. (Non-conflicting changes are those for which the revision which is changed is derived from the unchanged revision. Conflicting changes are when both revisions are derived from a third revision.)

Four output formats are available. The normal format is a one-line summary of which attributes are different. The long (-l) format is a multi-line and more humanly readable display of the same information. The short (-p) format shows only the paths of the files which are different. The (-P) format shows the revision information and the file names.

The (-H) and (-T) formats print out the histories associated with the differences between the two snapshots. Combine with -s, -t or -c to display only source, only target, or only conflict changes.

Output Field Descriptions

The output formats display a lot of information in a compact way. The normal and long formats start each entry with a "<", ">" or "<>" to indicate which of the inputs is modified (source, target or both). Next is either an F or a D to indicate whether the item is a file or directory. The 3rd and 4th fields are a summary of which attributes are modified in the source and target snapshots respectively relative to their common ancestor revision. The summary consists of the first letter of any of the following: Content, New, Delete, Rename, Move, Permission mode, IO Mode, and Keyword. The long format prints out the applicable summary words, prefixed by a T or an S (for source or target), rather than just the letters.

In the long form, the unix, I/O and keyword modes and item path are displayed, first for the item in the source (S) snapshot and then for the item in the target (T) snapshot.

In the normal form, the same information is printed, but with the fields paired, source followed by target attribute value.

The -P form displays the direction of the change, the source, target and anscesor revisions, and the source and target path names. If a file exists in only one snapshot, only that path will be displayed, and the other revisions will be zero. The target path name, if present, begins with a double slash to separate and distinguish it from the source path name, which may contain spaces.

Default Options

Default options can be set on most SnapshotCM commands. See wco(1) for details.

If the working directory is in a mapped workspace, the source snapshot and host will default to the mapped snapshot. If the target snapshot path is also omitted, it will default to the parent of the source snapshot.

The source snapshot path can be given relative to the default snapshot. The target snapshot path can be given relative to the source snapshot.


Select conflicting differences for display.
Print history comparison of snapshots, sort revisions by file name.
Operate on snapshots on host.
Print long format listing of differences.
Print revision information and file paths of items with differences.
Print only the path names of items with differences.
Suppress verbose output.
Select source snapshot differences for display.
Print history comparison of snapshot, sort revisions by change time.
Select target snapshot differences for display.
Print internal version and exit.
Print version information in output.
Suppress display of snapshots which reference a revision in the history comparison output.
Reverse sort the history comparison output.


Exit status is 0 for no differences, 1 for some differences, and >1 if there was a bad option or a network error.


To compare the Current snapshot with one of its grandchildren, enter:

scompare -h server /Project/Current /Project/Current/Integration/Test

If the second snapshot path is relative, it is based from the first:

sscompare -h server /Project/Current Integration/Test

If the working directory is in a workspace, the server defaults to the host serving the workspace. Similarly, if the first snapshot path is a relative path, it is interpreted relative to the workspace's snapshot. Thus, if your current directory is in a workspace associated with /Project/Current, the following is equivalent to the above examples:

sscompare . Integration/Test

To display in long form all differences between two sibling development snapshots named Sally and Joe:

sscompare -h server -l /Project/Current/Integration/Sally Joe

or if your directory is in a /Project/Current associated workspace:

sscompare -l Integration/Sally Joe

See Also

sscopy(1) , sscreate(1) , sslist(1) , sspromote(1) , ssremove(1) , ssrename(1) , ssupdate(1) , wci(1) , wco(1) , whist(1) , wls(1) , wmap(1) , wmerge(1) , wremove(1) , wrename(1) , wset(1) , wupdate(1) .

Table of Contents