This weekend I got my first CVS submission to Drupal accepted. It's the aforementioned CCK Field Definitions module, available here.
With this, I am officially an initiated drupaler, but first I had to get it actually committed to the repositories.
I'm not too well versed in CVS. I don't think anyone is. There was so much information on the Drupal website that it was actually dizzying. I read page after page in the CVS section of the Drupal handbook until I stumbled upon the CVS reference guide for module maintainers. This guide walked me through actually creating the CVS folder and committing my first version of the module. It's a step-by-step guide that solves all your problems for committing a module for the first time.
Notice I said for the first time.
I spent the better part of a day trying to figure out how to update a module to create a new release. Maybe I did it wrong. I started using Eclipse, thinking that, since Eclipse has such a good CVS integration, it will all work out of the box. Wrong. Good thing I read in some blog which I cannot remember that you cannot use Eclipse to create a new branch to commit an updated version of your module...or something like that. Which was a good thing, otherwise I would still be trying to do it with Eclipse.
I ended up committing a new version which was exactly like the previous one. With an official release and all. Crap. Good thing no one uses this module.
Two identical commits later I got it working: by using the command line. Still. If I were asked to do it again, I would punch a kitten.