[Pharo-dev] Stuck trying to contribute

Pavel Krivanek pavel.krivanek at gmail.com
Wed Nov 15 16:47:56 EST 2017


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

-- 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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20171115/e7fb3695/attachment-0002.html>


More information about the Pharo-dev mailing list