On Fri, Jan 14, 2000 at 12:35:10AM +0000, blavagna@my-deja.com wrote:
> - Java (enforces ???) a rule that each ".java" file contain only one
> class.
No, the "rule" is that it contain only one "public" class per package.
It can contain many other non-public classes. A separate .class file will
be generated for each class in the .java file though.
> - Sun's JavaSafe is a "Project Oriented" wrapper around RCS
It's not product-ized yet, bet you might take a look at some of the
work Michael van de Vanter has been doing for Sun as part of the
"Forest" project. In particular, look at his papers on package-based VC
for Java in the I-SCM8 and I-SCM9 conference proceedings (please see
http://www.enteract.com/~bradapp/acme/scm-readings.html for references
to that, and other SCM books and proceedings).
> - IBM's included SCM tool is unique in that it allows you to control
> changes with a "class" granularity, as opposed to a "file" granularity
Files/directories are "physical" software configuration elements. VAJ
lets you use "logical" configuration elements like packages, classes,
and methods. Not only is this a different dimension of granularity
(logical versus physical) but it is typically a finer granularity too
(at the method-level). This can reduce the degree of concurrency and
checkout contention for a whole file/class, but can also get you into
more trouble with multiple people editing different methods of the same
class if they don't do a good job of communicating.
There are products that do (or have done) thing kind of thing for
languages like C and C++ too. At present, there is Genitor for C/C++ (see
http://www.genitor.com). Genitor is not a VC tool but can integrate with
VC tools that use SCC. Genitor is a code creation/browsing environment
that can take care of the mapping of classes to files for you (with the
help of some rules/preference settings I believe) and let you check out
classes and methods.
There used to be a product from PROCASE named SmartC that did this about
10 years ago. And I know there were lots of products that do/did this
sort of thing for Ada (one of the most popular ones was by Rational -
back when they were considered and Ada shop and before they became known
for O-O technology-related products ;-)
Checkin/checkout at the logical config element granularity is going to
become increasingly more common before too long, particularly with the
popular and growing widespread use of Java and of Component technology
in general (which raises the whole issue of VC for components, both
under development *and* while in Deployment - but thats another story :-)
> - IBM's tool is (or closely resembles) the "Envy" SCM tool (from
> North Carolina ?) that has been long used for Smalltalk code.
The product is called Smalltalk/Envy and was/is particularly popular
with the VisualWorks variant of Smalltalk (less so with IBM Smalltalk,
which I think provided its own solution, which may be what VAJ uses I
don't recall). VisualWorks also has its own bare-bones VC functionality
in terms of packages and parcels.
In terms of things to add, you might want to look at issues of tracking
and generating compilation-order dependencies in Java. Using Java with
make-like tools is particularly difficult and has come up on this list
a number of times. There are a few OpenSource solutions for that problem
(like jdepend/javadepend, javamake, and a few others).
Cheers!
-- Brad Appleton <bradapp@enteract.com> http://www.enteract.com/~bradapp/ "And miles to go before I sleep." -- Robert Frost - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This archive was generated by hypermail 2b29 : Sun May 06 2001 - 00:22:28 EDT