|
Using RCS: an ancient Unix tool
|
A Brief Introduction to RCS
-
RCS (Revision Control System)
is a method for creating, editing, and using files shared
with other users. The comments below provide a quick introduction
to this Unix utility.
-
To Create:
-
To create a new RCS file, you first need to create a file
and give it a filename, say newfile.ext. Once that is done,
just type
ci newfile.ext
This will convert the file to an RCS file with an initial
version number. It will also ask for you to enter a
short description of the file; this description may be
terminated by a line with a '.' in the first position.
-
When you have completed this action, check the names in the
current directory. You will find that your file has disappeared,
but a new file with the same name followed by the characters
',v' has appeared. For example, the new file resulting
from the ci newfile.ext command would be
newfile.ext,v. These
*,v files are the RCS files.
-
RCS has the facility to allow several people to check RCS
files in and out. But the person who creates the original
RCS file will be the only initial permitted user. So you
will need to add permission for the other users. This is
done with the RCS command:
rcs -acjcs newfile.ext
rcs -aschauble newfile.ext
Now the persons with the login names cjcs and schauble
have been added as permitted users to the RCS file called
newfile,v. It is often wise to add your own login as
well.
-
To Edit:
-
To work on a file, first you must check it out:
co -l filename.ext
The -l puts a lock on it, meaning that no one else can modify
it while you are working with it. This also allows you to
check it back in when you are finished:
ci filename.ext
The ci instruction will ask for a line explaining the
changes made; you can make it blank if you wish. It can
also recognize if no changes have been made. Please be
sure to check it back in before you log out -- for no one
else can use it till you do. Check it back in even if
there were no changes! RCS has a tendency to mess up
otherwise.
-
Do not type
ci *
as this will attempt to check in every file in the directory
-- even those which are not RCS files, such as a
Makefile or a README file,
unless of course, there is some reason to do so.
-
In other words:
- First checkout the file with a lock:
co -l filename.ext
- Edit the file
- Store the file
- Check the file back in:
ci filename.ext
-
To Read/Use:
-
If you just wish to read the file, you may check out the files without locks:
co filename.ext
However if you make any changes to the file, the system will not
let you check it back in.
(See man rcsintro for an escape to this problem.)
-
In other words, just check out the file
with no lock: co filename.ext.
But do not make any changes to the file.
-
Note: if only the *,v
version appears in the directory, you cannot edit or write
to this checked out file.
-
Further Information:
-
Do a man on rcsintro,
ci, co, etc. for more information.