If there's a desire for it, Malte's suggestion sounds basically
reasonable, but there are some drawbacks.
If in your packages directory, you have package A checked out from one
CVS repository and package B checked out from another, doing CVS
operations withing either package A or B will work just fine, but
doing any operations across both package A and B at once
(e.g., "cvs -nq up") will not work. At least, it didn't work when I
just tried it.
The packages directory has a CVS/Root
file too of course.
Let's say that it points to repository-A, but package-B is checked out
from repository-B instead. Well, repository-A doesn't have any
packages/package-B
directory, so when CVS sees package-B,
it just silently skips it. The fact that
packages/package-B/CVS/Root
points to a different yet
valid repository makes no difference.
For any real site you'd already have vendor imported everything into
your own CVS repository anyway, so it doesn't matter there. What
about OpenACS developers doing stuff that requires co-ordinated change
across multiple packages? Malte says dotLrn CVS is set up that way
now, so re-factoring and moving code from dotLrn into OpenACS should
be a good test case. You guys who've done any of that, are you ok
with the way CVS has worked for you there?