[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RCS internals

From: Aaron S. Hawley
Subject: Re: RCS internals
Date: Fri, 19 Nov 2004 11:00:27 -0500 (EST)

Dear Rupesh,

I'm not sure there's anything like a "module" in RCS's source code.  I'm
not very familiar with the code so I could be mistaken.  And there is no
design document in existence that I know of (There isn't even a full user
manual that is freely available for RCS), besides the source code itself.

The closest thing to a module in RCS's source code is its use of the
diffutils package for the actual file differencing.  But some potential
"modules"  are RCS's time-related functions(rcstime.c, maketime.c,
partime.c), also the RCS file input (rcslex.c, rcssyn.c) and output
(rcsedit.c) system, and revision file output (rcsgen.c).

I came up with the above information by simply looking at the comments on
the first line of all the C source files, which can be down efficiently by
running the following command inside of the RCS source directory:

        head -1 src/*.c

In your example, running `co -l sample.c` runs co.c, which includes
rcsbase.h, and then its really up to you to try to trace the flow of the
program, or even use a debugger to step through it.

You could try contacting one of the past developers and see if they have
anything they could show you.

Happy hacking,

On Fri, 19 Nov 2004, Rupesh Shantamurty wrote:

> Hi /a
> Thanks for your detailed response. I got the Source of RCS and
> installed it on my windows desktop using Cygwin (used the appropriate
> patches also) . It's working fine now.
> I wanted to know the internals of RCS.
> 1.What are it's modules?
> 2.What modules get accessed and what data structures get modified when
> one executes a command
> e.g. What happens internally when one executes % co -l sample.c.
> I wanted a kind of Design document for RCS. Since it's open source. I
> wanted to analyse it's code and modify it.
> Can you guide me as to where can I get a design document kind of
> information for RCS?
> Regards,
> Rupesh Shantamurty
> On Thu, 18 Nov 2004 10:57:47 -0500 (EST), Aaron S. Hawley
> <address@hidden> wrote:
> > On Thu, 18 Nov 2004, Rupesh Shantamurty wrote:
> >
> > > Hi
> > > Can someone please tell me the internals of RCS. I want to know how it
> > > works.
> >
> > To learn how RCS[1] works read the paper[2] by Walter Tichy[3], who
> > originally designed and developed RCS, which comes in the source
> > distribution[4] of RCS.
> >
> > Because RCS is free software[5], you can (among other things) read the
> > actual source code and tinker with it to see how it works.  My own
> > experience is that one shouldn't spend too much time because it's not
> > clearly written C code.  It appears even Tichy decided to rewrite his
> > proprietary implementation[6] of RCS in Java and C/C++.
> >
> > Happy hacking,
> > /a
> >
> > References
> >
> > [1]
> >
> > [2] Tichy's paper is available at Citeseer:
> > <>, and an HTML version is
> > located here <>.
> >
> > [3] Walter F. Tichy's Current home page <>
> >
> > [4] Source code available from <>
> >
> > [5]
> >
> > [6] Revision Control Engine (RCE) <>
> >
> > >
> > > Regards
> > > Rupesh Shantamurty

If this helped you, please take the time to rate the value of this post:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]