CVS for MVS has come
it or not, Big Iron Mainframes are quickly coming into the 21st century.
And one of these advances are due to the introduction of POSIX services
and Unix System Services (USS) to the MVS operating environment.
Now, many of the GNU software packages you've enjoyed in the Linux and
Unix world are now available on MVS.
One of the most popular of these tools is the Concurrent Versioning
System, or CVS. This is an easy to use source librarian software
package that allows one or more programmer to manage, protect, and archive
your important intellectual properties.
Why use a source code librarian?
Why use CVS?
It provides an in-depth history of what changes have occurred to a source
module. Even (and especially) if the source is being maintained by
a single person, this can be a real asset. How many times have you
made a set of changes to a copy of your source, only to realize that they
are all wrong, and you need to start over? The CVS software allows
you to track what changes you have made, and can even allow you to revert
to earlier versions.
It allows for creating copies of your source at a specific release or date.
This can help when trying to support previous releases, or identify when
a certain behavior started (or stopped) occurring.
The source repository can act as a back up to the source being developed.
What else can CVS do?
CVS provides concurrent editing. Many librarians require a developer
to "lock" a software module when they begin making modifications to it.
CVS allows multiple people to make changes at once. When changes
are checked in, any previous changes can be automatically incorporated
into your source. This gives you the ability to test your changes
with those changes other programmers have done before.
CVS was designed to be much more efficient in a network environment.
While other librarians will transfer a copy of the entire repository file
(including the base file and all changes made), CVS only transfers the
reconstituted file. This can save considerable time, especially if
the source module has many revisions. And to make things even better,
CVS can provide data compression for data sent over the network.
In one benchmark, checkout times were reduced from 6 hours to 5 minutes.
CVS is available for many different platforms. CVS manages source
codeset and format differences between platforms.
What is the status of the CVS for MVS port?
Allows you to manage files at the file, directory or module level.
Checkout file(s) as of a specific date, symbolic version, or a numeric
Manage multiple versions via branching and merge changes between branches.
Manage binary as well as text files.
Provide access and modification control.
Has extensible modification control and reporting.
How do I use CVS for MVS.
The entire CVS source is compiled. Only the client portions have
had much use. Since this software is considered in beta test, please
let me know if you are using this software and any problems (or lack thereof)
that your having.
The latest (drop 3) version has solved problems to binary file checkout
Where can I find out more on CVS?
Where can I find CVS for MVS?
If you have any comments, questions, or problems on the MVS port, feel
free to contact me at: email@example.com.
CVS for MVS operates under MVS with POSIX(ON) and with an HFS file system.
It is best used under USS but can be run under batch or TSO with the proper
USS segment set up.
After you copy or compile the executables, move it to a location on your
Set up the CVSROOT
environment variable. Only the local and PSERVER
protocols are supported in a client/server configuration..
If you are using CVS locally, do the cvs
init command to set up your CVSROOT directory.
If using PSERVER, do a "cvs login" command to set up your password file.
Read the most excellent manual.
Check out your favorite code.
New: CVS for MVS now has a mailing list server. To subscribe/unsubscribe go to
CVS for MVS is the result of the efforts of several people:
Wayne Johnson (firstname.lastname@example.org)
Preston Bannister (email@example.com)
Jeff Trawick (firstname.lastname@example.org)
And probably other's I haven't heard of. Thank you all!