Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 28 additions & 28 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,59 +22,59 @@ The project issues and source code are maintained in GitHub
Be sure to search for existing issues before you create another one. Remember that
contributions are always welcome!

### Setting up Git Hub account
### Setting up GitHub account

Create an account at github.com using the same email id used for eclipse account.
In case contributor already have an account add the email to your account using https://github.com/settings/emails
Create an account at github.com using the same email id used for your Eclipse account.
In case you, the contributor, already has an account, add the email to your account using https://github.com/settings/emails

Add github account id to contributor's eclipse account under social media links section.
If contributor is already a commiter in any of the projects, a mail containing invite to join
that project's github organisation will be received within 2 hours. The contributor should accept the invite
to maintain committer status in the github organisation
Add the GitHub account id to the contributor's Eclipse account under the social media links section.
If the contributor is already a committer in any of the projects, an email containing an invite to join
that project's Github organization will be received within 2 hours. The contributor should accept the invite
to maintain committer status in the GitHub organization

To create commits it is recommended to add ssh public keys to github account. This can be done using https://github.com/settings/keys
To create commits, it is recommended to add SSH public keys to your GitHub account. This can be done using https://github.com/settings/keys

### Create an Eclipse Development Environment

[![Create Eclipse Development Environment for PDE](https://download.eclipse.org/oomph/www/setups/svg/PDE.svg)](https://www.eclipse.org/setups/installer/?url=https://raw.githubusercontent.com/eclipse-pde/eclipse.pde/master/releng/org.eclipse.pde.setup/PDEConfiguration.setup&show=true "Click to open Eclipse-Installer Auto Launch or drag onto your running installer's title area")

### Recommended workflow

Recommended way of developing code is inside a fork of the man repository (see [Fork and pull model](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models#fork-and-pull-model) in the github documentation).
The recommended way of developing code is inside a fork of the main repository (see [Fork and pull model](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models#fork-and-pull-model) in the GitHub documentation).

Here are the steps:

1. Use the fork button available on the github repository page to create a forked repository under your github account.
2. If fork already exists, click of fetch upstream to get latest source code.
3. Clone the forked repository to eclipse workspace. Repository link can be found by clicking code button on the top right in "<> code" tab
1. Use the fork button available on the GitHub repository page to create a forked repository under your GitHub account.
2. If a fork already exists, click on "Sync fork" to get the latest source code.
3. Clone the forked repository to the Eclipse workspace. The repository link can be found by clicking the Code button on the top right in the "<> Code" tab
4. Create a local branch
5. Delevelop fix
6. Commit code changes to local branch. Make multiple commits if necessary as history can be retained.
7. Once the fix is ready, push the branch to origin(in this case forked repositoy)
8. Open forked repository page, switch to the branch where the fix is developed, a new option appears just below code button "Contribute" Click on this to open "Pull Request" also called PR.
9. Verify the branch information like contributing to master or contributiong to any other branch and list of commits. If every thing OK, please click on "Create pull request" button at the bottom right
10. Can add reviewers if necessary.
11. Any commits pushed to the devlopment branch(used to create PR) automatically gets added to opened PR.
12. Reviewer can review PR on the github portal itself or fetch the PR using egit menu "Fetch github PR"
13. All PRs will get verified for eca and PR validations(same as gerrit validation)
14. Once the PR is approved there two options to merge. Can select either of these based on the requirement the following are recommendations only. Need to select based on the requirement
* Rebase and Merge (retains commit history from PR useful in developing a feature)
* Squash and Merge (All commits in PR gets squashed in to a single commit useful in bug fixes)
15. Once PR gets merged the development branch used for the PR can be deleted.
5. Develop fix
6. Commit code changes to a local branch. Make multiple commits if necessary as history can be retained. ***Note: Before committing changes, if you are a non-committer, refer to the Eclipse Contributor Agreement in the following section***
7. Once the fix is ready, push the branch to origin (in this case, the forked repository)
8. Open the forked repository page and switch to the branch where the fix is developed. A new option should appear just below the code button "Contribute". Click on this to open "Pull Request", which is also referred to as PR.
9. Verify the branch information (e.g. whether you are contributing to master or any other branch, list of commits). If everything is OK, please click on the "Create pull request" button at the bottom right
10. If necessary, you can add reviewers.
11. Any commits pushed to the devlopment branch (used to create PR) automatically gets added to the opened PR.
12. A reviewer can review the PR on the GitHub portal itself or fetch the PR using egit menu "Fetch github PR"
13. All PRs will get verified for ECA and PR validations (same as gerrit validation)
14. Once the PR is approved there are two options to merge. You can select either of these based on the requirement; the following are recommendations only. Select an option based on the requirement
* Rebase and Merge (retains commit history from PR, which is useful in developing a feature)
* Squash and Merge (all commits in PR gets squashed into a single commit, which is useful in bug fixes)
15. Once the PR gets merged, the development branch used for the PR can be deleted.

Commit message recommendations

\<issue title\> \#\<issue number\>

Example: The eclipse-test-framework deliverable contains unsigned bundles \#32

Again this is a recommendation on the issue title part. Instead of issue title, if needed provide a concise description of changes.
Please do not forget to add issue number to the commit message. This is used to link with github issue.
Again, this is a recommendation on the issue title part. Instead of an issue title, if needed, provide a concise description of changes.
Please do not forget to add the issue number to the commit message. This is used to link with the GitHub issue.


## Eclipse Contributor Agreement

Before your contribution can be accepted by the project team contributors must
Before your contribution can be accepted by the project, team contributors must
electronically sign the Eclipse Contributor Agreement (ECA).

* https://www.eclipse.org/legal/ECA.php
Expand Down