Hi, On Tue, Jun 19, 2018 at 2:26 PM Tim Mackinnon <tim@testit.works> wrote:
> Hi - a few weeks ago, I contributed a tiny fix to Pharo 7 -and the > instructions seemed to work really well. > > I’ve since come back to try and do some more over lunch (I was thinking > I’d like to dig out the changes I worked out for using the AST and cursor > to make senders/implements work properly and not just use the selected > text). > > My first problem was that my fork of Pharo from many months ago was out of > date - I think the instructions on > https://github.com/pharo-project/pharo/wiki/Contribute-a-fix-to-Pharo should > probably mention this subtlety. > > It took me ages to figure out what to do - this was the clue ( > https://help.github.com/articles/syncing-a-fork/) - and of particular > note the the tiny bit at the bottom to ensure you Push your changes back to > your GitHub fork (I slightly complicated myself by using IntelliJ to do > this - doable but you need to be aware of whats going on). I did this in a > separate non-pharo directory (I think thats what you would recommend right? > Then you can keep updating it from time to time?) > Usually, you don't care. You don't need to update your fork :) You only need to: - clone/locate your repository in disk - fetch (this will find your commit in the pharo repository) - create a new branch X - push branch X to your fork - make a pull request The contribution process never goes through master nor development, so it does not really matter if they are updated. And that's what I was showing in my videos because there is nothing else to it :) > > Having got my GitHub fork caught up with pharo/development - I then have > the Local Repo Missing error (expected) - and now when I go to repair it I > can either clone again (which is the instructions online) - or “Locate this > repository in your file system”. As I’ve had to already check everything > out to catch up to pharo/dev I chose to locate. > > I then get a Fetch require msg (expected) > > I then choose to use Fetch (I’m not sure what the Repair repository > picture is now about?) - the text does mention I will become detached, so > I’ve stuck to that > > I’m not sure why the “solving a detached working copy” is further down the > page - but I’ve jumped to that > > It says I need to synchronise both (image and repo) - but then says its > easier to do a branch - and then says a nice alternative is to create a > temp branch like temp/synch - however I can’t see how to do that as there > is only Crete new Branch from Issue now (the picture shows that plus New > Branch). > I don't see what's the problem, maybe the UI can be enhanced to be more explicit. But you can just select "New branch" and create a branch with any name. I'll go a bit deeper here: - you just downloaded a new image that was built from commit 100 - In the meantime, while you downloaded your image, a new PR would have been integrated in pharo, so now the development branch may not be anymore on commit 100 but on commit 101. - Even worse! There is no branch at all pointing to 100, your image's commit - So the safest way to work (because updating the image may be dangerous not because of Iceberg :)) is to create a new branch on your commit. However, while this is the recommended way to work on Pharo, on other projects you can do a more normal workflow: checkout, pull. Does this answer it? Maybe I've missed something? > > Am I on the right track here? If I want try something out - do I just > create myself a new issue (or is there a temp issue anyway?) > > Tim > -- Guille Polito Research Engineer Centre de Recherche en Informatique, Signal et Automatique de Lille CRIStAL - UMR 9189 French National Center for Scientific Research - *http://www.cnrs.fr <http://www.cnrs.fr>* *Web:* *http://guillep.github.io* <http://guillep.github.io> *Phone: *+33 06 52 70 66 13