As the team grows I am having these specifc problems:
- When a developer starts working on small changes, they cant see if another develoer has made changes to the same files as part of a alarger project on Dev or Dev and Test
- How to identify dependencies across files - we can see whiich files are include, but not easy to see all that include a given file. e.g If we change cls_datefunctions how to ID all the files that use it for testing
- How to package up changes to code (including multiple folders, includes etc) and SQL/MySQL scripts to move them quickly over from one server to another without errors
I have used Subversion, TortoiseSVN, TortoiseCVS , Microsft Source safe etc but none of them seem to solve these problems.
Although I haven't worked as part of a big team for ages I remember in the 90s the ancient pvcs was doing just what you asked for item-1. Are you saying the cvs is not sufficient for this? [nongnu.org...]
For the 2nd item I would say it depends on the framework architecture. Is that at runtime or buildtime you want to check?
For runtime an example, if I had a common functions file called functions.php and expect it to be used as a helper in various files I would replace the regular PHP control structure. So instead of: require_once('functions.php') I could use my_custom_require('functions.php'); And log the caller(s) accordingly.
For item-3 there are various open source package management systems some of which are cross-platform.