Rcs

What is RCS?
RCS is a tool for revision control, which dates way back and is apparently available on pretty much every variety of Unix. It's not networked or networkable (apparently, CVS started out extending RCS), but it's useful for handling local files. For a more powerful networked revision control tool, see public:Subversion.

Command-Line Tools
General RCS tools:
 * public:rcs:ci
 * public:rcs:co
 * public:rcs:rcsdiff
 * public:rcs:rcs2log
 * public:rcs:rlog
 * public:rcs:rcsmerge
 * public:rcs:rcsclean
 * public:rcs:rcsfreeze

Fudo-specific tools:
 * private:rcs:rcsadd
 * private:rcs:checkout
 * private:rcs:checkin
 * private:rcs:rcsedit (aka re)

Inserting a file into the repository
To insert a new file into a repository:

- If it doesn't already exist, create a directory called 'RCS' in the current directory. * mkdir RCS - //Check in// and //initialize// the file. * ci -i $filename * Enter file information as prompted - Once checked in, **The file has disappeared** - to get it back, you have to check it out. * co $filename

The file is now in the repository. It should be **read-only**. Leave it that way.

Checking a file out to edit
To check out a file for editing, //check it out// and //lock// it:

* co -l $filename * Edit the file

Checking a file into the repository after editing it
To check in a file after editing it, //check it in// and //update// it:

* ci -u $filename * Enter change information as prompted

Comparing the file with a previous revision
* To compare the current file with the last revision, use the following: * rcsdiff $filename

* To compare the current file with an arbitrary revision, find a list of revisions first: * rcs2log -v $filename * Choose the revision you would like to compare, and compare them like so: * rcsdiff -r1.1 $filename

Revert to a previous version
To roll back changes to a certain revision, simply type:

* co -l -r1.3 $filename

Now, assuming you have no further changes to add, check it back in:

* ci -u $filename

Fudo Usage
A few commands have been simplified on **celery** and other Fudo hosts to encourage use of RCS.

Adding a file to the repository
Type rcsadd $file1 $file2 $file3 ...

Editing a file in the repository without checking it in or out
Type re $file1 $file2 $file3 ...

Checking out a file for editing
Type checkout $file1 $file2 $file3 ...

Checking in a file after editing
Type checkin $file1 $file2 $file3 ...