|
First and foremost, you must be aware that the Pharo project only accepts code published under the MIT license. By publishing your code in the SqueakSource Pharo or PharoInbox repositories, you are agreeing to this condition. With that out of the way, here are the steps to submit your contributions: - Prepare a changeset with your changes. File it out. Important: Put your Full name instead of your initials, it will help up to contact you as it is often necessary. Do not use space and only alphabetical characters.
- Load your changes into a fresh image:
- Download the latest Pharo image from http://code.google.com/p/pharo/wiki/Downloads?tm=2.
- Launch the fresh image and load the latest updates by clicking on the ''load code updates'' button on the left flap.
- Important: Save the image at this point, so that you don't need to reload the updates when you test your changes.
- File in your changeset.
- There is two alternatives :
- Your modification affect only one package :
- Open the Monticello browser. You should see only one package marked as modified (with an asterisk before the package's name).
- Select your package-cache repository on the right hand pane.
- Save the package (click on the "Save" button). An mcz package will be saved in your cache. You will be prompted for a log message, type a useful comment.
- Your modification affect more than one package : you have to create a SLICE package in your package cache
- Open the Monticello browser. You should see one or more packages marked as modified (they have an asterisk before their name).
- Select your package-cache repository on the right hand pane.
- Create the new package (click on the ''+Package'' button). Name it SLICE-nameofchange, (e.g. SLICE-remove-isMorphic).
- Make all the modified packages (the ones with asterisks before their names) required by your SLICE package. To do this, right click on the SLICE package in the left pane and select ''add required package'', then select the package from the next menu. Repeat for all modified packages.
- Save the SLICE package (click on the ''Save'' button). An mcz package will be saved in your cache for the SLICE package and all the modified packages. You will be prompted for a log message for each one of them, type a useful comment for the first package, copy it and paste it on the others. Make sure to give the number of the issue your SLICE addresses in the comment.
- To prepare for the next step, quit the image without saving.
- Test your package in the clean image:
- Relaunch the clean Pharo image. If you didn't save the image after loading the updates, load the updates (I told you it was important!).
- Open the Monticello browser.
- Open your package-cache repository (select the package-cache in the right pane, click on the ''Open'' button).
- Load your package. If it loads without errors, you are ready for the next step. If there are errors, try again, or ask for help in the mailing list.
- Publish the package to PharoInbox SqueakSource repository:
- In the Monticello browser add the PharoInbox repository: make sure the package is selected in the left pane, then click on the ''+Repository''. Select ''HTTP'' from the menu, then make sure that the location reads ''http://www.squeaksource.com/PharoInbox''.
- Finally, click on ''Save''.
- Track change:
- Add an entry to the Issues tracker describing your change (include the package version name of the package). Set the status to "Fixed".
- If your change is directly related to a Mantis report, add the label "Type-Mantis" and add the Mantis ticket number in front of the subject. Else choose another appropriate label
- Announce your contribution by sending a mail to the mailing list and herewith ask to have somebody review your change. This person should change the state of the issue to "Verified".
- Wait until your change was harvested (i.e., pushed into the update stream). The status will then be changed to "Closed".
Congratulations, the world is one step closer to being a better place! We greately appreciate your effort. In case of problems, you can send a changeset to the mailing list, but please only do this as a last resort.
|
I know this is not important for Pharo or for the developers community, still... I'll make this comment. Sorry to tell you this, but "pharo" (or, better written, "faro") is NOT the right Portuguese word for "lighthouse". "Faro" means (in pt-Portuguese) the ability to catch the smell of things. The equivalent for "lighthouse" would be "farol". As a conclusion, I would advise you to erase all references to the Portuguese origin of the word in every introductory text for Pharo, thus avoiding (at least...) silly comments like this one. I take this opportunity to address a second comment. Sometimes I make some "exercise" on Smalltalk/Squeak for the fun, sometimes I try to build tools in Squeak to solve some practical problem or personal need. I'm not a programmer, just a curious guy, completely ignorant about programming, who, some years ago, found Smalltalk/Squeak to be the only human programming language I could cope with. But every time I try to do something with Squeak I stumble on this inevitable conclusion: it is one of the most entropic things I ever met in my life. The reason for this may lay partly on structural reasons - I wouldn't know, because I'm an ignorant, as I stated before. But there is a second reason I know for sure: the owners' and contributors' inability to step out of the developer's perspective, to put a distance towards themselves (and towards the result of their work). As a result, Squeak is probably the worst documented language in the world. Documentation and comments on the code are completely entropic, self-centered, tautological; it is experts talking to all-knowing experts - like those stupid old-fashioned dictionaries where every word definition tends to be built with the defined word. Until now I had a look to Pharo system browser only for a few minutes, but that was enough for me to get the impression that you are trying to get over this dreadful limitation, to jump over the limits of an strictly enclosed community, rehearsing new tentative styles to comment code and classes. If I got it right and this is true, congratulations and thank you very much for your effort. RuiVianaPereira?