Well... I have to admit that I have not really looked too much into
the one and only one valid way of organising your project directories, but I guess I'm a little bit pragmatic about this issue.
What I meant with add the .cvsignore file itself to CVS is to put the .cvsignore file in the top of the working directory (AKA sandbox in CVS terminology), and check this one in to the CVS repository, so changes to what I want to ignore are tracked by CVS as well. No rocket science, but Works For MeTM.
While we are at this, if you want to be really flexible with directories and moving files around, CVS has many shortcomings. Maybe then you should look into one of the alternatives, like subversion (still in early development), bitkeeper (licensing issues?) or the Rational products (costing $$'s).
--
Cheers, Joe