Contribute a fix to Pharo - maxbareis/pharo GitHub Wiki
This tutorial shows how to contribute to Pharo using Iceberg. For more information about Iceberg, check its wiki in here.
A Pharo TechTalk shows the whole process for two simple issues: TechTalk Recording.
The recommended way to download Pharo is to use the Pharo launcher, which you can get from http://pharo.org/web/download
See Install Pharo
All changes you'll do will be versioned in your own fork of the pharo repository. Then, from your fork you'll be able to issue pull requests to pharo, where they will be reviewed, and luckily, integrated.
Go to pharo github's repository and click on the fork button on the top right. Yes, this means that you'll need a github account to contribute to pharo, yes.
To be able to access github from Iceberg you need to adjust some settings in your image
If you haven't done already during the initialization of Github you should now prepare your repository to be a starting point for your contributions. Make sure you use the forked project for checkout
Repair repository
To speed up the initializaton process when fixing new issues you create a branch as starting point for every development. You can merge the pharo-project with your fork from time to time and then merge the master into your base branch to make sure that you have the actual sources. But you shouldn't mingle your local pull requests. That's why you create a base branch as basis for your issue-branches.
Now everything is setup and we can start with the actual work. There are two entry points for contribute your work to pharo. As first option you may find a bug in Pharo while working your daily stuff. You will then check the issue tracker if there is already an issue with the same bug. If not you will create one and go back to your pharo-issue-fixing-image to make the change. See Create Issue for a description of this process.
As second option you may search the issue tracker to fix an issue created by someone else, who maybe wasn't able to fix by oneself.
With both options you continue by fixing the issue and proposing a pull request in the pharo-project/pharo repository See Fix Issue and Propose Pull Request for descriptions of the processes.
Once you made the pull request you need to wait until someone else approves the change and executes the pull. You should keep your issue branch as long as this has not happen, because there may be some adjustment requests by the approver and you need the branch to rework.
Now it is the moment of glory for the base branch. You just keep the issue branch as it is and check out the base branch to be able to create a new branch for a new issue. You may work on different issues at the same time without mingling them.
After the pull request of one of your tasks has been approved you should remove the branch from your repository. You also may refresh the base branch with the actual sources. See Refresh forked Repository
You also need to check if the issue was automatically closed or if you need to manual close it.