www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/04/19/01:12:24

Date: Tue, 18 Apr 95 10:13:14 EDT
From: den AT aisinc DOT com (Dave New)
To: kentl AT bdc DOT cirrus DOT com
Subject: RCS on multi-platforms (was Re: SCCS)
Cc: leisner AT sdsp DOT mc DOT xerox DOT com, djgpp AT sun DOT soe DOT clarkson DOT edu

Kent writes:

> I've been thinking of adopting RCS for personal projects, so 
> I'm curious: 
> 
> a) Does RCS have any mechanism like this (environment variables) to
>    help locate the archive files.
> b) Does RCS _require_ the ",v" extension, or can another naming convention
>    be used (e.g. none - archives & workfiles have same name, just different
>    path)?
> 
The RCS that we have been using under SunOS 4.1.3_U1 is actually normally
"covered" by CVS 1.3, so what is usually in a checked out directory is a
CVS directory that contains (normally) two files : Entries and Repository.

The Entries file lists the files and RCS version of the files in the parent
directory, and the Repository contains a single line that lists the fully
rooted path of where the files came from.

CVS works by setting a CVSROOT environment variable, so that it knows where the 
"root" of your repository tree is.  What this means, in general, is that RCS 
does the real check-in check-out work, but CVS adds a configuration management 
layer on top that makes the chore of freezing and tagging lists of RCS versions 
a bit easier.

CVS doesn't track groups of various freezes, though, like that version 3.4
of 'foo' goes with version 3.46 of 'bar', where 'foo' is your favorite
compiler and 'bar' is your favorite application library that was compiled
with 'foo'.  There is a package called 'BCS' (baseline control system) that
does this, but we haven't experimented with it.  BCS also sets up links to
copies of files from the repository, replacing them with real files only
if you need to edit them.  This solves another problem that CVS seems to
aggravate -- every programmer finds out rather quickly that if they want
a private "sandbox" for development, they need a copy of the whole latest
stuff from the repository local to them, so the build/makes work properly.

If the repository contains several hundred megabytes of source, a group of
five programmers can easily tie up over 2 GBytes of disk with their sandboxes.
The current attitude is that disk space is cheaper than solving that problem
in a hurry, upsetting our current development environment.  We are working to
change things by evolution, not revolution! 8-)

Our company is interested in migrating from SunOS to Windows/NT, so that is
why we are involved in figuring out how to support our development environment
on multiple platforms.  The target, by the way, is neither of these boxes.
It is embedded i960CA RISC stuff, so off-the-shelf commercial solutions don't
come easily.

We don't have a CVS running on i386, yet, either.  Seems like we could get
that to work by compiling it under dgjpp, though.  I'll be looking into that
later this week.

DaveN

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019