On 5 January 2018 at 14:56, Ben Coman <[email protected]> wrote:

>
>
> On 14 December 2017 at 20:19, Esteban Lorenzano <[email protected]>
> 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:
>>
>> https://github.com/pharo-project/pharo/wiki/Contribute-a-fix-to-Pharo
>>
>> 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
>>
>
>
> Using https://github.com/pharo-project/pharo/wiki/
> Contribute-a-fix-to-Pharo
> with my pharo branch "22 commits behind pharo-project:master"
> https://github.com/bencoman/pharo/tree/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 [email protected]
Hi bencoman! You've successfully authenticated, but GitHub does not provide
shell access.

In Pharo...
World menu > Iceberg > Clone Repository
  Remote URL = [email protected]: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 = [email protected]: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

Reply via email to