I want to manage a solution with multiple project and put each of them in their own repository structure(branches/tags/trunk). I have a project Test1 and i commit it to its own repository:
trunk
Test1
Properties
Class1.cs
Test1.csproj
Test1.sln
I have a another project Test2 and i commit it to its own repository and Test2 depends on Test1.I use svn:enxternals to make a reference to Test1 in Test2,and then in Visual Studio right click on solution Test2 and then Add-> Existing Project ,add Test1.
branches/
tags/
trunk/
Test2/
Properties/
Class2.cs
Test2.csproj
Test2.sln
svn:externals Test1 https://mydomain/Test1/trunk/Test1
And i have a another project Test3 that depends on Test2:
branches/
tags/
trunk/
Test3/
Properties/
Class3.cs
Test3.csproj
Test3.sln
svn:externals Test2 https://svn/Test2/trunk/Test2
and then do the same as Test2.
But when i add Test2 project to Test3,depencecy of Test2 project(Test1) does not exists,and then i got error when i want to build Test3.
In order to resolve this issue i use following sv:externals commnad in Test3 repository :
svn:externals Test2 https://mydomain/Test2/trunk
but when i update Test3 solution the following structure appears in Test3:
Test3/
Properties/
Class3.cs
Test3.csproj
Test2
Test2/
Properties/
Class2.cs
Test2.csproj
Test1
Properties/
Class1.cs
Test1.csproj
Test2.sln
Test3.sln
But this not ideal approach because i only want Test1 dll checked out not Test1 project,and in order to build Test3 we must first build Test1 project that resides in Tes3/Test2/Test1/Test1.csproj and then build Test3/Test2.sln.
What is the best approach to resolve this issue?