You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Shaun Pinney <sh...@bil.konicaminolta.us> on 2009/09/10 23:02:22 UTC

Multiple teams + Different Build Options + One Repository?

Hello all,

Quick question.  We have an SVN repository and are preparing to provide
access to another development team.  An issue which has come up is our
software has many build options controlled by a few scattered files and each
team needs different build options.  Can we provide both teams a way to
checkout the latest source code, but with different build options?  I think
we should be able to reduce configuration errors by giving the right build
options to the right team automatically upon checkout, compared to a manual
approach of everyone editing on each checkout.  Is there a clever solution
for this (e.g. svn:externals)?  Thanks for any advice!

Best,
Shaun

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2393468

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: Multiple teams + Different Build Options + One Repository?

Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Shaun Pinney!

> Thanks for the response!  Sorry, maybe I could have chosen the subject line
> better :)

It's not the subject line, it's the "Reply" button you hit, instead of "New
message".

> I like the single script idea but, unfortunately, we cannot auto-configure
> the correct team settings based solely on the build environment info.  So
> maybe branching can provide the solution.  Can you let me know if I
> understand your idea correctly?

Yes, something like this I've had in mind.


--
WBR,
 Andrey Repin (anrdaemon@freemail.ru) 11.09.2009, <11:50>

Sorry for my terrible english...

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2393551

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

RE: Multiple teams + Different Build Options + One Repository?

Posted by Shaun Pinney <sh...@bil.konicaminolta.us>.
Hi Andrey,

Thanks for the response!  Sorry, maybe I could have chosen the subject line
better :)

I like the single script idea but, unfortunately, we cannot auto-configure
the correct team settings based solely on the build environment info.  So
maybe branching can provide the solution.  Can you let me know if I
understand your idea correctly?
 
Say we have our config files, /trunk/foo/buildFoo.bat and
/trunk/foo/h/config.h, and source files in /foo which are built by
buildFoo.bat and which include config.h.

/trunk/foo/buildFoo.bat
/trunk/foo/foo.c
/trunk/foo/foo.h
/trunk/foo/h/config.h

We'd create a branch of buildFoo.bat for each team, modify them to contain
each team's settings, and commit:

/branches/team1/buildFoo.bat
/branches/team1/config.h
/branches/team2/buildFoo.bat
/branches/team2/config.h
/trunk/foo/buildFoo.bat
/trunk/foo/foo.c
/trunk/foo/foo.h
/trunk/foo/h/config.h

Next, I'd imagine if we're creating branches for each team we'd remove
/trunk/foo/buildFoo.bat and /trunk/foo/h/config.h to avoid duplication in
SVN.  Before building we'd probably create a new script to copy all
configuration files from "teamN/" to their original locations (to avoid
modifying any Makefiles due to moving files from their original locations
into 'teamN' directories).  So the build process would be to checkout, run
the 'team select' script to copy files from "teamN/" to correctly locations,
and then run buildFoo.bat from /trunk/foo/buildFoo.bat, as we currently do.
Also, the sources would still remain in the trunk.

/branches/team1/buildFoo.bat
/branches/team1/config.h
/branches/team2/buildFoo.bat
/branches/team2/config.h
/trunk/foo/foo.c
/trunk/foo/foo.h
/trunk/foo/h/

At first glance, I like a lot about this idea.  It gives each team a single
directory to modify every configuration file.  It does not require any
Makefile changes, since even though configuration files are moved to new
locations, they are copied to their original locations before building.
That means we do not need to change our current build procedure, other than
to select the desired 'teamN' configuration.  Plus, it allows changes from
one team to be viewed by the other with a simple SVN Update (which is what
we want, AFAIK.  Could change tomorrow, who knows? :).  I've elaborated a
bit beyond your suggestion with the team select script, I know, but does
this seem sane?

Please let me know if I have the right understanding.

Thanks,
Shaun

-----Original Message-----
From: Andrey Repin [mailto:anrdaemon@freemail.ru] 
Sent: Thursday, September 10, 2009 6:04 PM
To: Shaun Pinney; users@subversion.tigris.org
Subject: Re: Multiple teams + Different Build Options + One Repository?

Greetings, Shaun Pinney!


> In-Reply-To: <E4...@ryandesign.com>
> References: <h8...@ger.gmane.org>
<7e...@mail.gmail.com>
> <h8...@ger.gmane.org>
<E4...@ryandesign.com>
> Subject: Multiple teams + Different Build Options + One Repository?

First and foremost, please start a new thread by writing a new message
instead
of linking deep into unrelated discussion.

> Quick question.  We have an SVN repository and are preparing to provide
> access to another development team.  An issue which has come up is our
> software has many build options controlled by a few scattered files and
each
> team needs different build options.  Can we provide both teams a way to
> checkout the latest source code, but with different build options?  I
think
> we should be able to reduce configuration errors by giving the right build
> options to the right team automatically upon checkout, compared to a
manual
> approach of everyone editing on each checkout.  Is there a clever solution
> for this (e.g. svn:externals)?  Thanks for any advice!

If you need a different building scripts, I think it would be better to
branch them for every team, unless it is possible to maintain a single
script
that automatically configure itself for the environment it running in.


--
WBR,
 Andrey Repin (anrdaemon@freemail.ru) 11.09.2009, <5:00>

Sorry for my terrible english...

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=23
93480

To unsubscribe from this discussion, e-mail:
[users-unsubscribe@subversion.tigris.org].

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2393503

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: Multiple teams + Different Build Options + One Repository?

Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Shaun Pinney!


> In-Reply-To: <E4...@ryandesign.com>
> References: <h8...@ger.gmane.org> <7e...@mail.gmail.com>
> <h8...@ger.gmane.org> <E4...@ryandesign.com>
> Subject: Multiple teams + Different Build Options + One Repository?

First and foremost, please start a new thread by writing a new message instead
of linking deep into unrelated discussion.

> Quick question.  We have an SVN repository and are preparing to provide
> access to another development team.  An issue which has come up is our
> software has many build options controlled by a few scattered files and each
> team needs different build options.  Can we provide both teams a way to
> checkout the latest source code, but with different build options?  I think
> we should be able to reduce configuration errors by giving the right build
> options to the right team automatically upon checkout, compared to a manual
> approach of everyone editing on each checkout.  Is there a clever solution
> for this (e.g. svn:externals)?  Thanks for any advice!

If you need a different building scripts, I think it would be better to
branch them for every team, unless it is possible to maintain a single script
that automatically configure itself for the environment it running in.


--
WBR,
 Andrey Repin (anrdaemon@freemail.ru) 11.09.2009, <5:00>

Sorry for my terrible english...

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2393480

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].