SCCS vs RCS under emacs

K. Richard Magill rich at sendai.sendai.ann-arbor.mi.us
Fri Jun 30 03:32:07 AEST 1989


In article <WAYNE.89Jun27145852 at dsndata.uucp> wayne at dsndata.uucp (Wayne Schlitt) writes:

   speaking of rcs/sccs and emacs, how do most people use rcs/sccs with
   emacs?  do you have a system to automatically check in and out files
   and such?  

   [...]

   i guess i am just interested in peoples experiences/opinions on how to
   use either of rcs or sccs with emacs.

I presume you all edit on the same machine and use the emacs collision
mechanism?

We don't.  we work on either a ring of suns, a sequent balance or
symmetry, and (recently) a ring of decstations.

We use rcs and emacs almost exclusively.  we also use gnu make, grep,
awk, and diff exclusively, and mostly gcc, bison, flex, and gdb.  The
reasons are mostly performance although debuggability and
transportability are big issues as well.  grep, diff, bison, flex are
all virtually invisible changes for the users.  gcc, awk, gdb, are a
little more effort but not bad.  RCS was also almost invisible.

Our scheme works like this...  we have a directory tree full of
source, but the source is in RCS form.  When one of us want to build
it, we:

mkdir mysrc
cd mysrc
ln -s ~realsource RCS
make dirtree all

gnu make looks for a makefile, seeing none, it looks for an RCS'd
makefile and low and behold...  it's there so it gets checked out, and
executed for the target "dirtree" which knows about the subtrees to
this one and digs those directories and creates the symbolic links to
their realsource analogues.  Then "make all" actually checks out
current versions (although you can pass COFLAGS to a make
instantiation to build other revisions, checkpoints, or branches) and
builds.

The typical scenario goes something like.... I run it, decide I want
to change something, so I dired that directory, delete the file I want
to change (which is currently read-only), C-x C-f (find file) that
file (which doesn't currently exist so it trips a find file hook which
is linked to a package I found on the net some time ago) and you are
warned that the file doesn't exist and asked if you would like to
check it out.  if so, would you like to lock it.  if so, you are now
the proud owner of an rcs lock on that file.

When you are done edit/compile/debug'ing (aka, emacs, M-x compi, M-x
gdb), you M-x rcs (another package I found on the net some time ago)
which puts you in a recursive emacs with a "pop up" buffer for
editting the comments for this revision.  exitting the recusion checks
the changes back in.

Not bad really.  Not much more intrusive than the emacs file collision
mechanism but it works across multiple machines (presuming they all
mount the realsource tree).
--
rich.



More information about the Comp.unix.questions mailing list