compare

Compare two workspaces/streams/baselines/snapshots, showing differing baselines and change sets.

Purpose

Examine a pair of flow elements and show which baselines and change sets differ between the two.

The display is presented as a hierarchy of items, by default:

Flow direction (incoming/outgoing)
	Component
		Baseline
			Change set
				Work item
				Filesystem entities

It is possible to raise or lower the position of work items in the hierarchy with the -w/--reroot switch.

Baselines and change sets have author and delivery time information. The format of the author field can be changed with the -C/--format-contributor switch, while the format of the delivery time can be changed with -D/--format-date.

Synopsis

Same as elsewhere. May run in logged-in mode, in a locally loaded workspace, or on an unloaded workspace.

Options and arguments

-d  |  --dir ] workspace-path
The path name of a local workspace created by scm load or scm share. This subcommand runs with workspace-path set as the current working directory. You can omit this option if the current working directory is in a local workspace.
-P  |  --password ] password for user ID in repository
The password for the specified user ID in the named repository. If this option is not included on the command line, you are prompted for a password. If you specified a repository URI or nickname for which you have stored credentials using the scm login command, this option is ignored.
-r  |  --repository-uri ] repository URI
Specifies the repository in which to take this action. If you have stored repository credentials using the scm login command, you can use the nickname you supplied for these stored credentials
-u  |  --username ] user ID in repository
Specifies a user ID that exists in the named repository. If you specified a repository URI or nickname for which you have stored credentials using the scm login command, this option is ignored.
-c  |  --component ] arg ...
Only used when a baseline argument is specified by name. Indicates the component that the baseline can be found in.
-C  |  --format-contributor ] arg
Specifies how contributors should be listed. The single argument is a string that has the following fields replaced:
  • {userid} – Replaced with the unique user's repository user id.
  • {name} – Replaced with the user's name, as listed in the repository.
  • {email} – Replaced with the user's email address, as listed in the repository.
  • {itemid} – Replaced with the user's unique internal id in the repository. This value is not considered human meaningful or human readable.
-D  |  --format-date ] arg
Specifies how dates should be shown. The single argument is a string that will be passed through Java's SimpleDateFormatter http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html.
-f  |  --flow-directions ] arg
Limit the display to only include incoming/outgoing changes. Must be one of the following:
  • 'i' – Incoming changes
  • 'o' – Outgoing changes
  • 'b' – Both incoming and outgoing changes
-I  |  --include-types ] arg
Only include items of the listed types. The argument is a string, which may contain any of the following characters:
  • 'd' – Flow direction. The topmost element.
  • 'c' – Component.
  • 'b' – Baseline.
  • 'w' – Work item.
  • 's' – Change set.
  • 'f' – Filesystem change.

By default, all types except filesystem changes are shown (ie, “dcbws”).

-p  |  --prune ] arg
Remove empty nodes from the hierarchy. The value may consist of string containing the characters:
  • 'd' – Indicating that empty flow directions should be removed.
  • 'c' – Indicating that unchanged components should be removed.

By default, nothing is pruned.

-S  |  --Show ] arg
Control which option values/fields are shown. The value may contain the following:
  • 'c' – Indicates that the contributor should be shown. Author contributors will be shown on baselines and change sets.
  • 'd' – Indicates that dates should be shown. Dates are shown as modification times on change sets and creation times on baselines.
  • 'i' – Indicates that work items should be shown as children of change sets. If not included, work items will only be shown as part of the change set description.

By default, all fields are shown.

-w  |  --reroot ] arg
Indicates that work item nodes should be moved up in the displayed hierarchy. The value must be one of:
  • 'r' – For root, indicating that all item types should be shown under a work item.
  • 'd' – Indicates that work items should be shown under the flow direction, meaning that all components will be shown under work items.
  • 'c' – Indicates that work items should be shown under components, meaning that all change sets and baselines will be shown under components.
  • 'b' – Indicates that work items should be shown under baselines, meaning that all change sets will be shown under work items.

By default, work items are shown under change sets.

Examples

To generate a change log with the minimum of extraneous information, use:

$ scm compare -r blues ws eSCM-2.0 stream "Source Control 2.0" -I w -S "" -f i

Work Item 60074: Allow defining permissions for project and team areas in the Web UI

Work Item 62945: Set up some sort of Jazz Foundation build

Work Item 63040: TCT031b: Jazz Translations - more variables

Work Item 63053: Web UI template import doesn't allow change to workitem customization

Work Item 63091: Consider project area locale when creating change events and rendering feeds

Work Item 63266: CHKPII errors in COM.IBM.TEAM.PROCESS.DEFINITIONS.SERVER files

Work Item 63371: ProcessFeedRenderer.getProcessAreaChangeDetails should be re-written to accommodate translation

Using “-I w” limits the display to work items, “-S ''” prevents extra noise on the work item line, and “-f” i” ensures that outgoing changes don't intermingle with the incoming changes.
To generate a change log that groups filesystem changes under the work item and change set, and provides a specific date format:

$ scm -u n -a n compare -r blues ws eSCM-2.0 stream "Source Control 2.0" -I wfs -w d -S d -D "EEE, d MMM yyyy HH:mm:ss Z" -f i

Work Item 63266: CHKPII errors in COM.IBM.TEAM.PROCESS.DEFINITIONS.SERVER files

  No comment Fri, 7 Nov 2008 16:52:24 -0500

    /com.ibm.team.process.definitions.server/data/agile/attachments/template.properties

    /com.ibm.team.process.definitions.server/data/eclipseway/attachments/template.properties

    /com.ibm.team.process.definitions.server/data/openup/attachments/template.properties

    /com.ibm.team.process.definitions.server/data/scrum/attachments/template.properties

    /com.ibm.team.process.definitions.server/data/simple/attachments/template.properties

Work Item 63371: ProcessFeedRenderer.getProcessAreaChangeDetails should be re-written to accommodate translation

  handle case where category is known but doesn't have a distinct message Thu, 6 Nov 2008 16:49:09 -0500

    /com.ibm.team.process.service/src/com/ibm/team/process/internal/service/messages.properties

    /com.ibm.team.process.service/src/com/ibm/team/process/internal/service/ProcessFeedRenderer.java

  Merges Thu, 6 Nov 2008 19:50:52 -0500

    /com.ibm.team.process.service/src/com/ibm/team/process/internal/service/messages.properties

Work Item 63416: Not externalized string for translatable attribute for declared domain adapter

  No comment Fri, 7 Nov 2008 16:46:56 -0500

    /com.ibm.team.process.ide.ui/plugin.properties

    /com.ibm.team.process.ide.ui/plugin.xml

Note the use of -w to make work items a parent of change sets, and -D to set the date format. Aliases and UUIDs are suppressed with the initial “-u” and “-a” options.

Feedback