On 5 January 2018 at 14:56, Ben Coman <btc@openinworld.com> wrote:


On 14 December 2017 at 20:19, Esteban Lorenzano <estebanlm@gmail.com> wrote:
Hi!��

I���m working on simplifying the contribution process, after collecting opinions/experiences last couple of months.��
As you know, Pharo contribution process is still WIP and we aim to have it as smooth as possible for Pharo 7.0 release. Now, after observe the idea of the ���system repositories��� was a bad idea because it introduced extra and non standard ���path��� to contribution, I managed to remove that to reestablish ���the regular way���: you will now need to add pharo repository just as any other repository you add, by cloning or adding local repository.

I took Guille���s doc and moved it to pharo project (it does not has sense to have it living in a contributor���s repository when is so important). You can find it here:��


This document is also updated to reveal this new process, please read it.

How to update your startup scripts?
Some people has added startup scripts to easy the first part of contribution. Instead enabling system repositories, etc. you now need to replace that with this:

(IceRepositoryCreator new��
location: '/path/to/pharo-project/pharo' asFileReference;
subdirectory: 'src';
createRepository)
register

PLEASE, PLEASE, PLEASE��� take a moment to read and try the document. Is very important that document reflects new process and works reliable in different scenarios (I validated it on macOS and Windows, and assumed it worked fine on linux but you know��� bad assumptions is the base of failure ;) )

I���m eager to hear your feedback and continue enhancing the process.��

(yes, Stef, I know UI is still cumbersome��� I���m working on that :) )

cheers!
Esteban


with my pharo branch "22 commits behind pharo-project:master"


<snip>��
A bit disconcerting that buttons <Commit onto master> and <Commit and push onto master>
are both disabled so there is no action I can do from this default, so I proceed to [Push] tab.

Thanks to Esteban's help, I learnt that you have to enter a commit message before the buttons are enabled (duh me!)

Now given the Iceberg trouble with Ubuntu 64bit, I reverted to 32 bit
and followed the wiki Contribute-a-fix-to-Pharo as closely as I could...
$ mkdir -p ~/dev/Pharo/Contribute && cd ~/dev/Pharo/Contribute��
$ wget -O- get.pharo.org/70+vm | bash
$ ./pharo-ui Pharo.image

On github, I deleted my existing fork and reforked from pharo-project/pharo.
My SSH keys were previously set up...

$ ls -1 ~/.ssh
id_rsa
id_rsa.pub
known_hosts

$ $ ssh -T git@github.com
Hi bencoman! You've successfully authenticated, but GitHub does not provide shell access.

In Pharo...
World menu > Iceberg > Clone Repository
�� Remote URL = git@github.com:bencoman/pharo.git��
�� Local Directory (default) =��/home/ben/dev/Pharo/Contribute/pharo-local/iceberg
�� Code subdirectory = src
�� Clicked <Create Repository>

Interesting that the created row��"pharo" repository now defaults to the "development" branch.
Previously it was defaulting to the "master" branch and part of my difficulty was��
trying to get onto the "up to date" development branch.

This pharo "development" branch status has "uncommitted changes"
so right-clicked "pharo" > Synchronise repository.
The dialog that came up shows an empty "Local changes" tab.
Because it didn't feel right to create a commit for empty changes, I was momentarily confused by this
since this dialog covered the parent window where the repo status had changed to "up to date". Yay!
[btw, Would it be possible (i.e. make sense) to avoid bringing up this dialog when there are empty changes
and just display an #inform: message "No changes" ?]

Clicked on [Remotes] tab > Add remote
�� Remote name = pharo-project
�� Remote url =��git@github.com:pharo-project/pharo.git

Right clicked "pharo" > Pharo > Create new branch from Fogbugz issue...
�� 20937
�� clicked <Create>

Great! the main Iceberg window shows I've changed to that branch and its up to date.

Made some changes.��
Right clicked on "pharo" > Synchronise...
Entered commit comment and clicked <Commit onto�� 20937...>
Clicked on [Push] tab > Publish all
Github shows my commit. Yay! I can see it here...
https://github.com/bencoman/pharo/network

Now this is not complete but at the point where I'm seeking advise on how to approach the next step.
Following the philosophy that PRs are not just for finished code
but a good way to seek collaboration, back in Pharo...
rightclicked on "pharo > Github > Create pull request...
�� entered username & password
The dialog defaults for "New pull request" looked okay, so clicked <Create a pull request>

And I can see my PR here...
https://github.com/pharo-project/pharo/pull/657
Yay!�� Finally cracked it.�� The start of my first Pharo 7 contribution.��
I very much like this new workflow. thx esteban.

A couple of things would make it even smoother.
a. An option to save details of my personal fork��to auto-fill the Create Repository dialog fields in a fresh image anywhere on my system.����
b. An menu item or button to auto-fill the pharo-project remote.

Now hopefully someone familiar with FastTable can review my PR
and discuss options to implement the next step for horizontal scrolling.

cheers -ben