Contributing Source Code to the LimeWire Project
As developers become familiar with the LimeWire code base and fix minor annoyances, it is natural wonder how to contribute code so that others can benefit from it. Your work can be incorporated into the release version of LimeWire in two easy steps. First, you will create a patch file, and then you will submit that patch to us.
PATCH CREATION
The patch should be created by "diffing" the original file(s) with the modified software file(s). For example:
diff -u Main.java.orig Main.java >> patchfile.txt
Note that diffing files is easy if one is working with code that is checked out of CVS:
cvs diff -BbuN Main.java >> patchfile.txt
Alternatively, you can use Eclipse to make a patch.
PATCH SUBMISSION
You can include your patch either in the forum or attach the patch in the Jira associated with your code patch.
Please provide a concise explanation of your work. Also, be sure to update your code to the latest version of the LimeWire code and make sure you didn't make any formatting changes just for the sake of formatting.
Patches need to go through a code review, so minimizing the differences between the latest code in CVS and your patch will make it much easier to get the code in the main line.
PATCH APPLICATION
You can apply a patch file by executing the following:
patch -p0 < patchfile.txt
Note that you need to execute this command in the appropriate working directory. This directory can be deduced from the first line of the patch file. For instance, if the first line reads:
Index: com/limegroup/gnutella/gui/GUIMediator.java
The file com/limegroup/gnutella/gui/GUIMediator.java must exist in the current working directory. Therefore, the patch must be applied wherever the gui module is checked out.

