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