[Pharo-dev] Stuck trying to contribute

Sven Van Caekenberghe sven at stfx.eu
Thu Nov 16 14:18:55 EST 2017


Thanks Torsten, I already knew about it, I might try it next time, to see what you did.

> On 16 Nov 2017, at 14:24, Torsten Bergmann <astares at gmx.de> wrote:
> 
> 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