[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New to CVS: multiplatform projects

From: Kaz Kylheku
Subject: Re: New to CVS: multiplatform projects
Date: Mon, 01 Oct 2001 17:04:26 GMT
User-agent: slrn/ (Linux)

In article <address@hidden>, address@hidden wrote:
>I'm new to CVS, and version control in general.  I understand the
>basic idea of having a repository that preserves the history over time
>of a software project.
>My problem is that, for reasons too complex to go into here, I must
>manage two parallel Java development projects.  These two projects are
>99 % identical, except in the few areas in which one must be
>compatible with v. 1.1.8 of the JDK, and the other must be compatible
>with v. 1.3 of the JDK.

In C programming, minor differences between target platforms can be
handled using the preprocessor to select alternate areas of program
text for translation. In their infinite wisdom, the Java designers
decided not to add such a thing.  I suggest you add it yourself.

>The v. 1.3 branch is our main area of development, while the v. 1.1.8
>one is a secondary effort to satisfy a significant fraction of our
>customers who have not upgraded from Mac OS 9 to Mac OS X.

The problem is that this isn't really a branch, but two different
targets. Branching is not the appropriate tool for targetting a program
to multiple platforms.

>Since the two versions are so similar, it would be convenient to
>generate the v. 1.1.8 code by applying patches to the v. 1.3 code.

Why not use a preprocessor to generate the code?  Those Jva files which
need target configuration could be given an extra suffix. Have a Makefile
rule which will reduce files which have this suffix to .java files.

>Can CVS be cajoled into helping with such a problem?

Yes, at the cost of doing a lot of merging all the time to keep the
branches in sync, all for the sake of a few differences that are
largely static! 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]