From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c6567772e9f3871d X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Received: by 10.204.156.155 with SMTP id x27mr96892bkw.7.1318847236847; Mon, 17 Oct 2011 03:27:16 -0700 (PDT) Path: l23ni9491bkv.0!nntp.google.com!news1.google.com!volia.net!news2.volia.net!feed-A.news.volia.net!news.musoftware.de!wum.musoftware.de!feeder.erje.net!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: organizing deep source trees with child packages Date: Mon, 17 Oct 2011 11:27:14 +0100 Organization: A noiseless patient Spider Message-ID: References: <21c9e6bb-f4f7-4a00-bde7-68f2c1a42d01@q13g2000vby.googlegroups.com> <82ty7d1ewz.fsf@stephe-leake.org> <3486b228-abdd-490f-b4ef-9ee6b19f65fa@gy7g2000vbb.googlegroups.com> <7179717a-9837-476c-b564-6599a9c02acd@ff5g2000vbb.googlegroups.com> <1qk4l4n9zsdgm$.1bvxdhoq5cpx5.dlg@40tude.net> <82hb39umkd.fsf@stephe-leake.org> <92b4070b-28d5-4e20-99a2-d3cc5c130510@s14g2000vbj.googlegroups.com> <87ipnon3qy.fsf@ludovic-brenta.org> Mime-Version: 1.0 Injection-Info: mx04.eternal-september.org; posting-host="dFCm8HWntFqmDIilBLqEJQ"; logging-data="28319"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+JQfu7sp2W3evcGoaxx4wNJI4Lg03KW8M=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (darwin) Cancel-Lock: sha1:PR+U/VoO27DDNPPguEYndKXL3RA= sha1:AcM7SQHPq+cNm+Z8s7KVT243Z+Y= Xref: news1.google.com comp.lang.ada:18520 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Date: 2011-10-17T11:27:14+01:00 List-Id: Ludovic Brenta writes: > Simon Wright wrote on comp.lang.ada: >> Ludovic Brenta writes: >>> There was a VCS integrated; I used it as part of Rational Apex on >>> Solaris a few years ago.  I think it was slightly different from the >>> original, as it used RCS as a storage back-end for source files and >>> introduced the "subsystem" (consisting of many source files) as the >>> preferred unit of configuration management.  Branching was OK but >>> merging was horrible, as with RCS. >> >> The GNAT 'stand-alone library' is, I think, similar to the subsystem >> in that only some of the units are externally visible. Of course you >> _may_ be able to get a similar effect by using private child >> packages. > > No, the "subsystem" in Rational has nothing to do with visibility; it > was only a configuration management entity. You could declare that a > subsystem A with version number N depended on a subsystem B with > version number M. There was no mechanism (that I remember) to hide > part of a subsystem from the outside. And TTBOMK the GNAT 'stand- > alone library' is not about version control or configuration > management, since it is not versioned. The paper at - which is a PDF'd scan - doesn't seem to agree with this; on page 20, "The main reason for decomposing a system into subsystems is to control and manage complexity." on page 22, "a view [of a subsystem] manages: [...] c. The visibility to program units in other subsystems." And the VCS - on the R1000 - was CMVC. I think that later versions of APEX use ClearCase?