NAME

  cfm - manage entries in the cfm database for the executing host


SYNOPSIS

  cfm [-S] [-l] [-m <msg>] [-r] [-s <set> [-d <decr>]] [-u] [-v <level>]
      [-x] [-L <symlink> ...] [-F <reg_file> ...] [-D <dir> ...]
      [ [--] {<dir> | <file>} ...]


DESCRIPTION

Cfm diff checks controlled versions of config files in the cfm database (cfmdb) against those on the executing host. You can use it to overwrite the host's file with the controlled copy or update a set's controlled copy in the cfmdb. To locate the appropiate controlled copy of the file cfm sequences thru the host's set list using the names as rcs tags. It uses the first existant version it finds. See assumptions:sets. Alternately you may specify an arbitrary set and version for comparison using the -s option. Control of symlinks is supported.


OPTIONS

cfm [{dir | file} ...]

  The cfm cmd accepts two type of arguments: dirs and files.

  Dirs must exist on the executing host. Cfm will not create them. Cfm
  uses the filesystem to determine if the arg is a dir. With a dir arg
  cfm locates the corresponding dir in the cfmdb and diffs all the
  files it contains against those on the executing host. Files missing
  on the host will be detected and can be downloaded. Recursion is 
  enabled with the -r option.

  Normally file and symlink args must exist on the executing host; but
  see -F and -L options.

  In both cases cfm locates the appropiate version of a file for the
  executing host by searching the corresponding cfmdb rcsfile for the
  first populated set using the host's sequence of set names as
  version tags. In addition to the set names visible in the host's
  set list the owning rpm name is tried if a file belongs to an
  rpm, the `all' set is tried, and the user's $LOGNAME is tried.
cfm [-F <reg_file> ...] [-L <symlink> ...]

  Use the -F and -L options to identify files and symlinks
  respectively which do not exist on the executing host. These may
  then be downloaded from the cfmdb.
cfm [-D <dir> ...]

  Use the -D option to override the default behavior for a symlink
  used to remap a dir. Ie, the -D option will cause cfm to treat
  a dir symlink as a dir and expand its mapped contents rather than
  simply test the symlink itself.
cfm -S

  Use the -S option to suppress the summary msg.  The summary msg is
  normally output at verbosity levels above 0. See the -v option.
cfm -l

  Use the -l option to display the rcs log for files. This includes
  the revision history as well as the set (rcs symbol) list that uses
  the file.
cfm -m'msg'

  Use the -m option to specify a documentation message from the
  cmdline instead of entering it interactively. This is convenient
  when multiple cfmdb files are being modified for the same reason.
cfm -r

  Use the -r option to recurse thru subdir levels in the cfmdb.
  If the target dir is not present on the executing its contents
  are presumed to be `not' installed and the dir is skipped.
  This option is only meaningful when the args are dirs.
cfm -s set [-decr]

  Use the -s option to specify use of a specific set and optionally a
  previous version of that set for selecting the file version in the
  cfmdb. Using this option the sysadmin can make comparisons to
  previous and current versions of the file used on this and other
  hosts.  Eg: `cfm -s other-host -1 cfg-file' would diff this hosts
  cfg-file against the cfg-file version used by set other-host before
  its last update.
  NOTE: You can NOT upload to a previous version.
  NOTE: In the absence of the -s option cfm searches for these set tags:
    <host>-pnp <host> <other_host_sets> <rpm-name> all <$LOGNAME>
cfm -u

  Use the -u option to interactively update the executing host by
  downloading the controlled copy from the cfmdb, or update the cfmdb
  by uploading the host's file to be the new master for this host's
  set. Also see -x for non-interactive downloads.
cfm -v [level]

  Use the -v option to set the verbosity level.
  The default level is configurable in CFMROOT/config.
  0 is dead quiet, returning only a success=0, fail=$err_cnt status.
  1 reports errs and summary; no checklist, or diffs.
  2 reports checklist, errs, and summary; no diffs.
  3 reports checklist, diffs, errs, and summary.
  4-... Will be debug if implemented.
cfm -x

  WARNING this option is not interactive. It will overwrite files.
  The -x option downloads to overwrite the host's copy of any files
  that differ from those in the cfmdb master version for the 
  executing host. NOTE that this does not include files in the 
  $pnp set.


AUTHOR

Derald Metzger <dmetz@remotesensing.org>


BUGS

Surely: 000226-dam.


FILES

  allfiles  list of non-rpm config files put in the all set
  config    misc cfm configuration params
  hostsets  list of hosts and their sets list
  hsfiles   list of host specific files put in each <host> set


SEE ALSO

cfm-cmd-list


COPYRIGHT

Derald Metzger 1998 - 2000. This program is distributed under the GPL.