SCCS version control

Michael Meissner meissner at xyzzy.UUCP
Mon Dec 19 02:22:33 AEST 1988


In article <3217 at ingr.UUCP> markv at ingr.UUCP (Mark VandenBrink) writes:
| In developing a product under SCCS, we have, finally, gotten to the point
| where we need to make a release.  So far no problems; however, I would like
| to "remember" or baseline our platform so that some later time (fixes release,
| etc.) I can automagically recreate the platform.

The simplest way is to use branch delta's if your version of SCCS supports
them (System V.3 supports them and earlier versions did as well.  Sun 3.5
doesn't seem to support them).  In preparation to use branch delta's, do
the following:

	admin -fb s.*

(ie, set the 'b' flag, which allows branch deltas).  You probably want to
set up whatever scripts you use to create new sccs files to include -fb
automatically.

After you make the release, then do the following:

	get -e -b s.*
	delta -y"Revmark for release xx" s.*
	admin -fd2 s.*
	get s.*

The "get -e" line checks out all of your sources as a branch (ie, version
numbers will start at 2.1 now instead of 1.xx).  The delta checks things
back in as always.  The admin line sets flag d to 2 (ie, the default version
will be the highest delta in release 2).  For the next release, you would use
3 instead of 2.  The final get just gets the current version of the source
(and also is useful to see if there are errors).

If you ever want to get the source for release 1, just use the -r1 switch
on the get.  You can even make changes in release 1 for update type fixes,
providing you don't freeze the release with -fc<number> or -fl<list>.  Again,
on the Sun 3.5 system I tried it on, using -r gave errors.  I was able to
move sccs files between systems, so if you have a system V-type box, but
have to use a broken SCCS, you might be able to move the s.* files to the
System V system, do the above steps, and move them back.

To be fair to Sun, I seem to remember that I had the exact same problems
on DG's port of UNIX (native = DG/UX, hosted = MV/UX).  On early rev's
which were based on System III and later System V.1, everything worked.
When we upgraded to System V.2 (release 3.10 of DG/UX), branch delta's
stopped working, though I could move the files to an older system, do
the work, and when I moved them back, everything was cool.  Finally when
we upgraded to System V.3 (release 4.00 of DG/UX), branch delta's worked
again.  So maybe SunOS 4.00 fixes the problem (which may have been a System
V.2 source problem).
-- 
Michael Meissner, Data General.

Uucp:	...!mcnc!rti!xyzzy!meissner
Arpa:	meissner at dg-rtp.DG.COM   (or) meissner%dg-rtp.DG.COM at relay.cs.net



More information about the Comp.unix.questions mailing list