version control - Pros and cons of different strategies to managing shared resources in TFS 2012 -


background

according visual studio alm rangers, there 2 major approaches sharing resources (e.g. common libraries used in many separate products) in tfs 2012:

  • workspace mapping, setting workspaces point appropriate version of each required library , product.
  • shared folders, using branch/merge , update shared resource

at glance, shared folders seems way go, client working has experienced lot of problems approach in starteam, , reluctant try again in tfs. in process of assisting client migrating starteam tfs.

i have listed pros , cons each approach, uncertain if have missed something.

workspace mapping:

  • simple setup , understand
  • easy test library change in several products
  • easy latest changes in library, , submit changes library
  • no tracability, or @ least less tracability, e.g. if change in library introduced in product a, how track change in product b
  • changes in libraries may affect products in uncontrolled manner
  • build gets more complicated
  • each user must set his/her workspace individually (but there workspace templates in tfs 2012 power tools)

folder mapping:

  • everything needed configured in given branch
  • isolation between products , branches
  • builds simplified
  • more control of changes
  • requires more disk space
  • requires more administration in form of branching/merging , setup of branches

one particular problem how test library changes in several products. understand require testing in product a, reverse integrate library , forward integrate product b, test product , on.

conclusion, , final question

the client has used similar workspace mapping in starteam 10 years, , plan continue use approach in tfs. although have problem keep track of library changes affects several products.

they afraid folder sharing messy , complicated.

my question is, have missed in list above? there more reasons why organisation not should use workspace mapping, or why should use folder sharing.


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -