Is there any way to add a file so that it is only checked out on the
tagged branch (when 'cvs checkout -r TAG thing' is done in a new directory)
and NOT available from the main branch (when 'cvs checkout thing' is done)?
Also, is there a one-step method of adding a file to a tagged branch?
'cvs add foo.c bar.c' only adds to the main branch; to get the files
included in the tagged branch, we had to do 'cvs tag -r TAG foo.c bar.c'
Yes. Switch to the branch with "cvs update -r <branch>". Then when
you type "cvs add foo.c" CVS will say "scheduling file `foo.c' for
addition on branch `<branch>'"