Jump to: navigation, search

Difference between revisions of "Orion/Contributing Code"

m
m
Line 14: Line 14:
 
<br><br>[[Image:github-fork.jpg]]
 
<br><br>[[Image:github-fork.jpg]]
  
== Clone your repository ==
+
== Clone your GitHub repository ==
  
The next step is to clone your newly-created repository into your Orion environment, which is described in detail [http://wiki.eclipse.org/Orion/How_Tos/Cloning_repository_from_github here].  Once this is complete the orion.client and/or orion.server projects will be created in your Orion workspace, and are ready for hacking.
+
The next step is to clone your newly-created repository into your work environment.  For example, if you are planning to use Orion to develop Orion client-side code then you will clone the GitHub repository as described [http://wiki.eclipse.org/Orion/How_Tos/Cloning_repository_from_github here].  Alternatively, if you will be developing Orion server-side code then you will likely use Eclipse as your development environment, and either EGit or command-line Git for cloning your GitHub repository locally.
 +
 
 +
You can now load the retrieved project(s) from your cloned repository into your workspace and begin hacking.  For more info on developing Orion see the [http://wiki.eclipse.org/Orion Development Resources] section.
  
 
== Commit your changes ==
 
== Commit your changes ==
  
Once your changes are ready for submission, you first commit them to the Git repository in your Orion environment, and then push this repository to your Git repository on GitHub.  For more detailed information on using Orion's Git facilities see the [http://wiki.eclipse.org/Orion/Documentation/User_Guide Orion User Guide].
+
When your changes are ready for submission, you first commit them to your cloned Git repository, and then push this repository to your GitHub repository.  For more detailed information on using Orion's Git facilities see the [http://wiki.eclipse.org/Orion/Documentation/User_Guide Orion User Guide].
  
 
== Request adoption of your changes ==
 
== Request adoption of your changes ==

Revision as of 11:20, 12 January 2012

The Orion project welcomes code contributions from the public. This page details how to set up a work environment and submit code changes for review and inclusion by a committer.

Identify an opportunity

Bug fixes are the most common type of code contribution. For a list of currently-open Orion bugs see the Eclipse Bugzilla database. If a bug's Assignee is an "inbox" name (eg.- "orion.client-inbox@eclipse.org") then it has not been assigned to anyone yet, and is a good candidate for investigation. If you plan to fix a bug in Orion that does not already have a bug report then be sure to first log a report, and in the initial comment specify that you are investigating a fix for it. This report should be logged up-front so that if the bug is not one that should be fixed (for example, it is actually working as designed, its component is in the midst of a re-write, etc.), then a committer can add a follow-up comment indicating that the bug is not worth investigating.

New features/enhancements can also be contributed, but for these it is important that a committer comment in its bug report indicate that the feature is desirable. The potential for feature work in any project is limitless, but not all features are good fits, so a feature that was not pre-approved by a committer risks not being ultimately accepted.

Set up a Git repository

The first step is to establish a Git repository. The remainder of this page assumes that GitHub is being used to host your repository, since it is a well-established Git hosting service and the Orion repository is mirrored there. However using GitHub is not a strict requirement.

Once you have a user account on GitHub, start by creating forks of the https://github.com/eclipse/orion.client and/or https://github.com/eclipse/orion.server repositories. These repositories will initially contain the latest Orion code in their "master" branch, and will eventually receive your code changes for submission.

Github-fork.jpg

Clone your GitHub repository

The next step is to clone your newly-created repository into your work environment. For example, if you are planning to use Orion to develop Orion client-side code then you will clone the GitHub repository as described here. Alternatively, if you will be developing Orion server-side code then you will likely use Eclipse as your development environment, and either EGit or command-line Git for cloning your GitHub repository locally.

You can now load the retrieved project(s) from your cloned repository into your workspace and begin hacking. For more info on developing Orion see the Development Resources section.

Commit your changes

When your changes are ready for submission, you first commit them to your cloned Git repository, and then push this repository to your GitHub repository. For more detailed information on using Orion's Git facilities see the Orion User Guide.

Request adoption of your changes

Finally, on GitHub create a Pull Request for your changes, which creates a page similar to https://github.com/eclipse/orion.client/pull/9. Paste the link to your Pull Request into a new comment in the Orion bug report. It will then be up to a committer to review your change, ask questions, suggest improvements, etc. Once the change is deemed to be ready then the committer can add it to the Orion repository.

Github-pullRequest.jpg