Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Forking Eclipse ICE
This page describes the process for creating a fork of the ICE project. These instructions assume a basic familiarity with Git and that you have a GitHub account. Forking ICE will create a copy of the entire repository that you may edit. Then, if you propose new content or bug fixes, you can submit a pull request that could be added back to the main ICE project.
Creating the Fork
Go to the GitHub ICE repository and log in to GitHub. Press the "Fork" button in the upper right hand corner of the page, as shown above.
Cloning the Fork Repository
Follow the instructions for cloning the Git repository, but instead of https://github.com/eclipse/ice.git, use https://github.com/[your username]/ice.git as the URI. Now you will be able to make commits and push your changes to your own fork repository on GitHub.
Pulling from the Master Branch
Now you have ICE and a local repository on GitHub. Unfortunately, your new forked repository will not automatically synchronize with the master ICE repository. Git needs to be set up to fetch the changes from master so that your repository stays up to date. First, open a terminal window. Navigate to the directory where ICE is stored locally. (You should have made a local clone somewhere in the previous step.) Enter
git remote add upstream https://github.com/eclipse/ice
This will set up git to fetch any changes to the ICE main repository. To synchronize your forked repository with main, enter
git fetch upstream git checkout master git merge upstream/master
Now your copy of the repository will stay up to date without losing any of your unique changes.
In Eclipse, this can be done by expanding your repository in the Git Perspective, right clicking on Remotes, and selecting Create Remote....
Give the new remote a name and select Configure fetch.
Press the Change... button in the upper right to set the URI. Use the URL for the GitHub ICE repository, as shown below.
Save your changes. From now on, you can fetch the latest changes from the master branch by right clicking your repository in the Git Perspective and selecting Fetch from Upstream or by right clicking your project in the Package Explorer and selecting Team > Fetch from Upstream.
Issuing Pull Requests
First, commit your changes to your branch by right clicking your repository in the Git Perspective and selecting Commit, or by right clicking your project in the Package Explorer and selecting Team > Commit. Write a message describing your changes and press the Add Signed-off-by button in the upper right if your default preferences do not already append this text. Then, select all the files whose changes you wish to commit and press the Commit and Push button.
In order to contribute to Eclipse, you must sign a Contributor License Agreement. If you have not already done so, go to the Eclipse Projects Forge, create an account if you don't already have one, and click on the Eclipse CLA link in the upper right. The email address used in this account must match the email used for the commit.
Once you are ready to submit the pull request, return to GitHub. From your repository page, http//github.com/[your username]/ice, go to the Pull requests link on the right, and click the New pull request button.
This will bring you to a page listing all the changes you have made compared to the code in the up to date master branch.
Press the Create pull request button to open a dialog box with the commit message you wrote when committing to your branch. You may edit this message before submitting it to the master branch's owner for review. When done, press the Create pull request button again to submit your changes for consideration.