in reply to Wondering how to manage cpan modules from within svn projects

I followed this philosophy for the past year building a platform:

The parts break down into three major categories:
  • our code
  • modules/classes (written in-house, not offered by our OS vendor)
  • 3rdparty items (written outside of our shop, not offered by OS vendor, language independent)

    And this was guided by:
  • our repo containing code should never be mixed with other OPC (other people's code:)
  • our in-house libs/classes should be kept in a dedicated repository easing our ability to release these tools publicly back out into the community
  • addition of 3rdparty or modules would be approved by the Sr Architect after rounds of testing/approval

    Therefore what I came up with was that each of these categories would have its own Subversion repo, and that the group of 3 repos make up the entire "project". There are also requirements for modules (not written in-house, installable in the OS via packaging system), which are kept in a Name/Version list; these are not in a repo.

    My build and deployment system tracks/deploys these parts together for a "release" whose manifest includes the current revision number from each repo.

    -Harold