You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by bu...@apache.org on 2014/07/03 22:26:58 UTC

svn commit: r914933 - in /websites/staging/mahout/trunk/content: ./ developers/how-to-contribute.html

Author: buildbot
Date: Thu Jul  3 20:26:58 2014
New Revision: 914933

Log:
Staging update by buildbot for mahout

Modified:
    websites/staging/mahout/trunk/content/   (props changed)
    websites/staging/mahout/trunk/content/developers/how-to-contribute.html

Propchange: websites/staging/mahout/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Jul  3 20:26:58 2014
@@ -1 +1 @@
-1605860
+1607741

Modified: websites/staging/mahout/trunk/content/developers/how-to-contribute.html
==============================================================================
--- websites/staging/mahout/trunk/content/developers/how-to-contribute.html (original)
+++ websites/staging/mahout/trunk/content/developers/how-to-contribute.html Thu Jul  3 20:26:58 2014
@@ -298,52 +298,56 @@ people don't. Putting your patch out the
 and possibly improve it.</p>
 <p><a name="HowToContribute-Gettingthesourcecode"></a></p>
 <h2 id="getting-the-source-code">Getting the source code</h2>
-<p>First of all, you need to get the <a href="/developers/version-control.html">Mahout source code</a>. Most development is done on the "trunk".</p>
+<p>First of all, you need to get the <a href="/developers/version-control.html">Mahout source code</a>. Most development is done on the "trunk".  Mahout mirrors its codebase on <a href="https://github.com/apache/mahout">GitHub</a>. The first step to making a contribution is to fork Mahout's master branch to your GitHub repository.  </p>
 <p><a name="HowToContribute-MakingChanges"></a></p>
 <h2 id="making-changes">Making Changes</h2>
 <p>Before you start, you should send a message to the <a href="/general/mailing-lists,-irc-and-archives.html">Mahout developer mailing list</a>
 (note: you have to subscribe before you can post), or file a ticket in  our <a href="/developers/issue-tracker.html">issue tracker</a>.
 Describe your proposed changes and check that they fit in with what others are doing and have planned for the project.  Be patient, it may take folks a while to understand your requirements.</p>
