ahc

ahc

HELP SCRIPTS BY ACORN
$s string arg

CVS - CHECKING IN A NEW BATCH OF FILES
--------------------------------------
1) Set CVS_RSH and CVSROOT env variables (see below)
2) cd to the top level dir where new files exist.
    In other words if you type 'ls' you should see your files.
3) Use the command
     cvs import -m "comment" <repdir> vendor release
   Where:
      <repdir> is where in the repository you want it to go.  For example:
             Projects/myproj
   (Note: "vendor" and "release" can be anything)
4) Now the files are checked in.  You can get them out by typing:
     cvs checkout Projects/myproj
   which will create the directory structure
             Projects/myproj/...
   under the current directory.  But before you do that you can create a 
   module.
5) Create a module named "myproj" by typing (from any dir):
     cvs checkout CVSROOT/modules
     echo "myproj Projects/myproj" >> CVSROOT/modules
     cvs commit -m "added module myproj" CVSROOT/modules
     cvs release -d CVSROOT
  (NOTE: you can name the module anything - it does not need to be the same
   as the name of the directory in the repository as shown above)
6) Now you can check the files out using the module name:
     cvs checkout myproj
   which will create the directory structure
              myproj/...
   under the current directory.
   Note that "myproj" is the MODULE name, not the directory name (although
   the two may be the same as in this example).  Also, the local directory
   that is created is given the name of the MODULE.


SPECIFIC FOR mybin:
   to add a dir use: cvs add <dir>
   to add a file use: cvs add <file>
SPECIFICS FOR Projects:
   to add a new dir follow the steps above.
   to get a dir do:
      cd $HOME/Projects
      cvs checkout <modulename>
      cd <modulename>



CVS - BETTER WAY
----------------
Use the script
    docvs   NOT IMPLEMENTED YET!!!
which interactively walks you through the tricky stuff.



CVS - OLD WAY - DO NOT REMOVE THIS - need NOTES section
-------------------------------------------------------
PUTTING A DIR STRUCTURE UNDER CVS CONTROL:
------------------------------------------
     top local directory of files:     $DIRA/<orig>
     where local copy will go:         $DIRB/<wdir>
     name of module for these files:   <mymod>
     cvs machine & account:            me@machine.com
     password for that machine:        <password>
     cvs repo dir on that machine:     $MYCVS
     where these new files will go:    $MYCVS/<cpath>
     name of vendor:                   <v>
     name of release:                  <r>
        NOTES:
           - <orig>, <wdir>, and <cpath> may all be the same, but
                $DIRA/<orig> cannot be the same as $DIRB/<wdir>)
           - <cpath> can be a local path like a/b/c or just a local directory
           - <v> can just be "vendor" or can be a vendor name
           - <r> can just be "release" or can be a release name
           - $MYCVS is a full pathname of cvs directory on machine.com
           - <repo> is the description of the repository:
                  :ext:me@machine.com:$MYCVS
               for rawbw use
                  :ext:acorn@shell2.rawbw.com:/home/users/acorn/cvsroot
           - you can use 
                   cvs -d <repo> checkout ...
             for every cvs checkout & import command instead of setting
                   CVSROOT=<repo>

        COMMON COMMANDS - REQUIRED BEFORE ANY OTHER COMMANDS!!!!
        --------------------------------------------------------
          export CVS_RSH=ssh
          export CVSROOT=<repo>

        COMMANDS TO IMPORT NEW FILES:
        -----------------------------
          cd $DIRA/<orig>
          cvs import -m "comment" <cpath> <v> <r>
            <password>

        COMMANDS TO CREATE WORKING COPY:
        --------------------------------
          cd $DIRB/<wdir>
          cvs checkout <cpath>
            <password>
          diff -r $DIRA/<orig> <cpath>
          rm -r $DIRA/<orig>

              EXAMPLE: to get $HOME/Projects/muppet directory:
                cd $HOME
                cvs checkout Projects/muppet

        COMMANDS TO ADD A MODULE DESCRIPTION:
        -------------------------------------
          cd $DIRB
          cvs checkout CVSROOT/modules
            <password>
          vi CVSROOT/modules
                 <add a line to the file like this:
                      <mymod>    <cpath>
                  and exit editor>
          cvs commit -m "added module <mymod>" CVSROOT/modules
            <password>
          cvs release -d CVSROOT
            <password>
            <password>
            y
          rm -rf CVSROOT



