How do I track and manage the dependencies of software modules under version control?
I am building several websites, each of which uses a particular Apache configuration, particular Django code, a shared Python library, and some shared Javascript. For each site these pieces are interdependent -- if the server code changes, the Javascript might change with it, or vice-versa.
I could put the whole thing under one project, but this seems unwieldy. But if I put them under separate projects, then I have to track the elements' dependencies by version. "DjangoStuff v. 14 works with JavascriptStuff v.20, but not v.21. JavaScriptStuff v.21 works with DjangoStuff v.15."
What is the best approach here? I'm using Subversion. (I've heard rumors that it's no longer cool, but it's meeting my needs and I'd prefer to stick with it for now.)