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
