Code: Select all
/branches => Individual client installations copied from a version snapshot
/trunk => main line development
/tags => Version snapshots assumed bug free & stable
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