[Pharo-dev] Stuck trying to contribute

Sven Van Caekenberghe sven at stfx.eu
Wed Nov 15 18:21:26 EST 2017



> 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