


RESOLVE(1)                User Commands                RESOLVE(1)



NAME
     resolve - merge files in conflict using interactive commands
     and/or Filemerge

SYNOPSIS
     resolve [ -f ] [ -n ] [ -w ws ]

DESCRIPTION
     The resolve program assists the user in resolving files that
     are  in conflict in a TeamWare workspace. TeamWare was form-
     erly 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  prompt-
                 ing the user at the command line.

     -n           List the files in conflict.

     -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.




SunOS 5.5         Last change: 01 December 1992                 1






RESOLVE(1)                User Commands                RESOLVE(1)



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



SunOS 5.5         Last change: 01 December 1992                 2






RESOLVE(1)                User Commands                RESOLVE(1)



                         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



SunOS 5.5         Last change: 01 December 1992                 3






RESOLVE(1)                User Commands                RESOLVE(1)



                         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        TeamWare commands first search  for
                              other 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
                              TeamWare  commands  to  search  for
                              other  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.



SunOS 5.5         Last change: 01 December 1992                 4






RESOLVE(1)                User Commands                RESOLVE(1)



     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



SunOS 5.5         Last change: 01 December 1992                 5






RESOLVE(1)                User Commands                RESOLVE(1)



                              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
     TeamWare User's Guide
     bringover(1),   def.dir.flp(1),   putback(1),    twmerge(1),
     ws_undo(1),  workspace(1), access_control(4), args(4), chil-
     dren(4), conflicts(4), history(4),  locks(4),  nametable(4),
     notification(4), parent(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.






















SunOS 5.5         Last change: 01 December 1992                 6



