Table of Contents


wmerge - merge parallel changes into workspace file


wmerge [-ABEKMnOpqRTvVWX] [-jpatternList] [-kkv|-kk|-kv|-ko] [-o/Path] [-P/merge-program] [-tLockComment] [-NWorkspaceName] [-hHost -SSnapshot [-DDir]] [[[-r LeftRev] -r BaseRev] -r RightRev] name ...


wmerge merges content changes from a snapshot file into a workspace file. The merge requires three revisions of a file: two revisions with changes and a common ancestor revision. In many circumstances, wmerge knows all three revisions so no revisions need to be specified.

If no revisions are specified, wmerge operates on locked files whose lock is out-of-date because of a concurrent change. On success, concurrent changes are incorporated into the workspace file and the lock is updated to the current revision to reflect the merge.

If one revision is specified, changes unique to that revision are merged into the workspace file.

If two revisions are specified, changes made from the first (BaseRev) revision to the second (RightRev) revision are merged into the workspace file. Note: Changes are directional. Thus a change can be "undone" by reversing the order of the revisions.

If name is a directory, wmerge operates on all appropriate files in that directory.

Workspace Mapping

Mapping is consistent across all workspace commands. See wco(1) for details.

Default Options

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

Workspace Options

The workspace mapping is automatically looked up in the user's workspace mapping table for the given files. Override this by specifying an explicit workspace:
Use the named workspace mapping.

Or override with a temporary workspace mapping with these three options:

Use the SnapshotCM server on Host for a workspace mapping.
Use SnapshotPath for a workspace mapping.
The local destination directory for a workspace mapping. This can be a relative or absolute path. If this option is not provided with the other two, the local destination directory defaults to the current directory where the command is executed.

For more information on workspace mappings, see wmap(1) .


Include overlap text for all 3 revisions in merged file.
Check out all files using 'binary' I/O mode.
Include overlap text for left and right revisions in the merged file.
List only files whose name (or path) matches patternList. PatternList consists of one or more patterns separated by a '|' (pipe/or) symbol. Each pattern can contain shell wild cards as follows:

* - match 0 or more characters
? - match any one character
[set] - match any character in set
[!set] - match any character not in set

A pattern not ending in a slash ('/') matches only files. A pattern ending in a slash matches only directories. A pattern containing a slash other than at the end is matched against the full workspace path. Otherwise pattern is matched against the last component of the path. If patternList begins with an '!' (exclamation/bang) character, the normal selection is negated.

-kkv, -kk, -kv, -ko
Override the default keyword expansion mode for all check outs. See wco(1) for more information.
Ignore keyword value differences. Use this option to avoid merge conflicts caused only by differing keyword values.
Print workspace mapping before normal output.
No execute mode. Show the operations that would happen, but do not really execute them.
Map /Path in the selected snapshot to the specified (-D) local directory, creating a temporary, partial workspace mapping for the command. Normally, the root directory of a snapshot is what is mapped.
Write merged file contents to 'stdout'.
Set the merge program. Program may be 'merge' or 'tkdiff'.
Quiet, do not display normal output messages.
Specify revisions to merge. Up to three revisions can be given.
Operate recursively on all files and directories in the hierarchy.
Set Lock Comment to this string.
Check out all files using 'text" I/O mode.
Display file revision information during check out.
Print internal version and exit.
Mark the local file writable after check out.
Display 'full archive path' names.


Exit status is 0 if all specified files were successfully merged, 1 if a file could not be merged, and >1 if there was a bad option or a network error.

See Also

wci(1) , wco(1) , wdiff(1) , whist(1) , wls(1) , wmap(1) , wremove(1) , wrename(1) , wset(1) , wupdate(1) .

Table of Contents