[Pharo-users] Help contributing a fix to pharo - docs seem out of date again?

Guillermo Polito guillermopolito at gmail.com
Tue Jun 19 09:01:57 EDT 2018


On Tue, Jun 19, 2018 at 2:26 PM Tim Mackinnon <tim at 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
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
 - 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

*Web:* *http://guillep.github.io* <http://guillep.github.io>

*Phone: *+33 06 52 70 66 13
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-users_lists.pharo.org/attachments/20180619/573d9e7d/attachment.html>

More information about the Pharo-users mailing list