Man Linux: Main Page and Category List

NAME

       rcs2atfs - convert RCS archives to AtFS format

SYNOPSIS

       rcs2atfs [-o outputfile] [ -q] archive ...
       rcs2atfs [-o outputfile] [ -q] -R directory ...

DESCRIPTION

       Rcs2atfs  converts  version  histories from RCS archives to ShapeTools’
       AtFS format. It uses rlog(1) to get information about  an  RCS  archive
       and  issues shell commands (usually through a pipe directly to /bin/sh)
       to check out the RCS revisions and check the files in as AtFS versions,
       trying to keep as many attributes as possible.

       The RCS archives are left unchanged.

       It  is  recommended to create a special directory with the name RCS for
       the RCS archives, but AtFS histories  are  always  kept  in  a  special
       directory AtFS.

       Rcs2atfs  treats  its arguments as names of RCS archives.  These can be
       the names of the archive files themselves, ending with ,v, or the names
       of the files stored in the archives.

       If  the  -R option is given, the arguments are interpreted as directory
       names.  Rcs2atfs recursively descends  each  directory  tree  (symbolic
       links  are  followed)  and  converts  the  RCS  archives  it finds. The
       correspondig AtFS archives are  created  where  the  RCS  archives  are
       found.

       Rcs2atfs  tries to keep the revision numbers of the RCS history also as
       AtFS version numbers. This is impossible if  an  RCS  history  contains
       branches.  In this case the revisions are saved as AtFS versions in the
       order of their check-in date. In either case the RCS revision number is
       kept  as  a  symbolic name for the corresponding AtFS version, e.g. the
       AtFS version of RCS revision 1.2 will have the symbolic name  ‘‘r1.2’’.

   Attributes that dont change:
       ·
        author

       ·
        log message

       ·
        comment leader

       ·
        description

       ·
        symbolic  names  (with  the  exception of the additional symbolic name
        derived from the RCS revision number)

   Other attributes:
       mtime  set to the check-in date of the RCS revision

       state  The value of this attribute  is  given  to  the  AtFS  attribute
              RCSstate.   If  it  has  the  value  Exp,  the state of the AtFS
              version will be saved, if Stab, it will be proposed, if Rel,  it
              will be published.

OPTIONS

       -R     (recursive)
              The  arguments are treated as directories.  Rcs2atfs recursively
              descends the directory tree (symbolic links  are  followed)  and
              builds an AtFS archive for each RCS archive it finds.

       -o outputfile
              rcs2atfs  writes  shell  commands to outputfile, not directly to
              /bin/sh, and no conversion is done.  If  this  shell  script  is
              executed  from  the  directory  where  rcs2atfs was invoked, the
              archives are converted as if rcs2atfs had been  invoked  without
              -o.
              The  main use of this option is to investigate problems with the
              conversion of archives.

       -q     (quiet)
              The names and revision numbers of  converted  archives  are  not
              echoed on standard output.

EXAMPLES

       The command

              rcs2atfs -R $HOME/development

       traverses  the  directory tree $HOME/development and converts every RCS
       archive in it into an AtFS archive. During the conversion, the name  of
       every  RCS  archive  and  every  revision  number is echoed on standard
       output.

              rcs2atfs -q RCS/*

       Each archive in the RCS directory is converted to an AtFS history.  The
       names and revision numbers of the converted archives are not echoed.

SEE ALSO

       sh(1),   rcsintro(1),  rcs(1),  rlog(1),  co(1),  vcintro(1),  save(1),
       vadm(1), utime(1)

DIAGNOSTICS

   Warnings
       -R flag not set, directory skipped
              If the -R flag is not set, directories given as arguments in the
              command line are ignored.

       locked version(s) exist
              A  revision  of the specified RCS history is locked. This is not
              really a problem, but perhaps rcs2atfs does not convert the most
              recent version of the file.

       branches exist, can’t keep revision numbers
              If  the  RCS  history  contains  branches,  the  numbers of AtFS
              versions cannot be the same as those of  the  corresponding  RCS
              revisions.

       symbolic name to non-existent revision
              rlog  has  reported  a symbolic name of a revision that does not
              exist in this archive. Probably  this  never  happens  (I  don’t
              know), but if, the symbolic name is ignored.

   Errors
       ATFS history exists, file skipped
              The  specified  file  is already known to AtFS as a history or a
              busy version. This file will nor be converted.

       colon after symbolic name missing, file skipped
       revision not found, file skipped
       date not found, file skipped
       author not found, file skipped
       status not found, file skipped
       rlog information missing, file skipped

              These messages indicate problems with the rlog  output,  perhaps
              an  old  rlog  version  is used.  (rcs2atfs works correctly with
              rlog version 5.5.)
              The specified file will not be converted.

       rlog command failed, file skipped
              For some unknown reason rlog returned a  non-zero  exit  status.
              rlog should have provided an explanatory message.

   Fatal Errors
       popen to rlog command failed
              The rlog command could not be invoked.

       popen to shell failed
              The shell could not be invoked.

       no more core
              Rcs2atfs  could not allocate enough memory. The amount of memory
              in your machine should be increased.

   Internal Errors
       Oops? Unknown reader state in readin_rcsfile!
       revision numbers corrupted
       number of revisions is wrong!

              You should never see these error messages.

CAVEATS

       If rcs2atfs visits the same RCS archive twice (e.g. because a  symbolic
       link  is  followed to a directory which is also accessed directly), the
       check for existing AtFS archives may be done a second time  before  the
       conversion  commands  from  the  first visit are executed by the shell.
       This results in lots of annoying messages and duplicate  AtFS  versions
       of  RCS revisions. To avoid this, make sure that rcs2atfs doesn’t reach
       a directory twice.

BUGS

       Rcs2atfs is rather slow since it invokes  a  shell  command  for  every
       action.

       Attribute  citations in files are not translated from RCS to AtFS (e.g.
       ‘‘$Header: ... $’’ to ‘‘$__Header$’’).

       Rcs2atfs strongly relies on the format of rlog’s output. Since I  don’t
       know  any  other  rlog than our version (5.5), it may fail to work with
       other versions.

       Due to the lack of serious  RCS  archives,  rcs2atfs  isn’t  thoroughly
       tested yet. (Well, we use ShapeTools. :-)

AUTHOR

       Juergen.Nickelsen@cs.tu-berlin.de