[squeak-dev] How to submit something to the inbox

Jakob Reschke jakob.reschke at student.hpi.de
Sun Oct 8 12:25:14 UTC 2017

2017-10-08 13:26 GMT+02:00 Bob Arning <arning315 at comcast.net>:
> On 10/7/17 2:02 PM, David T. Lewis wrote:
>> 2) Open the inbox repository
>>    A) In your Squeak 5.1 image, open a Monticello Browser.
>>    B) On the right hand side of the browser, highlight the "http://source.squeak.org.trunk" repository.
> That's "/trunk" right?


>> 3) Get ready to commit your changes to the inbox
>>    A) Make sure your image is updated (world -> help... -> update code from server)

Or click the Squeak Mouse in the left corner of the main docking bar
-> Update Squeak.

>>    B) In the Monticello browser, highlight package "Morphic" on the left, and
> "Graphics" in this case?

You have to pick the package that contains your changes.

>>       repository "http://source.squeak.org/trunk" on the right.
> This is the same "trunk" that I renamed to "inbox" in the previous step?

Short answer in the context of this how-to list: yes.

I think "editing" the trunk repository is not the right way. Rather,
one should copy the snippet that is displayed on "edit repository
info", and create a new HTTP repository via the +Repository button,
paste the copied snippet and then change trunk to inbox there. In the
end, you should have both trunk and inbox in the right-hand list (at
least when no package is selected in the left-hand list).
But you must then also add the "new" inbox repository to your package
by right-clicking on that package, choosing "add repository...", and
selecting the inbox repository. It will then appear in the right-hand
list for the package, so both trunk and inbox will be there.

If this must be done by every new contributor, it is really
complicated, so it ought to be already set up out-of-the-box, IMHO.
That is, for all packages which are included in the trunk it should
already be there.

>>    C) Click the "Changes" button on the top.
>>    D) The "changes" here are the differences between your image and the most
>>       recent version in the trunk repository. Verify that these are the changes
>>       that you want to submit, no more and no less. If something looks wrong, stop
>>       and ask for tips on the squeak-dev list.
> If I get changes from trunk, it is one method. If I get changes from
> inbox, it is a bazillion. So, if I save to inbox, am I saving one or a
> bazillion?

Phew Monticello... Short answer: you are saving one method, usually.

Next to the package name in the left-hand list, there is a version
indication in brackets: for example, "Graphics -->(topa.382)<--". This
is your baseline version for the package (Graphics-topa.382). The
changes that you see and select when you click "Save" are the ones
that your new version will contain when compared to the base version.
Regarding the contents and ancestry of your new version, it does not
matter to which repository you save it.

The "Changes" button gives you the list of changes that would
transform the latest version from the selected repository to the state
in your working copy/image. The latest Graphics version in the inbox
might be old, so you get a bazillion of changes. Since the base
version usually comes from trunk, especially if you updated
beforehand, the "Changes" from trunk give you the better impression.

People regularly criticize Git for being complicated and that it is
unfortunate that one is advised to learn its inner workings to fully
embrace it. But it seems that Monticello displays the same problem.

Note that in step 4A...

>> 4) Submit your changes to the inbox
>>    A) Now highlight the "http://source.squeak.org/inbox" repository on the right
>>       pane of the Monticello browser, and package "Morphic" on the left.

...you must first select the package on the left, and then select the
repository on the right. The repository selection is cleared when you
select the package. If the repository is not on the list, you have to
"add repository" to the package, as described above.

More information about the Squeak-dev mailing list