You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by Troy Howard <th...@gmail.com> on 2011/01/14 17:52:53 UTC

Contributing code

All,

Now that we've moved past the proposal stage and defined our Initial
Committers list, I'd like to address the topic of how to be a
Contributor to Lucene.Net.

Some quick things to note upfront about roles. Previously I made a
point of distinguishing between Contributors and Committers at ASF.
This was meant to help motivated individuals to decide what level of
commitment they wanted to make to the project. I did not intend to
suggest that there is a special status of being a Contributor. I
listed those who had come forward offering support in the proposal
mostly to show that the community around the project was vital with a
lot of motivated individuals. I hope that this wasn't interpreted as
implying a special status to those people, or implying that others,
not on that list, could not be contributors.

There is no special status of Contributor that someone must gain prior
to submitting code. Anyone can write and submit code patches at any
time. As soon as you have done that, you are a Contributor.

All code contributions to ASF projects follow the same pattern. First,
a JIRA issue is created for the patch, with a description of the
change, and with the patch file attached to it. A project Committer
will find the issue, review the patch, and commit to SVN (or reject
the patch and provide an explanation).


Here's a quick guideline to the process for committing code to Lucene.Net:


Step-by-Step Example
====================

Suppose I have downloaded the source code, and made a change to
'HelloWorld.cs'. Suppose I'm using TortoiseSVN.


STEP 1: Make a patch file

>From TortoiseSVN, right click on the changed file/files and select
'Create Patch' from the 'TortoiseSVN' context menu. Save it as
'HelloWorld.cs.patch'.


STEP 2: Create a JIRA Issue

Lucene.Net's JIRA issue track is located here:

https://issues.apache.org/jira/browse/LUCENENET

If you don't have account in JIRA, you can sign up easily (click
'Login' in upper right and from that screen, click 'SignUp')

Once you're logged in to JIRA, you can create a new issue in the issue
tracker. For code patches, use issue type 'Improvement' or 'Bug'.
Please describe the patch you made with enough information that
someone else can understand both the code and the reasons why you
patched it.


STEP 3: Attach patch file to the JIRA Issue

After creating the issue, attach the 'HelloWorld.cs.patch' file to the
issue. For large patches, you may want to compress the source code
into a zip file.


STEP 4: Committer will apply or reject patch

A Committer will find the new issue, review the patch and either
commit to SVN or reject the patch with an explanation. This often
involves a discussion in the comments for the issue. Please remain
engaged with the conversation to ensure the completion of the issue.
Perhaps only a small change needs to be made to the patch in order for
it to be accepted.

====================


An example of an issue that follows this process is here:

http://issues.apache.org/jira/browse/LUCENENET-331

I'd like to see a description of this process be available on the
project web page. I think this is a point of confusion for a lot of
would-be contributors.


Thanks,
Troy