I read tons of docs and forum on the subject, need some help to clarify things now.
Here's my current SVN repo structure:
trunk/ Build/ Projects_VS2010/ Solution.sln Engine/ Plugins/ Tasks/
We'll be changing from Svn to Hg along with moving to open source. Yet there are projects in the solution that cannot be open sourced.
Best I came up with for now is that structure:
Private/ Build/ Solution_internal.sln Libs/ Plugins/ Public/ -- nested repo, .hgsub content: Public = path_to_repo Build/ Solution_public.sln Bin/ Engine/ Plugins/ Tasks/ Libs/
Do you think it's a sound structure? Every project would output in the Public/Bin directory, which is not under VC.
Keeping on testing nested repository behavior in the meantime here.
Looks good to me. I guess that's pretty much the only possible way to do this.
I hope that the public part of the project can actually be used without the private part?
Otherwise open sourcing would make no sense.
(Okay, at least everybody would be able to read the code of the public part, but if it doesn't work without the private part, reading the code without having the code of the private part probably doesn't make much sense either)