We currently have a large solution in C# which is comprised of some 40 projects.
A second solution for another client is almost identical, and uses many of the same projects with some omitted, and some others included which are not present in the first solution.
To make code versioning more manageable, I would like to check in each project contained within the solution to SVN as individual projects, however none of the SVN clients I have tried seems to support this without manually adding each project in turn.
The desired outcome is :
1) Open the solution for Client A, and make changes to a common project 2) Commit the changes, then close the solution. 3) Open the solution for Client B. The changes made in '1' are available in Client B solution. 4) Make changes to a project specific to client B. When these are committed, the changes from '1' are not shown up as pending.
I have tried AnkhSVN, and VisualSVN, but in both cases, selecting projects and running Add selected projects to Subversion
gives me the option to add the root solution, but not the projects individually.
The closest I have managed to get is with Tortoise, but that involved adding each project manually which is not a feasible option for so many source projects.
EDIT: As suggested, using a common solution and two separate client specific solutions would resolve the issue of committing the code to SVN, but would require compiling against DLLs which would have to be compiled ahead of time.
We did experiment with this approach initially, but due to issues with VS not correctly reloading DLLs sometimes, we had issues with debugging.
I'm not certain whether it is possible to add projects this way using an automated process, but would welcome suggestions before I bite the bullet and write some code to do it.
Many thanks.