Currently working on multiple projects that need to share internal libraries. The internal libraries are updated continually. Currently only 1 project needs to be stable but soon we will need to have both projects stable at any given time.
What is the best way to SVN internal libraries?
Currently we are using the 'just another folder' like so...
It causes a major headache when a shared library is updated for project1 and project2 is now dead until the parts that use the library are updated.
So after doing some research on SVN externals I thought of this...
trunk\project1\libs (external to trunk\libs @ some revision)
trunk\project2\libs (external to trunk\libs @ different revision)
I'm a little worried about how externals work with commits and not making library commits so complicated that I am the only one capable of doing it (mostly worried about branches with externals as we use them extensively).
On top of that we have multiple programming languages within each project some of which don't support per-project library directories (at least not easily) so we would need to check out on a per project basis instead of checking out the trunk.
There is also the 'vendor' style branching of libraries but it has the same problem as above where the library would have to be a sub folder of each project and is maybe a little to complicated for how little projects we have.
Any insight would be nice. I've spent quite a bit of time reading the Subversion book and feeling like I'm getting no where.