The team I worked with decided to move away from svn towards git, which is a good thing I believe. I'm in charge of the migration and to re-structure the current svn layout.
What we currently have in svn looks like this :
/externals (external libs copyed there like cunit, etc.)
/include (public headers only)
/libA
/libB
/libC
/source (source and private headers)
/libA
/libB
/libC
/tests (tests projects)
/libA
/libB
/libC
When doing some research about git, I found out that a modular approach was preferred. So I came up with this structure :
/externals (repo externals.git)
/libA (repo libA.git)
/include
/source
/tests
/libB (repo libB.git)
...
However, I think this kind of breaks the modularity and the point of having different libraries IF they depend on each other (libB needs libA, libD needs libA and libC). You need to leave the scope of libB to add libA as a dependency.
Then should I add a "dependencies" folder to every libs and add them as submodule in there or should I keep the initial git layout?
What is the preferred approach here?
Thanks