Please everyone refer to the various discussions of manually manipulating the cvs directory. Two I remember are:
https://openacs.org/forums/message-view?message_id=128240
https://openacs.org/forums/message-view?message_id=133113
It's a pity that cvs has such a major limitation. At my current client I have been using IBM Rational ClearCase for source control. It has it's own quirks, but being able to move files and trees around at will has made me realise how rigid cvs can make us.