Mail Services Patches
Getting R/W access to the JBoss repository requires demonstration of basic CVS competency and an overall commitment to the project as well as demonstration of non-evil intentions. Revocation happens after 6 months of non-activity or demonstration of evil intentions. Obvisously you have to start somewhere. Where you start is as a patch submitter. After your first submission to Mail Services, you are considered "one of us". Meaning when someone says "when you get Exchange functionality" the "you" includes you! The few, the proud, the Mail Services for JBoss developers.
How to submit a patch
Patching is easy. Grab MailServices from CVS. Submit any new files that you have created in a zip file preserving directories relative to the jboss-mail directory. Create a patch for the rest with "cvs diff -u > mypatch". Upload both here as an atachment and description of what it will do. Post on the Mail Services Forum that you've made the patch, who you are and why it should be applied.
New files (which cvs diff -u doesn't include) should be submitted in a DIRECTORY PRESERVING archive (tar.gz is preferred but zip and tar.bz2 is acceptable) relative to the jboss-mail directory. If there are diffs accompanying, the patch diff file should be in the jboss-mail directory of the directory preserving archive. I should be able to apply a patch by typing: cd jboss-mail; unzip patch.zip; patch -p 0 -i patchfile.txt.
Patches with junit tests are preferred. In fact we may not commit patches that do not include junit tests/modifications until someone has time to write the test. Given that sometimes the unit test takes more effort to write then the feature with this type of software, unit test patches are MOST appreciated and get you WAY more brownie points and karma with us! (but remember we love you anyhow)
(To attach see the bottom of the page. To understand how the attachment links work, see the sample.)
How to apply a patch
Grab the patch from below. Grab a copy of the head. cd to the jboss-mail directory. For zips, unzip mypatch.zip and the files SHOULD be relative to here. For patches do "patch -p0 -i mypatch". This SHOULD work. You may have problems with illformed patches and CR/LF translation. If you don't know what to do in that event you must ask yourself: "If that person wasn't able to follow some simple instructions for creating the patch, do I trust their code enough to run it?" and if you find that you do or are willing to risk it you must ask: "If I don't know what to do then should I trust that I have enough experience and knowledge to make such a determination". Then go read this study.
Here are the patches: