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.