help-rcs
[Top][All Lists]
Advanced

[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,
/a

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] http://www.gnu.org/software/rcs/
> >
> > [2] Tichy's paper is available at Citeseer:
> > <http://citeseer.ist.psu.edu/tichy91rc.html>, and an HTML version is
> > located here <http://www.uvm.edu/~ashawley/rcs/tichy1985rcs/html/>.
> >
> > [3] Walter F. Tichy's Current home page <http://wwwipd.ira.uka.de/~tichy/>
> >
> > [4] Source code available from <ftp://ftp.gnu.org/gnu/rcs/>
> >
> > [5] http://www.gnu.org/philosophy/free-sw.html
> >
> > [6] Revision Control Engine (RCE) <http://www.aicas.com/rce.html>
> >
> > >
> > > Regards
> > > Rupesh Shantamurty

-- 
If this helped you, please take the time to rate the value of this post:
http://rate.affero.net/ashawley/FSF




reply via email to

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