You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Tremal Naik <tr...@gmail.com> on 2006/11/17 12:14:56 UTC

When is a branche necessary?

Hello,
we've recently switched to Subversion a Version Control, we where
using Source Safe before...

The project in SS was organized as a main line of developement with
all our source code (the "trunk") and some different projects for the
different clients with only the small changes in the few configuration
files. So, no source code in those "branches", only a few conf files.
This was really useful because we were able to develop in the "trunk"
only and at build time a script was building code on the trunk and at
the end it overwrote the conf files with the client's before packaging

Now I moved the main project into the newSvnProject/trunk/src and then
I created the different branches for the clients:

newSvnProject/branches/ClientA/src...
newSvnProject/branches/ClientB/src...

I switched to those clients in turn, overwrote the few conf files and
committed. OK

But now, I have to remember to syncronize my branch with the trunk
changes before I build the code for, say, client A. Isn't this a
complication? It is a waste of time, because a developer must manually
merge the changes before a build. How do you solve this? Can I
automate the process somehow? Another idea would be: build on the
trunk always and then include the configuration files from the branch,
but it looks different form the suggested use case.

thanks for your suggestions
-- 
TREMALNAIK

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: When is a branche necessary?

Posted by Erik Huelsmann <eh...@gmail.com>.
On 11/17/06, Tremal Naik <tr...@gmail.com> wrote:
> Hello,
> we've recently switched to Subversion a Version Control, we where
> using Source Safe before...
>
> The project in SS was organized as a main line of developement with
> all our source code (the "trunk") and some different projects for the
> different clients with only the small changes in the few configuration
> files. So, no source code in those "branches", only a few conf files.
> This was really useful because we were able to develop in the "trunk"
> only and at build time a script was building code on the trunk and at
> the end it overwrote the conf files with the client's before packaging
>
> Now I moved the main project into the newSvnProject/trunk/src and then
> I created the different branches for the clients:
>
> newSvnProject/branches/ClientA/src...
> newSvnProject/branches/ClientB/src...
>
> I switched to those clients in turn, overwrote the few conf files and
> committed. OK
>
> But now, I have to remember to syncronize my branch with the trunk
> changes before I build the code for, say, client A. Isn't this a
> complication? It is a waste of time, because a developer must manually
> merge the changes before a build. How do you solve this? Can I
> automate the process somehow? Another idea would be: build on the
> trunk always and then include the configuration files from the branch,
> but it looks different form the suggested use case.

If you're new to branching, I can suggest "Software Configuration
Management Patterns" by Brad Appleton e.a. It explains your question
and others really nicely.

HTH,

Erik.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: When is a branche necessary?

Posted by Miha Vitorovic <mv...@nil.si>.
Hi Tremal,

I think in your case svn:externals would be best suited. But you would 
have to reorganize the code a little (becausesvn:externals only work with 
folders):

You would have to separate the source code from the conf files. Then you 
would do all your development on the trunk, with your default conf files. 
For the clients you would create branches with only the conf files, and 
svn:externals pointer to the code from the trunk. Please read the svn book 
on how to use svn:externals. Also test things out before doing anything.

That way, if you run update on the branch, it gets the latest version of 
the code from the trunk, but you would not be able to change the sorce 
code from the branch. It would have to be done on the trunk.

Best ergards,
---
  Miha Vitorovic
  Inženir v tehničnem področju
  Customer Support Engineer

   NIL Data Communications,  Tivolska cesta 48,  1000 Ljubljana,  Slovenia
   Phone +386 1 4746 500      Fax +386 1 4746 501     http://www.NIL.si

"Tremal Naik" <tr...@gmail.com> wrote on 17.11.2006 13:14:56:

> Hello,
> we've recently switched to Subversion a Version Control, we where
> using Source Safe before...
> 
> The project in SS was organized as a main line of developement with
> all our source code (the "trunk") and some different projects for the
> different clients with only the small changes in the few configuration
> files. So, no source code in those "branches", only a few conf files.
> This was really useful because we were able to develop in the "trunk"
> only and at build time a script was building code on the trunk and at
> the end it overwrote the conf files with the client's before packaging
> 
> Now I moved the main project into the newSvnProject/trunk/src and then
> I created the different branches for the clients:
> 
> newSvnProject/branches/ClientA/src...
> newSvnProject/branches/ClientB/src...
> 
> I switched to those clients in turn, overwrote the few conf files and
> committed. OK
> 
> But now, I have to remember to syncronize my branch with the trunk
> changes before I build the code for, say, client A. Isn't this a
> complication? It is a waste of time, because a developer must manually
> merge the changes before a build. How do you solve this? Can I
> automate the process somehow? Another idea would be: build on the
> trunk always and then include the configuration files from the branch,
> but it looks different form the suggested use case.
> 
> thanks for your suggestions
> -- 
> TREMALNAIK
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>