Table of Contents

Name

wmerge - merge parallel changes into workspace file

Synopsis

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

Description

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:
-NworkspaceName
Use the named workspace mapping.

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

-hHost
Use the SnapshotCM server on Host for a workspace mapping.
-SSnapshotPath
Use SnapshotPath for a workspace mapping.
-DWorkspaceDirectory
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) .

Options

-A
Include overlap text for all 3 revisions in merged file.
-B
Check out all files using 'binary' I/O mode.
-E
Include overlap text for left and right revisions in the merged file.
-jpatternList
Merge only files whose base name matches patternList.

PatternList consists of one or more patterns separated by a '|' (pipe/or) symbol. Each pattern is a shell wild card pattern as follows:

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

Individual patterns ending in a slash ('/') match directories only. Individual patterns not ending in a slash match only files.

If the list begins with an '!' (exclamation/bang) character, the list selects items not matching any patterns.

-kkv, -kk, -kv, -ko
Override the default keyword expansion mode for all check outs. See wco(1) for more information.
-K
Ignore keyword value differences. Use this option to avoid merge conflicts caused only by differing keyword values.
-M
Print workspace mapping before normal output.
-n
No execute mode. Show the operations that would happen, but do not really execute them.
-o/Path
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.
-O
Map full archive path parameters to the current directory. Normally, full archive path parameters are mapped to their usual locations within the workspace. This option creates a temporary, partial workspace mapping for each full archive path parameter such that the snapshot directory of the parameter is mapped to the current directory. This behavior is designed to be consistent with SoftCM, a logical predecessor of SnapshotCM. See also the -o option which allows use of relative path parameters.
-p
Write merged file contents to 'stdout'.
-PProgram
Set the merge program. Program may be 'merge' or 'tkdiff'.
-q
Quiet, do not display normal output messages.
-rRev
Specify revisions to merge. Up to three revisions can be given.
-R
Operate recursively on all files and directories in the hierarchy.
-tLockCmt
Set Lock Comment to this string.
-T
Check out all files using 'text" I/O mode.
-v
Display file revision information during check out.
-V
Print internal version and exit.
-W
Mark the local file writable after check out.
-X
Display 'full archive path' names.

Diagnostics

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