[Pharo-dev] Stuck trying to contribute

Torsten Bergmann astares at gmx.de
Thu Nov 16 08:24:08 EST 2017


Hi Sven,

if you like you can try: https://github.com/astares/pharo-contributor

Easy to use:

   - clone this project
   - run download.sh to download and run latest P7 image, this will also 
load
     a help tutorial explaining how you can easily contribute and keep 
your fork up to date

There is a tool inside that downloads your fork or helps you staying up 
to date. All is explained
and if you do not care on bandwidth there is also a "clean.sh" (to 
cleanup) so you can start fresh again with
"download.sh" afterwards.

There is a also a "start.sh" (to just start the image when it should be 
reused).

Hope this helps a little bit.

Thanks
T.



Am 16.11.2017 um 00:21 schrieb Sven Van Caekenberghe:
>
>> On 15 Nov 2017, at 22:47, Pavel Krivanek <pavel.krivanek at gmail.com> wrote:
>>
>>
>>
>> 2017-11-15 22:27 GMT+01:00 Sven Van Caekenberghe <sven at stfx.eu>:
>> Alistair,
>>
>> Are steps 8 & 9 needed, since the latest image should be in sync with the latest dev version, no ?
>>
>> 8) the latest build may not be created from the latest merged commit. This step is not necessary because Iceberg can handle such situations and moreover it can do cherry-picking during commits. However personally I use it because it reduces probability of troubles. As always, it is good to execute it only if you know what you are doing and what you want.
>>
>> 9) is not needed anymore
>>
>> BTW, Guille wrote a very nice document about your fork synchronization
>> https://github.com/guillep/PharoIntegrationProcess/wiki/Keep-your-repo-in-sync
> I ended up using those instructions
>
> $ git checkout development
> $ git pull https://github.com/pharo-project/pharo.git development
> $ git push https://github.com/svenvc/pharo.git development
>
> I guess that is exactly what the Pharo code does.
>
> This feels better.
>
> Thx!
>
>> -- Pavel
>>
>>
>> Sven
>>
>> @Pavel, thanks as well. A lot seems possible with the API.
>>
>> I hope to be able to try later tonight.
>>
>>> On 15 Nov 2017, at 21:53, Alistair Grant <akgrant0710 at gmail.com> wrote:
>>>
>>> Hi Sven,
>>>
>>> On 15 November 2017 at 20:44, Sven Van Caekenberghe <sven at stfx.eu> wrote:
>>>> Yes, it is working for me too now, and it is actually pretty nice.
>>>>
>>>> I wonder though what the best way is to keep your personal fork up to date ?
>>>>
>>>> I managed to do it with a PR from the fork to the origin (or is it the reverse ?), like this
>>>>
>>>> https://github.com/svenvc/pharo/pull/1
>>>>
>>>> but it felt a bit weird because obviously the diff is large and I had the impression that the CI process than had to process all this.
>>>>
>>>> Maybe there is a better/easier/more correct way ?
>>> I only update my fork when I'm starting from a fresh image - my
>>> understanding is that upgrading an image is not supported at the
>>> moment.
>>>
>>> Set up the repository:
>>>
>>> cd emptydirectory
>>> wget 'the latest 7.0 image'
>>> git clone git at github.com:pharo-project/pharo.git pharo-core
>>> cd pharo-core
>>> git remote add $username git at github.com:$username/pharo.git
>>> cd ..
>>>
>>> Once the repository has been set up, the following script:
>>>
>>> 1. Configures Iceberg to show system repositories
>>> 2. Finds the pharo repository.
>>> 3. Finds the two remotes (origin and $username, from above)
>>> 4. Configures Iceberg to pull from origin and push to $username by default.
>>> 5. Checks out the development branch
>>>
>>> and finally does what you were asking about, updating the fork from the origin
>>>
>>> 6. Pull from origin
>>> 7. Push to fork ($username)
>>> 8, Checkout the images commit
>>> 9. Reloads modified packages
>>>
>>>
>>> | location username pharoRepository origin myfork |
>>>
>>> location := 'pharo-core'.
>>> username := 'myusername'.
>>>
>>> Iceberg showSystemRepositories: true.
>>> pharoRepository := IceRepository registry detect: [ :each | each name
>>> = 'pharo' ].
>>> pharoRepository location: location asFileReference.
>>> origin := pharoRepository remotes detect: [ :each | each remoteName =
>>> 'origin' ].
>>> myfork := pharoRepository remotes detect: [ :each | each remoteName =
>>> username ].
>>> pharoRepository pushRemote: myfork.
>>> pharoRepository pullRemote: origin.
>>> pharoRepository checkoutBranch: 'development'.
>>> pharoRepository backend pullFrom: origin.
>>> pharoRepository push.
>>> pharoRepository checkoutBranch: (SystemVersion current commitHash).
>>> [(pharoRepository savedPackages select: [:aPackage | aPackage isLoaded
>>> and: [ aPackage  isModified ]]) do: #reload ] on: MCMergeOrLoadWarning
>>> do: [ :warning | warning resume: true ].
>>>
>>> 'Loaded pharo-core' inspect.
>>>
>>>
>>> I always have OSSubprocess loaded, so it would actually be easy to
>>> automate the cloning and configuration of the repository.  I might do
>>> that next week.
>>>
>>> Cheers,
>>> Alistair
>>>
>>>
>>>
>>>>> On 15 Nov 2017, at 20:08, Alistair Grant <akgrant0710 at gmail.com> wrote:
>>>>>
>>>>> Just to add a positive note to this discussion:
>>>>>
>>>>> After cloning the pharo repository, adding my fork as a remote and
>>>>> using Guille's scripts from earlier this year to configure the
>>>>> repositories in image, I was able to:
>>>>>
>>>>> - Create new branch from Fogbugz issue...
>>>>> - Make the changes
>>>>> - Push the changes up to my fork (Synchronise repository)
>>>>> - Create pull request...
>>>>> - Make some more changes
>>>>> - Push changes to my fork
>>>>>
>>>>> All from within the image, without any problems.
>>>>>
>>>>> There's still plenty that is manual and outside the image, and it
>>>>> would be nice to have a GUI that guided you through the process (at
>>>>> the moment you need to know what steps to do and in what order), but
>>>>> we have a good solid basis for moving forward.
>>>>>
>>>>> Cheers,
>>>>> Alistair
>>>>>
>>>>>
>>>>>
>>>>> On 31 October 2017 at 12:27, Sven Van Caekenberghe <sven at stfx.eu> wrote:
>>>>>>
>>>>>>> On 31 Oct 2017, at 11:52, Stephane Ducasse <stepharo.self at gmail.com> wrote:
>>>>>>>
>>>>>>> Sven
>>>>>>>
>>>>>>> have a look at the TipsAndTricks new booklet available at http://books.pharo.org. There is a configuration for iceberg that sets and reduce
>>>>>>> the pain for me.
>>>>>> Ah, OK, found it. Thanks.
>>>>>>
>>>>>> Nice document BTW ;-)
>>>>>>
>>>>>>> Stef
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Oct 31, 2017 at 10:51 AM, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>> On 31 Oct 2017, at 10:37, Guillermo Polito <guillermopolito at gmail.com> wrote:
>>>>>>>>
>>>>>>>> If you give me precise instructions I can update the post :)
>>>>>>> precise instructions is:
>>>>>>> - do not use https, use ssh
>>>>>>> - if you do not follow our recommendation and you insist on use https, add your credentials before doing any commit.
>>>>>>>
>>>>>>>> On Mon, Oct 30, 2017 at 10:03 PM, Sven Van Caekenberghe <sven at stfx.eu> wrote:
>>>>>>>> I think I succeeded:
>>>>>>>>
>>>>>>>> https://pharo.fogbugz.com/f/cases/20613/Improve-some-UUID-comments
>>>>>>>> https://github.com/pharo-project/pharo/pull/420
>>>>>>>>
>>>>>>>> It does contain 4 identical commits due to my troubles earlier on.
>>>>>>>> I also did not see a confirmation by way of an #inform: after the pull request in Iceberg.
>>>>>>>>
>>>>>>>>> On 30 Oct 2017, at 21:50, Sven Van Caekenberghe <sven at stfx.eu> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On 30 Oct 2017, at 21:42, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>> hi,
>>>>>>>>>>
>>>>>>>>>> thing is, you should not use https authentication (and the guide should not point to it)
>>>>>>>>>> Using SSH mode works out of the box.
>>>>>>>>>> Using HTTPS there is currently a bug and the workaround is to introduce your credentials *before* trying to commit (in settings)
>>>>>>>>> Well, after entering my username/password in Settings > Tools > Software Configuration Management > Iceberg > Plaintext Credentials I am one step further - I managed to 'Commit & Push'.
>>>>>>>>>
>>>>>>>>> Thanks !
>>>>>>>>>
>>>>>>>>>> Esteban
>>>>>>>>>>
>>>>>>>>>>> On 30 Oct 2017, at 20:33, Sven Van Caekenberghe <sven at stfx.eu> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> Sorry, but I am person 237 trying to contribute to Pharo 7 the new way.
>>>>>>>>>>>
>>>>>>>>>>> I was following https://github.com/guillep/PharoIntegrationProcess/wiki/Contribute-a-fix-to-Pharo and I got stuck just before step 3, after trying to do "That will calculate the differences between the checked-out branch and your image, show you the tree with the differences and let you commit (and push)". Specifically, the 'and push' fails.
>>>>>>>>>>>
>>>>>>>>>>> $ sw_vers
>>>>>>>>>>> ProductName:        Mac OS X
>>>>>>>>>>> ProductVersion:     10.13
>>>>>>>>>>> BuildVersion:       17A405
>>>>>>>>>>>
>>>>>>>>>>> $ curl get.pharo.org/70+vm | bash
>>>>>>>>>>> ...
>>>>>>>>>>>
>>>>>>>>>>> $ ./pharo-ui Pharo.image
>>>>>>>>>>>
>>>>>>>>>>> I now have the following setup, which is correct I think.
>>>>>>>>>>>
>>>>>>>>>>> <Screen Shot 2017-10-30 at 20.28.05.png>
>>>>>>>>>>>
>>>>>>>>>>> I can commit on my local branch (left button), but when I try to do the 'and Push' (right button), things hang after I enter my credentials.
>>>>>>>>>>>
>>>>>>>>>>> Locally, I see
>>>>>>>>>>>
>>>>>>>>>>> $ git status
>>>>>>>>>>> On branch 20613-Improve-some-UUID-comments
>>>>>>>>>>> nothing to commit, working tree clean
>>>>>>>>>>>
>>>>>>>>>>> with the new code already committed
>>>>>>>>>>>
>>>>>>>>>>> $ cat src/Network-UUID.package/UUID.class/class/new.st
>>>>>>>>>>> instance creation
>>>>>>>>>>> new
>>>>>>>>>>>    "Create and return a new UUID"
>>>>>>>>>>>
>>>>>>>>>>>    "self new"
>>>>>>>>>>>
>>>>>>>>>>>    ^ (self new: 16)
>>>>>>>>>>>
>>>>>>>>>>> What did I do wrong ? How do I proceed ?
>>>>>>>>>>>
>>>>>>>>>>> Sven
>>>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> 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
>>>>>>>> Phone: +33 06 52 70 66 13
>>
>>
>





More information about the Pharo-dev mailing list