OTHER CVS COMMANDS
------------------
cvs -d <repo> co <module>       get a new copy of all dirs & files in <module>
cvs -d <repo> co <path>         get a new copy of dir structure <path>
cvs update                      get latest versions of all files . and below
cvs update <file>               get latest versions of <file>
cvs commit                      send all changes (. and below) to cvs server
cvs commit <file>               send all changes to <file> to cvs server
cvs add <file>                  add a file to cvs
cvs add <dir>                   add a dir to cvs (NOT contents - just the dir)
cvs update -p -r <rev> <file> > <dst>  get <rev> of <file> and place in <dst>
cvs log <file>                  file history

           NOTES:
            - use update before using commit!
            - add does not take effect until commit is done

TO REMOVE A FILE FROM A CVS CONTROLLED DIRECTORY
------------------------------------------------
This removes the file, but saves the history of the file.
            rm <file>
            cvs remove <file>
            cvs commit

TO REMOVE A CVS WORKING DIR
---------------------------
             cvs release -d <dir>
             rm -rf <dir>

RCS & other
-----------

update RCS/*          update all files in current dir (except ones I locked)
co $s                 get file named $s (for viewing or compiling)
co -l $s              checkout & lock file $s (for modifying)
ci -u $s              USE THIS - like ci, but keeps a 
ci -u $s              CHECK IN (unlock and COPY to source tree) file $s
ci $s                 CHECK IN (unlock and MOVE to source tree) file $s
co -u $s              unlock and update file $s (THROW AWAY CHANGES I MADE)
rcs -u $s             break lock on file (unlock even if locked by someone else)
rcs -l $s             lock file without checking it out
rcs -o<rev> $s        delete rev <rev> from RCS file $s
rcs_revert -?         revert to previous RCS rev (saves intermediate revs)
rcs -n<name>:<rev> $s associate symbolic rev name <name> with existing rev <rev>
rcs -n<name>: $s      associate symbolic rev name <name> with current latest rev
rcs -n<name>  $s      remove symbol <name> from RCS file (does not remove rev)
rcs -N<name>:<rev> $s same as rcs -n<name>:<rev> but first remove old <name>
rlock                 tell me which files I have locked
---------------------
cgdiff $s             gdiff $s with its latest RCS version
cmdiff $s1 [$s2 ...]  diff $s1 & others with their latest RCS version   
update                update readonly files in PWD with newer RCS files
fchg   <f> <r1> <r2>  compare <f> rev <r1> to rev <r2> (0,-1,...work)
vget   <file> <rev>   get version <rev> of <file> (0,-1,-2 rel to top)
lock   <file>         lock   <file> without removing local copy
unlock <file>         unlock <file> without removing local copy
mylog  <file>         list revisions of <file> (like rlog but concise)

upall                 update all files in gaunt, MB/GB, VRML2 & V2MB
oscmp                 compare files in OS directory with various sources
status                list RCS status (locked, differ) - all files in . (slow)
cldiff                list all *.[chsS] files and show which differs from RCS
cldiffall             do cldiff in gaunt,MB,V2MB,VRML, and Utils
cgdiffm1 $s           gdiff $s with its latest RCS version in MATHBOX 1
cmdiffm1 $s1 [$s2...] diff $s1 & others with their latest MB1 RCS version
rev <file>            print latest revision number of <file>
.getall               update all files in current dir from RCS
whatdiff              like cldiff, but only list different files ??BROKEN??
listdiff              list ALL DIFFERENCES of files in . vs tree
##############################