Man Page resolve.1
NAME
resolve - merge files in conflict using interactive commands
and/or Filemerge
SYNOPSIS
resolve [ -f ] [ -n ] [ -V ] [ -w ws ]
DESCRIPTION
The resolve program assists the user in resolving files that
are in conflict in a Sun WorkShop TeamWare workspace. Sun
WorkShop TeamWare was formerly known as CodeManager. The
bringover command creates a conflict if the file changed in
both the parent and child workspaces. It puts an entry into
a workspace's Codemgr_wsdata/conflicts file in the child
workspace. It also puts information into the SCCS file
about the parent, child, ancestor versions of the file.
The resolve program can be run in a variety of modes. The
default mode is to prompt the user for commands and automat-
ically advance to the next file after resolving the current
file. Commands are listed below in USAGE. To override any
defaults, see ~/.codemgr_resrc under the FILE section below.
If the user changes the default to automatically start
twmerge, formerly known as FileMerge, resolve automatically
processes the list of files in conflict, invoking (via the
ToolTalk service) twmerge for each file. twmerge is an
OpenLook three-way differences program that assists the user
in merging the changes. The ToolTalk service message sent to
twmerge includes the names of the parent, ancestor, and
child files. When the user chooses the Save button in
twmerge, it sends a ToolTalk service message back to
resolve; resolve checks out the file from SCCS , copies the
merged version, and checks the file back in. The user may
be prompted for comments during checkin. The file name is
removed from the conflicts file and the information about
the parent, child, and ancestor versions of the file are
removed from the SCCS file.
OPTIONS
-f Automatically start twmerge instead of prompting
the user at the command line.
-n List the files in conflict.
-V Display the version being run on standard output.
-w ws Specifies the workspace in which to resolve files.
If the -w option is not specified, the value of
the shell environment variable CODEMGR_WS is used.
If CODEMGR_WS is not set and the current directory
is contained within a workspace, the containing
workspace is used.
USAGE
Commands
At the program's command prompt ("filename: "), users can
specify a number of possible commands. The entire command
name need not be entered, only enough of the command name to
distinguish it from the other commands is required. For
instance, since "accept" is the only command that begins
with "a", that is all that must be entered. However, two
commands exist that begin with "m", so the first two letters
of those commands must be entered.
Note: The following abbreviations are used in the sec-
tion below: a = ancestor, c = child, p = parent,
m = merged result.
accept c| p Accept the child or parent version of
the file. Remove the file's name from
the conflict file
(Codemgr_wsdata/conflicts).
commit [filename] Commit the merged file. This command
checks out the file. If a filename is
specified, it copies that file to the
checked out file name; otherwise it
copies over the version of the file gen-
erated by the merge subcommand. It then
checks the file in. It may prompt for
checkin comments if that property is set
in the user's .codemgr_resrc file. The
file's name is removed from the conflict
file (Codemgr_wsdata/conflicts).
diff [options] a | c | p | m a | c | p | m
Show the differences between two files.
Any combination of ancestor, child,
parent, or merged may be specified. The
diff(1) program is used to determine the
differences. If the environment vari-
able DIFF is set, it names the diff pro-
gram to execute. options are the
options for the diff(1) program or the
program named in the DIFF environment
variable. By default, its output is
piped into more(1). If the environment
variable PAGER is set, it names the pro-
gram to receive diff's output.
edit a | c | p | m Load the file into an editor. If the
environment variable EDITOR is set, it
specifies the editor to use, otherwise,
vi(1) is used. Only the merged file can
actually be edited. The other versions
can be viewed but not edited because
they have read-only permissions.
twmerge Execute the window-based twmerge tool.
Must be executed on a window-based sys-
tem.
help Display help messages.
history c | p Print the SCCS history for changes made
to the file in the child or to the file
in the parent.
list List all the files still in conflict.
merge Merge the child file with the parent.
The result is placed in a temporary
file. This temporary file becomes the
version of the file referred to as "m"
by the other commands. The merge com-
mand attempts to automerge as much as
possible. If it cannot automerge the
entire file, it will display the number
of changes it could not automerge.
Users must use the edit m command to
hand merge the rest of the file. The
changes that could not be automerged are
marked with ">>>>>>>>". You can search
for this marker in the file to locate
the unresolved conflicts. Once you have
a version you are satisfied with, use
the commit command to commit the file.
more a | c | p | m Use the more command to display the con-
tents of the ancestor, child, parent, or
merged file. If the environment vari-
able PAGER is set, it specifies the pro-
gram used to show the contents. Other-
wise, more(1) is used.
skip [number] Skip to the next file. If number is
specified, skip to the file with that
number. Use the list command to view
the files in numbered order.
sh [command] Invoke a shell. If command is speci-
fied, execute the command. If the
environment variable SHELL is set, it
names the shell that will be used. Oth-
erwise, /bin/sh(1) is used.
! [command] Invoke a shell. If command is speci-
fied, execute the command. If the
environment variable SHELL is set, it
names the shell that will be used. Oth-
erwise, /bin/sh(1) is used.
quit Quit this command.
ENVIRONMENT
The following variables are used by resolve.
CODEMGR_PATH_ONLY Sun WorkShop TeamWare commands
first search for other Sun WorkShop
TeamWare binaries relative to where
their own binary is located in the
file system, they then search in
the directories specified in the
PATH environment variable. Setting
this variable causes Sun WorkShop
TeamWare commands to search for
other Sun WorkShop TeamWare
binaries only in PATH.
CODEMGR_WS Contains the name of a user's
default workspace. The workspace
specified by CODEMGR_WS is automat-
ically used if -w option is not
specified to a command.
DIFF Contains the name of the command
used by the diff subcommand.
Defaults to diff -w.
EDITOR Contains the name of the editor
resolve activates to edit files.
Defaults to vi.
PAGER Contains the name of the page
viewer program to which resolve
pipes diff output. Defaults to
more.
SHELL Contains the name of the shell that
resolve activates when the sh sub-
command is executed. Defaults to
/bin/sh.
The following variables are set by resolve.
CODEMGR_RS_ANCEST Contains the name of the version of
the ancestor file, if one exists.
CODEMGR_RS_CHILD Contains the name of the version of
the child file with keywords
expanded.
CODEMGR_RS_MERGED Contains the name of the merged
version of the file.
CODEMGR_RS_PARENT Contains the name of the version of
the parent file.
FILES
~/.codemgr_resrc This file allows the user to change
five default properties:
start_filemerge
If start_filemerge is set, then
twmerge is automatically started
when resolve begins execution. By
default this is not set. To change
the default, add the line "set
start_filemerge" to the file.
autoadvance
If autoadvance is set, and twmerge
is running, it is automatically
loaded with each successive file.
This is the default setting. To
turn it off, add the line "set
noautoadvance" to the file.
skipcomments
A default comment is automatically
supplied during checkin after the
user resolves the file. To be
prompted to include an additional
comment, add the line "set noskip-
comments".
reuse_filemerge
If a twmerge process is already in
use prior to executing resolve, the
resolve program will not reuse that
process. If you want the resolve
program to reuse an already running
FileMerge process, add the line
"set reuse_filemerge".
autosave
If this property is set, and all
the changes in the file can be
"automerged," the file will also be
automatically saved and checked in;
the user need not choose the FileM-
erge Save button. This in not the
default behavior. To set this pro-
perty add the line "set autosave".
ws/Codemgr_wsdata/conflicts
List of files in conflict
SEE ALSO
Sun WorkShop TeamWare User's Guide
bringover(1), codemgr(1), def.dir.flp(1), dmake(1), freezept(1),
putback(1), rcs2ws(1), teamware(1), twbuild(1), twfreeze(1),
twmerge(1), twversion(1), workspace(1), ws_undo(1),
access_control(4), args(4), children(4), conflicts(4),
description(4), freezepointfile(4), history(4), locks(4),
nametable(4), notification(4), parent(4), putback.cmt(4)
NOTES
If you want to hand-merge a file, merge it into a temporary
file name. Then run the "commit filename" subcommand,
specifying the temporary file name as filename.