I'm working with visual studio and TFS and currently exploring the idea of branching and merging. To give a general overview of how I'm organizing one solution:
MySolution
- MyProject 1
MyProject1TestBranch
- MyProject 2
- MyProject 3
I have been playing around with this and created a test branch and have been testing merging changes between "MyProject 1" and "MyProject1TestBranch".
Is it a good idea to be merging individual projects in a solution like this? What if several projects share code from another project? OR should I be branching the entire solution to keep it simple?
If it's best to branch an entire solution, what are the advantages / disadvantages of doing so? Should I perhaps be looking at using a completely different strategy entirely?
Appreciate any feedback. I guess at this stage I'm just looking for some verification as to whether or not I'm heading in the right direction
There are usually links between projects within one solution, therefore I think create different branches within the same solution would make more problem then benefit, as you cannot reference your projects to the solution properly.
I would suggest you, to create branch from a unit, which has it's own application lifecycle (I usually call it "product"). And if it depends on other projects/solution, then handle it as an "external" dependency.
For branching strategies I can suggest the below articles:
On the other hand, creating a branch itself in most version control system does not require storage, so you cannot really save anything on creating branches from sub-products / projects.