I've used CVS for a while, but until recently I've had a blank modules file. Previously, I've set largeish projects up as large directory trees all in one module. This has sometimes caused developers to complain about long build times because their code uses ../../lib/small and so they have to do "make" at top level in order to build their own stuff, but this also builds ../../lib/large and that takes a while. (In this scenario everything also depends on ../../include/*.h). So, in a completely separate project I've tried to prevent this problem by assembling the complete system by gluing together modules. Hence my modules file looks something like this:- ball-o-wax module1 module2 dbstuff module2 module2 &logging &conversion module1 module1 &logging &conversion Here, "logging" occurs as ball-o-wax/module1/logging and as ball-o-wax/module2/logging and the code is built into both module1 and module2. This means that the team developing module1 can just check out module1 and hack away, and that the team developing module2 can just check out module2 and hack away. When it's time to build the lot, we can just check out ball-o-wax and build that. I'm slightly uncomfortable with the multiple building of the "logging" and "conversion" modules. Do you think I've done this in a non-optimal way? Is there a better way, other than hoisting the common parts up the tree and forcing all the developers to check out ball-o-wax every time? Thanks for any thoughts. -- James Youngman Manchester, UK. +44 161 226 7339 PGP fingerprint <[EMAIL PROTECTED]> = 0C1CD7CA6633D2E914E05F16D52460E9
