Search code examples
visual-studiotfsbranchbranching-and-mergingbranching-strategy

Branching solution


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


Solution

  • 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.