[evla-sw-discuss] CVS Changes/Config Management
John Ford
jford at NRAO.EDU
Mon Dec 16 13:46:32 EST 2002
Kevin Ryan writes:
> I'm not sure this is what we want. Quite a bit of time went into
> planning the directory structure of /home/asg so that it would be
> intuitive for placing/finding asg-generated files according to
> their purpose and also to accommodate the Java naming convention.
>
> Way back when, I started to add CVS to our system, but when I got
> to the part that CVSROOT had to be at the root of everything I
> postponed it until I could learn more about how to figure out a
> way to make CVS be less obtrusive.
>
> In other words, directories called 'cvsroot' smack dab in the
> middle of our hierarchy sort of defeat the purpose of the
> hierarchy in the first place.
>
> If someone from Charlottesville wanted to steal the HttpServer
> class that we wrote for the Mib as part of the AMCS subsystem of
> the EVLA System he should intuitively look for it at:
>
> /home/asg/evla/amcs/mib/HttpServer.java
>
> and not
>
> /home/asg/cvsroot/CVSROOT/amcs/mib/HttpServer.java
> (which also leaves out the 'evla')
It's not necessary to have the system have the cvsroot stuff embedded
in the working directories. For example, the GBT systems use CVS.
Our repository is in /home/gbt2/repository. In that directory is:
Yes, Master<39> ls
CVSROOT GBTServo doc gb gbt oui trace.txt
GBTObsTool.deleteme Starlink firmware gbi modules themis ygor
Yes, Master<40>
Each of which is a standalone directory of stuff. In our working
directories, there is no reference to any of this tree. For example,
anyone can pull out the whole "gbt" tree into an arbitrary directory.
FOr example, the directory that we build stuff in on a daily basis is:
/home/gbt1/gbt:
Which contains all the CVS managed subdirectories of "gbt":
Yes, Master<41> ls
CVS PATCHES devices headers makeDirs status user
Makefile config etc instDirs mk.log unit_test utilities
Yes, Master<42>
In your example above, you would simply create a project in
$CVSROOT/asg that contains the directory stucture "evla/amcs/mib".
I might suggest, though, that you keep in mind that if you are
successful in your project, that others will want to use your
software, (including yourselves, for another later system), and so you
might want to keep the name "evla" out of the directory tree, or
alternately, put it in the beginning.
> > The directory structure I
> > created was basically gleaned from the /home/asg/evla directory and
> > looks like so:
> >
> > $CVSROOT
> > |
> > +--CVSROOT
> > |
> > +--amcs (antenna monitor and control)
> > |
> > +--bin
> > +--classes
> > +--doc
> > +--lib
> > +--obj
> > +--src
> > |
In our system we do not have the CVSROOT as a parent directory for all
our code. I don't know why you'd want to do that.
FWIW.
John
More information about the evla-sw-discuss
mailing list