Jack
Jack

Reputation: 133619

SVN branches a for common engine

I'm curious about the best practices involved into SVN branches management.

My situation is quite simple, up to now I have just the trunk branch which has my whole project. My aim is to have a common shared engine (which is almost the whole actual trunk branch less some files) and create some separate branches which will represent the same project but built with different IDEs for different platforms.

These different branches should share the engine while having small changes on the misc files involved (eg. the project file that will have completely different formats or parameters). So this common part is committed on just one branch without caring from where changes are made, while indipendent files are just kept separated.

I studied a little bit about SVN branches but it seems like the only feature related to branches is to svn copy file and folders. This will replicate a branch but it seems like that the same file will be separated from now on in two different branches without having implicit updates if file is considered taken from the "shared part".

How should I manage the problem I'm trying to solve with SVN? It's not clear if subversion can manage this thing easily but I'm not seeing how it should do it or if it's something for which SVN is not practically used, so that I should change my scm to something else..

Any advice would be appreciated, thanks!

Upvotes: 1

Views: 94

Answers (2)

Lazy Badger
Lazy Badger

Reputation: 97355

If CORE and IDE files can be separated to different folders and have independent changes (i.e for each IDE you have not change anything in CORE):

  • Separate CORE and use it as svn:externals (single, common, shared resource) in IDE-branches (or in repository-per-IDE)

Upvotes: 1

thecoshman
thecoshman

Reputation: 8650

This is not the right way to use branches.

If you have an engine, let it stay in one the trunk VERSION under a FOLDER 'engine' then have separate folders for separate IDEs specific files.

Don't forget, you don't have to check out the entire repository. You can jsut check out the engine folder and the folder

It looks like you might mean that you want to have different versions of files for different IDES, I will have to think about this and get back to you

Upvotes: 1

Related Questions