RCS was a revolution in its time, and is the underlying basis for CVS.
It’s better than nothing.
Does not allow concurrent access to the same file.
Does not have the inherent concept of a central repository, though you can go out of your way to create one using symbolic links.
No concept of remote repositories.
Only tracks changes to files, and does not store or consider directories at all.
Poor support for binary files, and no support for other objects such as symbolic links. Unlike CVS or SVN, which have a single main end-user binary, RCS is a collection of binaries.
Create a new script directory for personal use in a home directory:
/home/jp$ mkdir -m 0754 bin
Create some scripts:
/home/jp$ cd bin /tmp/scripts/bin$ cat << EOF > hello > #!/bin/sh > echo 'Hello World!' > EOF /home/jp/bin$ ci hello hello,v <-- hello enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> Obligatory Hello World >> . initial revision: 1.1 done /home/jp/bin$ ls -l total 4.0K -r--r--r-- 1 jp jp 228 Jul 20 02:25 hello,v
Huh? What happened? It turns out that if a directory called
RCS does not exist, the current directory is used
for the RCS file. And if the
-u or -l
switches are not used, the file is checked in and then removed.
-l causes the file to be checked back out and
locked so you can edit it, while
is unlocked (that is, read-only). OK, let’s try that again. First, let’s
get our file back, then create an RCS directory and check it in again. ...