I typically setup SVN to host 1 big project per repository but a lot of our infrastructure has changed and we now have one main SVN server that has a hierarchy like so
- Branches
- Tags
- Trunk
- Project1
- files & folders
- Project2
- files & folders
- Project3
- files & folders
- Project1
Projects1,2, and 3 do not share anything amongst themselves, they are independent projects each with their own solution file to be built.
I can setup projects in Hudson like so
- Repository Url: http://server/svn/MainRepository
- Local module directory (optional): /Trunk/Project1
And that will maintain a separate workspace for each project, but every time you commit to Project 2 or Project 3, a build gets kicked off in Hudson for every project based in that repository. Also, any commit made anywhere in the repository is pulled down and inserted into the Hudson changelog for all of them.
I know the easiest solution would be to simply separate every project into its own repository. However, if I couldn't do that due to various reasons, is there a feasible way to achieve the functionality that having separate repositories gets me?
I want commits to the sub folder of project 1 to only affect project 1. No other project's commits should cause project 1 to build and project 1's changelog in Hudson should only have commit notes from project 1.