Can I preserve the sticky bit or set uid or set group id bit within the CVS Repository?
CVS has some code which attempts such things, as well as preserving some special files (symlinks, device nodes, etc.), but it was notoriously buggy and has been disabled for quite awhile. You can try enabling PRESERVE_PERMISSIONS in options.h and recompiling, but you’ll probably have to fix some bugs. The usual suggested work around is to set those bits as part of your build process, from your Makefile, for example.