Basically, since there’s no way to tell the cvs add command to recursively search and add files to CVS, you must utilize other utilities like find,grep, and xargs. For the sake of convenience, I’m going to basically quote directly from the above website (to save on clicks):

In summary, the find command is used to find the directories in the current working directory (.) and print them (-type d -print). The results are then piped into grep to remove any references to ‘CVS’ (-v CVS). These results are then piped into xargs where is executed for each result. This process is repeated for the files and then the changes are then committed to CVS (cvs commit *).

There are other recommended methods as well in the comments, like this one as well as this one (a MacOSX trick). I found that the already mentioned step works well, so that’s the one I’m going to suggest.

Related

Feel free to
donate if this post prevented any headaches! Another way to show your appreciation is to take a gander at these relative ads that you may be interested in: