RCS on the RiscOS operating system
[What is it?]
[How does it help me?]
[Why RCS and not another system?]
[How does RCS work?]
If you are looking at these pages through
then you can
get rid of the frames by clicking here:
See the latest
state of affairs of RCS for RiscOS.
You might want to read
some general information on RCS and how it
For some background info see a list of RCS commands.
Useful are the details on the port to RiscOS.
These pages are also included in the RCS package.
RCS for RiscOS v18.104.22.168 [1.13 Mb] (includes gdiff and diff3).
The original RCS v5.7 sources are available from
Download my version of the .c and .h files
and a RiscOS Makefile [270 kb].
What is it?
Revision control is an automated system for programmers
to keep track of the changes they make in their source files.
It allows you to:
Back to top
- retrieve earlier revisions of each file
- add comments to each revision to remind you why you made the change
- show the differences between revisions of each file,
and the difference between the current file and a previous file
- group revisions of files together which make up a
revision of the end product
- automatically put revision identifiers in the end product,
e.g. in the "version" field of the ProgInfo dialog box
- do lots of other things
How does it help me?
If any of the following things ever happened to you,
then revision control is the thing for you.
Back to top
- You haven't worked on a project for a few weeks
(maybe because of a vacation), started work on it again,
and wondered where the blazes you left off, and what
exactly this nasty problem was you couldn't fix the last time.
- While trying to solve a problem, you've made so
many changes to a source file that you can't remember
which bit of code
made it better and which bit made it worse.
- Your directories are cluttered with different
versions of the same source file
(with names like
file2, etc.), and you can no
longer keep track
of which file had which change in it.
- Faced with a bug report from someone who uses an
older version of your program, you'd like to find out if the code
causing the problem is still in your current version.
Why RCS and not another system?
I chose RCS, the Revision Control System, because it was available
from GNU and is pleasant for the user to work with.
The sources are for free, and may be modified by anyone who is
interested. Like me.
Back to top
How does RCS work?
Note: this bit refers to the command line version of RCS.
The RiscOS version will have a different user interface.
It works by making an RCS file for each file
you want to put under control.
This is basically a file with the latest
version of the source file, with codes added with which older
revisions can be reconstructed. It also keeps useful
information, if so desired, about the name and location of
the file, the dates and version numbers of each revision,
who made each change, the comment that was added to each
revision and lots more. See also the list of
The basic commands allow you to:
These commands can also be run on many files simultaneously.
This enables you to, e.g.,
check out all source files (
- Check in a new file or a new revision. The current
version of the file is added to the RCS file with a revision
number that is one higher than the last revision.
The user is asked to type in some comment to describe this revision.
You can either keep the current file (and e.g. use it
to compile the product) or let it be "absorbed"
RCS file so it won't take up space.
- Check out the latest or an older revision of a file.
This retrieves a work file from the RCS file.
You can then look at it or use it e.g. for compilation.
- Check out a file with a lock. This retrieves a work file
from the RCS file, and enables you to modify it and check it
in again later. The lock prevents other people from starting
work accidentally on the same file.
- Show information about the revisions of a file.
A list can be produced of all revisions,
showing what date and time they were checked in and by whom,
and showing the comment that was entered for each revision.
of a C program which then allows you to compile the lot.
You can also check in a group of files in which you made
some modifications which all apply to
the same change in the end product. These files will then
get the same date and time, and the
The system is not limited to purely source files. It can
be work on any file which is text.
This includes Make files, !Run and !Boot files, Message
files and Help files.
Back to top
For questions, remarks, suggestions, comments etc.
see the contacts page
$Id: index.html 1.5 2003/11/26 17:33:36 erikgrnh Exp $