Page 1 of 1

SVN practice branching project

Posted: Mon Nov 30, 2009 9:17 am
by alex.barylski
I'm working with single project but have many clients...each client usually requires tweaks, etc so our SVN is setup as standard:

Code: Select all

 
/branches => Individual client installations copied from a version snapshot
/trunk => main line development
/tags => Version snapshots assumed bug free & stable
 
Each branch made (as already said) is a copy from a version from 'tags'.

Currently were only using 'trunk' as for some reason, the above suggest practice didn't work but I hope to change this as it makes clear sense to me, but we shall see.

Changes made to a client branch which only apply to client web sites are never merged but changes made to the core might need be merged with the 'trunk' and other 'branches' -- for example a security hole is fixed in the base system while tweaking a client web site would best be merged with all branches and trunk so it eventually makes it into 'tags' as a update or similar.

Ideally the software would be structured in a fashion that base system could be separate from client tweaks but this is not the case, so I wonder if SVN has a feature to ease merging (other than TortoiseSVN, WinMerge, etc).

Something like externals where a change made to the core is applied to the base and by nature of externalizing, applied instantly to all client branches.

Is there any way to achieve this (short of factoring file structure to facilitate this) or do we just do merges manually?

Cheers,
Alex