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
>