[[[
You'll probably need customize this heavily for the particular person
you're offering partial commit access to.  Also, remember to replace
instances of "{AT}" with real "@" signs.  It's just masked in this
template to fool the spam address harvesters.
]]]

From: "Some Committer" <a.committer@wherever.example.com>
To: New Partial Committer <new.committer@wherever.new.committers.live>
Cc: svn-full-committers{AT}red-bean.com
Subject: Commit access for Subversion FROBLINGS area

Hi New Partial Committer,

The other committers and I would like to offer you partial commit
access for maintenance of the Subversion FROBLINGS area.  

If you already have partial commit access to another area, you can
accept this offer by simply replying to this mail.  We'll update the
COMMITTERS file (or you can do it yourself, that's fine too).

If you do not already have partial commit access, you can accept this
offer by forwarding a copy of this mail to svnadmin{AT}svn.collab.net,
and including in that message your tigris.org username and,
optionally, an htpasswd-crypted password.  (If you don't provide a
password, a temporary one will be chosen for you -- in either case,
you can change your password yourself later
<https://svn.collab.net/wpct/>.)  Once you are notified that your
account has been activated, you are encouraged to modify the
COMMITTERS file appropriately, which also serves as a test of your new
username and password.

Remember that you can still post patches for review before committing,
when you want to.  Commit access just means that you can rely on your
own judgement to decide when something is ready for commit.  Also, if
you haven't done so already, please read

   http://subversion.tigris.org/hacking.html

Thanks for all your work so far!

- Some Full Committer
