This section only describes my recommended OS-level Server-side Administration strategy. It does not describe user-level CVS Administration commands such as creating branches. Those items are covered elsewhere in this document. The work covered herein must be performed on the host which houses the repository you want to work with.
Whenever you edit files under the repository root, always use RCS (i.e., co and ci). See the man pages for co and ci at http://linuxcommand.org/man_pages/co1.html and http://linuxcommand.org/man_pages/ci1.html. Remember that RCS switches take trailing space in a manner exactly opposite to that of CVS. Whereas CVS takes a space after switches, like
cvs... commit -m 'blah blah...
RCS does not
ci... -m'blah blah...
Due to time constraints, I am describing only our normal, typical setup.
Any UNIX user in the OS group cvs may read the resources in any CVS module.
For a UNIX user to be able to update (add, remove, modify) resources in a CVS module, some (any) OS group to which they belong must be listed in the file scripts/modulegroup.list under the CVS repository root.
For a UNIX user to be able to perform OS-level CVS Administration (i.e., add new modules, grant and revoke privileges), they must be in the OS group "cvsadm". To perform this work, the user runs the command
sudo.alt su - cvs
All of the OS commands below should be performed as the user cvs.
cd /the/repos
mkdir new-ejb new-web
chown cvs:cvs new-ejb new-web
chmod 0775 new-ejb new-web
chmod g+s new-ejb new-web
(Our version of Solaris can't handle chmod 02775).
scripts/modulegroup.list
according to the comments in that
file (see the description about modulegroup.list above).
Remember to check it back in with ci.
newAccounting.jar -a new-ejb/bin/accounting.jar
newAdding.jar -a new-ejb/bin/newAdding.jar
# Adding newAccounting.jar onto dependencies for the EMT project:
emt-all -a emt-ali storeshared-ali coreEJB.jar newAccounting.jar
The names for aliases for files should contain a dot so users can easily see
that it is an alias for a file and not a module.
The name must make it obvious what CVS module the file comes from, in order
to avoid confusion and future name collisions.
The value of these aliases is a relative path from the repository root
directory.
# Adding alias for application "new".
new-ali -a new-ejb new-web
The name should end with -ali so users can easily see that it is a simple
(non-nested) alias for module(s).
Note that we list only CVS modules, not file aliases nor other aliases,
in -ali aliases.
new-all -a new-ali storeshared-ali coreEJB.jar
The name should end with -all so users can easily see that it is a nesting
alias for all the resources needed for our application.
modules file back in with ci.