We are in the process of migrating our Visual Source Safe 2005 Database to TFS 2010.
I'm wondering what's the best strategy for us, based on the actual use of VSS. Whe are a team of 10 developpers with some of them working on the whole project tree. The others are limited to severals sub projects.
The Basic Branch Plan seems perfectly fine because this is exactly what we do right now from the customer perspective (One major relase, hotfixes included in the next major realease). We're currently using VSS to share a lot of C++ code between
native projects, mostly sharing, sometimes branching, .cpp and .h files. On the other end, we took another approach for managed projects source code (c#). Code is no longer shared for obvious reasons, we chose to share binaries with the assistance of
disk folders. Labels are used in both cases to track versions of the final binaries (native and managed) in order to produce hotfixes for customers.
Our Source Safe database structure is basically the following :
$/Shared Tools/Domain Projects1...N with .h/.cpp source code only (no projects/solutions files). Domains are "registry" or "file" for instance, providing reusable C++ classes that encapsulates the corresponding operations...
$/Product 1...N" with Visual Studio solution files.
$/Product 1...N/Module 1...N with Project Files, Shared .h/.cpp files from $/shared tools sub projects and local files.
$/Shared Tools/Domain Projects1...N with c# source code and a project file to produce the binaries that are copied to shared folders on disk. We have an ASP.NET Profile provider assembly for instance.
$/ASP.NET Web Site 1...N with project file and c# source code.
The disk structure for shared libraries (managed/mixed) is like the following:
The best practives for development is to always get the latest versions of all files for C++ projects. Managed projects have a file reference to the binaries on disk. Having up-to-date bits is ensured that way.
My main concern right now is to be able to provide easy C++ code sharing the way we do it in VSS (no manual complex operations/automated operations).
Any help appreciated.