This is one of the problems with CVS - there's no way of moving files or directories around that doesn't somehow suck. The easiest way in this case would be
- copy (not move) the directories in the repository back to where they came from
- do a full update in a -HEAD checkout, there should now be copies of these packages in both the old and new locations
- use "cvs rm" to delete the files and directories from the old locations in the checkout
This will fix the revision history, but for 4.x releases also leave a second copy of these packages in the obsolete directory. To remove these, use "cvs tag -d
tagname" to delete all the existing non-branch tags from the copies in the new location.
Relevant section of the CVS manual is at http://www.cvshome.org/docs/manual/cvs-1.11.7/cvs_7.html