-<p>Modify the source code and add some (very) nice features.</p>
-<p>But take care about the following points</p>
-<ul>
-<li>All public classes and methods should have informative Javadoc comments.</li>
-<li>Code should be formatted according to the official <a href="http://www.oracle.com/technetwork/java/codeconventions-150003.pdf"></a>, with two exceptions:</li>
-<li>indent two spaces per level, not four</li>
-<li>lines can be 120 characters, not 80</li>
-<li>Contributions should pass existing unit tests.</li>
-<li>New unit tests should be provided to demonstrate bugs and fixes</li>
-</ul>
-<p><a name="HowToContribute-Generatingapatch"></a></p>
-<h3 id="generating-a-patch">Generating a patch</h3>
-<p>A "patch file" is the format that all good contributions come in.  It
-bundles up everything that is being added, removed, or changed in your
-contribution.</p>
+<ol>
+<li>Create a JIRA Issue (if one does not already exist or you haven't already) </li>
+<li>Pull the code from your GitHub repository </li>
+<li>Ensure that you are working with the latest code from the <a href="https://github.com/apache/mahout">apache/mahout</a> master branch.</li>
+<li>Modify the source code and add some (very) nice features. <ul>
+<li>Be sure to adhere to the following points:<ul>
+<li>All public classes and methods should have informative Javadoc
+comments.  </li>
+<li>Code should be formatted according to the official
+<a href="http://www.oracle.com/technetwork/java/codeconventions-150003.pdf">conventions</a>,
+with two exceptions:<ul>
+<li>indent two spaces per level, not four.  </li>
+<li>lines can be 120 characters, not 80.  </li>
+</ul>
+</li>
+<li>Contributions should pass existing unit tests. </li>
+<li>New unit tests should be provided to demonstrate bugs and fixes.</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>Commit the changes to your local repository. </li>
+<li>Push the code back up to your GitHub repository.</li>
+<li>Create a <a href="https://help.github.com/articles/creating-a-pull-request">Pull Request</a> to the to apache/mahout repository on Github.<ul>
+<li>Include the corresponding JIRA Issue number and description in the title of the pull request: <ul>
+<li>ie. MAHOUT-xxxx: &lt; JIRA-Issue-Description &gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>Committers and other members of the Mahout community can then comment on the Pull Request.  Be sure to watch for comments, respond and make any necessary changes.</li>
+</ol>
+<p>Please be patient. Committers are busy people too. If no one responds to your Pull Request after a few days, please make friendly reminders.  Please
+incorporate other's suggestions into into your changes if you think they're reasonable.  Finally, remember that even changes that are not committed are useful to the community.</p>
 <p><a name="HowToContribute-UnitTests"></a></p>
 <h4 id="unit-tests">Unit Tests</h4>
-<p>Please make sure that all unit tests succeed before constructing your
-patch.</p>
+<p>Please make sure that all unit tests succeed before creating your pull request.</p>
 <p>Run <em>mvn clean test</em>, if you see <em>BUILD SUCCESSFUL</em> after the tests have finished, all is ok, but if you see <em>BUILD FAILED</em>, 
 please carefully read the errors messages and check your code.</p>
-<p><a name="HowToContribute-Creatingthepatchfile"></a></p>
-<h4 id="creating-the-patch-file">Creating the patch file</h4>
-<p>Check to see what files you have modified with <em>svn st</em>, add new files with <em>svn add src/.../MyNewClass.java</em></p>
-<p>Subversions "add" command only modifies your local copy, so it does not
-require commit permissions.  By using "svn add", your entire contribution
-can be included in a single patch file, without needing to submit a
-seperate set of "new" files.</p>
-<p>Edit the ''CHANGELOG.txt'' file, adding a description of your change,
-including the bug number it fixes. In order to create a patch, just type:</p>
-<p><em>svn diff &gt; MAHOUT-$issuenumber.patch</em></p>
-<p><em>$issuenumber</em> here should be the number of the JIRA issue the patch is
-supposed to fix. This will report all modifications done on Mahout sources
-on your local disk and save them into the ''MAHOUT-$issuenumber.patch''
-file.  Read the patch file. Make sure it includes ONLY the modifications
-required to fix a single issue.</p>
+<h4 id="dos-and-donts">Do's and Don'ts</h4>
 <p>Please do not:</p>
 <ul>
 <li>reformat code unrelated to the bug being fixed: formatting changes should
-be separate patches/commits.</li>
+be done in separate issues.</li>
 <li>comment out code that is now obsolete: just remove it.</li>
 <li>insert comments around each change, marking the change: folks can use
 subversion to figure out what's changed and by whom.</li>
@@ -353,24 +357,15 @@ subversion to figure out what's changed 
 <ul>
 <li>try to adhere to the coding style of files you edit;</li>
 <li>comment code whose function or rationale is not obvious;</li>
-<li>update documentation (e.g., ''package.html'' files, this wiki, etc.)</li>
+<li>update documentation (e.g., ''package.html'' files, the website, etc.)</li>
 </ul>
-<p><a name="HowToContribute-Contributingyourwork"></a></p>
-<h4 id="contributing-your-work">Contributing your work</h4>
-<p>Finally, patches should be attached to a ticket in our <a href="/developers/issue-tracker.html">issue tracker</a>.  If you are revising an existing patch, please re-use the exact same name
-as the previous attachment, Jira will "grey out" the older versions so it's clear which version is the newest.</p>
-<p>Please be patient. Committers are busy people too. If no one responds to your patch after a few days, please make friendly reminders.  Please
-incorporate other's suggestions into into your patch if you think they're reasonable.  Finally, remember that even a patch that is not committed is useful to the community.</p>
 <p><a name="HowToContribute-Review/ImproveExistingPatches"></a></p>
-<h2 id="reviewimprove-existing-patches">Review/Improve Existing Patches</h2>
-<p>If there's a Jira issue that already has a patch you think is really good, and works well for you -- please add a comment saying so.   If there's room
-for improvement (more tests, better javadocs, etc...) then make the changes and attach it as well.  If a lot of people review a patch and give it a
-thumbs up, that's a good sign for committers when deciding if it's worth spending time on the patch -- and if other people have already put in
-effort to improve the docs/tests for a patch, that helps even more.</p>
-<p><a name="HowToContribute-Applyingapatch"></a></p>
-<h2 id="applying-a-patch">Applying a patch</h2>
-<p>From the base directory (assuming that is where the patch is generated from), run:</p>
-<p>*patch [--dry-run] -p0 -i <PATH TO PATCH> *</p>
+<h2 id="reviewimprove-existing-pull-requests">Review/Improve Existing Pull Requests</h2>
+<p>If there's a JIRA issue that already has a Pull Request with changes that you think are really good, and works well for you -- please add a comment saying so.   If there's room
+for improvement (more tests, better javadocs, etc...) then make the changes and add a comment about them.   If a lot of people review a Pull Request and give it a
+thumbs up, that's a good sign for committers when deciding if it's worth spending time to review it -- and if other people have already put in
+effort to improve the docs/tests for an issue, that helps even more.</p>
+<p>For more information see <a href="http://mahout.apache.org/developers/github.html">Handling GitHub PRs</a>.</p>
    </div>
   </div>     
 </div>