Tilmann, I think your problem is that you used the 4.6 branch the
wrong way, or at at least thought about the wrong way. The "oacs-4-6"
tag is the
branch tag, so if you cvs update to that, you're
saying, "Give me the very latest development on the 4.6 branch, the
stuff which will eventually become a 4.6 point release." This is
presumably more stable than cvs HEAD, but there is absolutely no
guarantee of that. And you could always be really unlucky and get the
first half of a developer's two cvs commits which need to go together.
If you want stability, you need to use a specific release,
like 4.6, 4.6.1, 4.6.1 beta1, 4.6.2, etc. The "oacs-4-6" cvs tag is
not a specific release. The cvs tags "oacs-4-6-final",
"oacs-4-6-1-b1", and "oacs-4-6-1-b2" are.
Of course, it's quite true that there might be a very bad bug in, say,
"oacs-4-6-1-b2", which someone has fixed on the "oacs-4-6" branch but
not yet tagged for release. And in that case, the tip of the branch
will in one sense, coincidentally, be more "stable" than the last
tagged release - it will work better. But that's an accident, and far
from guaranteed. By design and common sense, any released version
should be more "stable" than source code that's a moving target. And
the tip of any branch, be it the head or the 4.6 branch, is always a
moving target. The only difference between head and oacs-4-6, is that
oacs-4-6 is probably a much slower moving target than the head.