info-cvs
[Top][All Lists]
Advanced

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

Re: Keeping different platforms in sync?


From: Paul Sander
Subject: Re: Keeping different platforms in sync?
Date: Tue, 18 Sep 2001 18:50:56 -0700

>--- Forwarded mail from address@hidden

>On Tue, Sep 18, 2001 at 03:58:38PM +0100, Stephen Jowitt wrote:
>> This would be easy to do if the developers committed the source in
>> between
>> stages 1 and 2, but they don't want to do that as it is a busy tree and
>> would break
>> others' builds.

>This IS the usual approach, however.  And it often is less problematic than
>you fear.

My experience has been that there are almost always some cross-platform
issue that messes up most changes complex enough to span multiple files,
or that span more than two or three functions within a single file.
This can be a real problem in shops the require that all checked-in code
be comiled and tested.

>However, you could try the following.

>Have the developers work on a branch, and check things in, and out on the
>other machine.  They can go back and forth on that particular branch until
>everything works on all platforms.  Then they can merge that into the main
>branch.

>You could have a branch per developer or group or something like that.  

This kinda goes against the nature of CVS in a way in that developers no
longer share branches.  I don't wish to say that this is good or bad,
just something to note because the merges start getting larger if the
developer's branch is a few days old.

>In my experience, however, there is rarely, if any, need to do this.
>Unless you have been having regular problems with this happening, I think
>you are trying to put in procedures to solve a non-existent problem.

>If you are having regular problems, I'd be interested in knowing what they
>are, as I think there might be offered up other ways of solving this.

One alternative method is to set up your build system to operate correctly
in a single source tree shared by multiple platforms.  To do this, it must
be careful to store all of the platform-dependent stuff in such a way
that no two platforms overwrite a file with a different one.  That usually
means either renaming the platform-dependent files (perhaps by adding a
suffix that identifies the platform) or by segregating the results into
platform-dependent directories.  The environment is then set up to
assemble the platform-independent files and platform-dependent files
into a useful configuration.

>--- End of forwarded message from address@hidden




reply via email to

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