I want to start contributing to the Citadel project as a developer, but I
want to understand the developer process for submitting changes and testing. 


I have been using Citadel as a small business server for a few years now and
have fixed bugs and limitations and also added a few features for my own use
over time.  

I don't want to start committing code and find out that I should have been
doing it a different way or break anyone's development.  Is there any
document covering how-to and best practices?  

If not, here are my initial questions:  

Git  

  I have never used git before, but have cloned down the source and did a
little reading.  I think all I need to do is git add my changes and then
commit.  What is the best practice?  Create branches?  Doesn't matter?  

  Do you have an example commit command so I know all the options that I
should be using.  Any standards?  

Testing  

  Is there any test suite for Citadel?  I do my own testing, but I mainly
support Outlook and IMAP, so I am not sure how to test for regression in
other protocols and clients.  

  How are committed changes tested before release?  

New Features  

  If I have an idea for a new feature, how do I find out if you want it
implemented and the best way to integrate?  

    Example: I implemented Flagging in IMAP by expanding on the Visit
structure.  

    Example: I expanded aliasing to allow users to use email addresses
appended by anything to go to their account without explicitly adding an
alias (e.g. User is myacct.  Email like myaccts...@example.com,
myacctb...@example.com, etc will be redirected to myacct).  Has been very
useful for anti-spamming and identifying who gave away/lost and email
address.  Supported sending using the alias also.  

 

Reply via email to