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,6458d1ee91b224ec X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.66.86.166 with SMTP id q6mr1808952paz.44.1361090815437; Sun, 17 Feb 2013 00:46:55 -0800 (PST) Path: ov8ni5625pbb.1!nntp.google.com!news.glorb.com!us.feeder.erje.net!feeder.erje.net!eu.feeder.erje.net!nuzba.szn.dk!news.jacob-sparre.dk!munin.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: Jacob Sparre Andersen Newsgroups: comp.lang.ada Subject: Re: chopping Ada source that have preprocessor symbols in them Date: Sun, 17 Feb 2013 09:46:53 +0100 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: <871ucffhtu.fsf@adaheads.sparre-andersen.dk> References: <5111a9d5$0$6567$9b4e6d93@newsspool3.arcor-online.net> <85txpnm1vp.fsf@stephe-leake.org> <5114fb61$0$6561$9b4e6d93@newsspool4.arcor-online.net> <85ehgqkxnf.fsf@stephe-leake.org> <51168e7e$0$6566$9b4e6d93@newsspool3.arcor-online.net> <85r4khdfm3.fsf@stephe-leake.org> <511e17c3$0$9520$9b4e6d93@newsspool1.arcor-online.net> <511E64AB.8030805@obry.net> NNTP-Posting-Host: 94.191.251.160.bredband.3.dk Mime-Version: 1.0 X-Trace: munin.nbi.dk 1361090814 13734 94.191.251.160 (17 Feb 2013 08:46:54 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Sun, 17 Feb 2013 08:46:54 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) Cancel-Lock: sha1:SgbYvu3uc93BRCUnFyeFV9nU4bU= Content-Type: text/plain; charset=us-ascii Date: 2013-02-17T09:46:53+01:00 List-Id: Randy Brukardt wrote: > (And the use of a preprocessor is always suboptimal. It's much better > to have that managed as part of version control, by selecting files > specifically for particular targets -- but I've never seen a version > control system that does that properly -- they all assume the use of > preprocessors. For RRS, I built a front-end that adds such structure > to the versioning (CVS is the back-end), but it's pretty clunky and > never was turned into a product.) How would you do that in version control? Personally I like the style used with the GNAT project files, where you select different implementation variants with a parameter to the build system. I guess you would like to be able to select a "branch" with a specific implementation variant _and_ at the same time select a (different) "branch" of all the invariant parts of the system. Now that I think about it, you could do that by having a subrepository containing the implementation variants in different branches. Greetings, Jacob -- "Reality is that which, when you stop believing in it, doesn't go away."