>--- Forwarded mail from [EMAIL PROTECTED]
>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 [EMAIL PROTECTED]
_______________________________________________
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs