Tuesday, April 28, 2009

Contributing to Squeak Packages with Monticello

There was a bug in OmniBrowser's protocol browser and I managed to fix it.

Then I had to figure out how to share it. Here are my notes. (Thanks to matthewf on #squeak for the hand holding).

  • Open the OB Monticello Browser (world/open.../Monticello Browser)
  • In the left hand pane, click the package you changed.
  • In the right hand pane, you'll see a list of URLs. One of these will belong to the package maintainer. Click that one.
  • Double check your changes (equvalent of svn diff) by clicking the "changes" button with the maintainer's repository selected in the right hand pane!. This will show you a very pretty diff browser.
  • Click save. When I did this, I got a message that my version was out of date, so I had to do the equivalent of svn update:
    • Open the repository. (Using toolbar button or right click/open repository.)
    • Find the package name again on the left.
    • Select the new changeset on the right. (They're numbered, and the error message told me which one I needed)
    • Click merge
    • A little conflict detector window pops up. Just click Merge again. (When I did this, it gave a couple "ObRefreshRequired" errors, but they seemed to be display related messages internal to the Monticello Browser, so I just abandoned them.)
  • Assuming there were no conflicts in the merge, go back to the Monticello Browser and click "Save". (Be sure to enter a little message describing what you changed.)

That's it. I didn't have to create an account or anything, just added my initials. So pretty much anyone can submit a patch to OmniBrowser (which still strikes me as kind of scary). I'm sure other repositories are password protected but I haven't encountered that yet.

I don't know if that triggers some kind of notification or not, but in any case, I then joined the Omnibrowser dev list, introduced myself, and posted a note about what I'd changed.

No comments:

Post a Comment