Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
July 2017
- 398 messages
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/60508
Home: https://github.com/pharo-project/pharo-core
July 12, 2017
Re: [Pharo-dev] integrating FileDialog into Pharo 7
by Stephane Ducasse
lovely :)
On Mon, Jul 10, 2017 at 8:34 PM, Pavel Krivanek
<pavel.krivanek(a)gmail.com> wrote:
> Can you try to prepare a pull requeast that will integrate it? The PR will
> need to:
> - add the packages into the repository
> - add them into the baseline (BaselineOfUI)
> - remove old FileDialogWindow (becuase when we add something, we should
> remove something too ;-))
>
> If you need help, let me know
>
> -- Pavel
>
> 2017-07-10 20:01 GMT+02:00 Peter Uhnak <i.uhnak(a)gmail.com>:
>>
>> Done. What next?
>>
>> Peter
>>
>>
>> On Mon, Jul 10, 2017 at 12:46:50PM +0200, Pavel Krivanek wrote:
>> > We should work on integration of it. Firstly please move tests to a
>> > separate package.
>> >
>> > Cheers,
>> > -- Pavel
>> >
>> > 2017-07-10 12:34 GMT+02:00 Peter Uhnak <i.uhnak(a)gmail.com>:
>> >
>> > > Hi,
>> > >
>> > > some people expressed interest in integrating File Dialog
>> > > https://github.com/peteruhnak/file-dialog into Pharo as the default
>> > > file
>> > > dialog.
>> > >
>> > > Is it something people are interested in, or is the current solution
>> > > sufficient for them?
>> > >
>> > > Peter
>> > >
>> > >
>>
>
July 12, 2017
Re: [Pharo-dev] No Metadata in 7.0
by Stephane Ducasse
Hi nicolai
we should really fix that. I know that it is painful because we got
out our confort zone.
I really hope that we will be able to do something better. Now what we
should do is incrementally
rebuild a better system.
About the git support on windows. I thought it was working what is the
problem on your side?
Stef
On Mon, Jul 10, 2017 at 11:32 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
>
> 2017-07-10 11:22 GMT+02:00 Alistair Grant <akgrant0710(a)gmail.com>:
>>
>> On Mon, Jul 10, 2017 at 11:15:27AM +0200, Nicolai Hess wrote:
>> >
>> > 2017-07-10 10:31 GMT+02:00 Pavel Krivanek <pavel.krivanek(a)gmail.com>:
>> >
>> > However the real question is if we need them in the form we had them
>> > until
>> > now because they are flattened as soon as a new changes file
>> > (release) is
>> > created and it stores only information about the last person who
>> > touched
>> > the method, not about the author nor wider history.
>> >
>> > For me, YES!
>> >
>> > I always take this data as a hint to track down bugs. Especially in
>> > this community were different people do bug fixes or introduce
>> > something new /change something, it is really helpfull and valueable
>> > to track this changes by the method history. (not only *who* did the
>> > change, but also, in what context, what else had changed. And I think
>> > it is much easier to do this from within the image instead of looking
>> > at the git diff).
>>
>> Are the two really mutually exclusive? Given the move to Iceberg
>> wouldn't it make sense to extend Iceberg to be able to analyse the git
>> history from within the image?
>
>
>
> No, they are not mutually exclusive, it is just that you can not see the
> history now.
> Maybe iceberg will solve this, but for now you can not see the history
> (and as a windows user, I can not even use iceberg).
>
>
>>
>>
>>
>> > That hte history is already lost when we created a new changes/sources
>> > for release is something that always disturbed me. And I hoped there
>> > would be some way to reload the "real" history with all intermediate
>> > changes.
>>
>> Cheers,
>> Alistair
>>
>>
>
July 11, 2017
Re: [Pharo-dev] Pharo 7 provisional HOWTO
by Stephane Ducasse
Tx Uko.
We should improve.
On Tue, Jul 11, 2017 at 7:07 PM, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
> This is actually fun. For pharo contributions I just used Iceberg ui without
> scripting anything and it works absolutely fine. Iceberg has a default
> location for cloned repositories, and it puts pharo there too
>
> Uko
>
> On 4 Jul 2017, at 11:52, Pavel Krivanek <pavel.krivanek(a)gmail.com> wrote:
>
> A small update:
>
> You are not forced to use a 'pharo-core' repository in your image folder if
> you provide a path to your own clone to the working copies of the
> bootstrapped packages. This way you can more easily share one local clone of
> the pharo-project/pharo repository.
> For the registration of your local repository use this script:
>
> target := 'path/to/my/local/repository' asFileReference.
>
> repository := IceRepositoryCreator new
> location: target;
> subdirectory:'src';
> createRepository.
> repository register.
>
> fork := repository remotes detect: [ :remote | remote remoteName = #myFork
> ].
> repository pushRemote: fork.
> repository pullRemote: repository origin.
>
> repository checkoutBranch: 'development'.
> repository backend pullFrom: repository origin.
> repository push.
>
> repository checkoutBranch: (SystemVersion current commitHash).
>
> fileTreeRepository := (MCFileTreeRepository new directory: target / #src;
> yourself).
> repositoryGroup := MCRepositoryGroup withRepositories: { fileTreeRepository.
> MCCacheRepository uniqueInstance. }.
> MCWorkingCopy allManagers
> select: [ :wc | (wc repositoryGroup repositories reject: [ :repo | repo
> isCache ]) isEmpty ]
> thenDo: [ :wc | wc repositoryGroup: repositoryGroup ]
>
>
> 2017-06-26 13:14 GMT+02:00 Pavel Krivanek <pavel.krivanek(a)gmail.com>:
>>
>> Hi,
>>
>> this mail describes how to start to send pull requests to Pharo 7 Github
>> repository from Pharo 7.
>>
>> Preparations
>> =====================
>>
>> - you need to have a Github account and set SSH keys. See
>> https://help.github.com/articles/connecting-to-github-with-ssh/
>> - create own pharo-project/pharo repository fork. Go to
>> https://github.com/pharo-project/pharo, click on "Fork" button and follow
>> the instructions
>>
>> Get Pharo 7 image
>> =====================
>>
>> The CI jobs for the Pharo 7 defelopment are currently not fully set and we
>> still do not publish Pharo 7 image to files.pharo.org so you cannot get it
>> using zero-conf scripts. But we have a provisional CI job that bootstraps
>> the Pharo 7 image.
>>
>> https://ci.inria.fr/pharo/view/7.0/job/70-Bootstrap-32bit/
>>
>> There download a file named like Pharo7.0-32bit-hash.zip and decompress
>> it. Unlike Pharo 6 images, the archive contains three files. Image, changes
>> and sources. In Pharo 7 you have the sources file for every bootstrapped
>> version. It has a commit hash in the name and it cannot be shared between
>> different Pharo 7 imges, however it can be shared between images that were
>> created as snapshots with the same bootstrapped image as ancestor.
>>
>> Create local clone
>> =====================
>>
>> You need a local clone of the Pharo repository. Because it contains a lot
>> of small files, it is not a good idea to have own clone for every image. You
>> can have only one and share them between images. But because of some current
>> Monticello constraints you need to have the clone placed in the image
>> directory in a folder with name 'pharo-core'.
>>
>> In this step we will clone the Pharo repository from pharo-project/pharo
>> Github repository and add your fork as default pull target. We will update
>> your fork repository to contain all latest commits from the Pharo repository
>> in the branch named 'development'. For latest stable version (Pharo 6) we
>> use the master branch.
>> In the end we will checkout the repository to a particular commit from
>> which the downloaded Pharo 7 image was bootstrapped. Imagine that you have a
>> Pharo 7 image that is several days old and the development branch has
>> already some commits that change code. If you would take this older image,
>> checkout to the development branch and then do your commit, your would
>> revert all changes done in not-loaded commits. The other option is to update
>> your image to correspond to the repository latest commit which requires
>> packages reloading.
>> If you checkout to a particular commit, you are in detached HEAD state. In
>> this state you cannot do commits directly. You need to firstly create new a
>> new branch which we will do anyway.
>>
>> Evaluate the following code. This functionality will be later direct part
>> of Iceberg UI. Do not forget to change the user name.
>>
>> username := 'YOUR-USER-NAME'.
>> repository := IceRepositoryCreator new
>> url: 'git@github.com:pharo-project/pharo.git';
>> location: ('pharo-core' asFileReference ensureCreateDirectory);
>> subdirectory:'src';
>> createRepository.
>> repository checkoutBranch: 'development'.
>> repository register.
>>
>> fork := (IceRemote name: 'myFork' url: ('git@github.com:{1}/pharo.git'
>> format: {username})).
>> repository addRemote: fork.
>> repository pushRemote: fork.
>> repository pullRemote: repository origin.
>>
>> "update fork"
>> repository backend pullFrom: repository origin. "use this low-level form
>> to prevent packages reloading"
>> repository push.
>>
>> "checkout to the commit from which the image was bootstrapped"
>> repository checkoutBranch: (SystemVersion current commitHash).
>>
>> Use already created clone
>> =====================
>>
>> This is alternative to the previous step. Let's suppose that you already
>> have your local clone. You take some Pharo 7 image and you want to create
>> commits. Then you need to create a symlink or move/copy the repository into
>> your image directory. Remember, it must be named pharo-core (we do not use
>> the name 'pharo' to avoid collision with VM executable).
>>
>> In this step we will register an existing Pharo repository clone, set your
>> fork as the push target, update your fork and then switch to the particular
>> commit.
>>
>> repository := IceRepositoryCreator new
>> location: ('pharo-core' asFileReference);
>> subdirectory:'src';
>> createRepository.
>> repository register.
>>
>> fork := repository remotes detect: [ :remote | remote remoteName = #myFork
>> ].
>> repository pushRemote: fork.
>> repository pullRemote: repository origin.
>>
>> repository checkoutBranch: 'development'.
>> repository backend pullFrom: repository origin.
>> repository push.
>>
>> repository checkoutBranch: (SystemVersion current commitHash).
>>
>> Issue processing
>> =====================
>>
>> - create new case on FogBugz to get the issue number
>> - open Iceberg and from the context menu on the 'pharo' repository do:
>> Pharo - Create new branch from FogBugz issue, enter the issue ID and it will
>> fill the full branch name for you
>> - create your changes (you can do it before the creation of the branch
>> too)
>> - commit and push your changes in Iceberg, this way you will commit your
>> branch to your fork repository. Remember that the Iceberg commit window has
>> two buttons, one for local commit, the second for commit with immediate
>> push. They can be very long because they contain the full branch (issue)
>> name
>> - in Iceberg in the 'pharo' repository context menu do: Pharo - Create
>> pull request, fill your
>> - fill your Github credentials
>> - leave the PR title, comment is not required, check the pull request head
>> and base. The base MUST be pharo-project/pharo development. Create the pull
>> requests
>> - go to https://github.com/pharo-project/pharo/pulls, check your pull
>> requests and put URL of it into the issue record on FogBugz (as a comment).
>> Resolve the issue as Fix review needed
>>
>> Cheers,
>> -- Pavel
>>
>
>
July 11, 2017
Re: [Pharo-dev] Pharo 7 provisional HOWTO
by Yuriy Tymchuk
This is actually fun. For pharo contributions I just used Iceberg ui without scripting anything and it works absolutely fine. Iceberg has a default location for cloned repositories, and it puts pharo there too
Uko
> On 4 Jul 2017, at 11:52, Pavel Krivanek <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>> wrote:
>
> A small update:
>
> You are not forced to use a 'pharo-core' repository in your image folder if you provide a path to your own clone to the working copies of the bootstrapped packages. This way you can more easily share one local clone of the pharo-project/pharo repository.
> For the registration of your local repository use this script:
>
> target := 'path/to/my/local/repository' asFileReference.
>
> repository := IceRepositoryCreator new
> location: target;
> subdirectory:'src';
> createRepository.
> repository register.
>
> fork := repository remotes detect: [ :remote | remote remoteName = #myFork ].
> repository pushRemote: fork.
> repository pullRemote: repository origin.
>
> repository checkoutBranch: 'development'.
> repository backend pullFrom: repository origin.
> repository push.
>
> repository checkoutBranch: (SystemVersion current commitHash).
>
> fileTreeRepository := (MCFileTreeRepository new directory: target / #src; yourself).
> repositoryGroup := MCRepositoryGroup withRepositories: { fileTreeRepository. MCCacheRepository uniqueInstance. }.
> MCWorkingCopy allManagers
> select: [ :wc | (wc repositoryGroup repositories reject: [ :repo | repo isCache ]) isEmpty ]
> thenDo: [ :wc | wc repositoryGroup: repositoryGroup ]
>
>
> 2017-06-26 13:14 GMT+02:00 Pavel Krivanek <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>>:
> Hi,
>
> this mail describes how to start to send pull requests to Pharo 7 Github repository from Pharo 7.
>
> Preparations
> =====================
>
> - you need to have a Github account and set SSH keys. See https://help.github.com/articles/connecting-to-github-with-ssh/ <https://help.github.com/articles/connecting-to-github-with-ssh/>
> - create own pharo-project/pharo repository fork. Go to https://github.com/pharo-project/pharo <https://github.com/pharo-project/pharo>, click on "Fork" button and follow the instructions
>
> Get Pharo 7 image
> =====================
>
> The CI jobs for the Pharo 7 defelopment are currently not fully set and we still do not publish Pharo 7 image to files.pharo.org <http://files.pharo.org/> so you cannot get it using zero-conf scripts. But we have a provisional CI job that bootstraps the Pharo 7 image.
>
> https://ci.inria.fr/pharo/view/7.0/job/70-Bootstrap-32bit/ <https://ci.inria.fr/pharo/view/7.0/job/70-Bootstrap-32bit/>
>
> There download a file named like Pharo7.0-32bit-hash.zip and decompress it. Unlike Pharo 6 images, the archive contains three files. Image, changes and sources. In Pharo 7 you have the sources file for every bootstrapped version. It has a commit hash in the name and it cannot be shared between different Pharo 7 imges, however it can be shared between images that were created as snapshots with the same bootstrapped image as ancestor.
>
> Create local clone
> =====================
>
> You need a local clone of the Pharo repository. Because it contains a lot of small files, it is not a good idea to have own clone for every image. You can have only one and share them between images. But because of some current Monticello constraints you need to have the clone placed in the image directory in a folder with name 'pharo-core'.
>
> In this step we will clone the Pharo repository from pharo-project/pharo Github repository and add your fork as default pull target. We will update your fork repository to contain all latest commits from the Pharo repository in the branch named 'development'. For latest stable version (Pharo 6) we use the master branch.
> In the end we will checkout the repository to a particular commit from which the downloaded Pharo 7 image was bootstrapped. Imagine that you have a Pharo 7 image that is several days old and the development branch has already some commits that change code. If you would take this older image, checkout to the development branch and then do your commit, your would revert all changes done in not-loaded commits. The other option is to update your image to correspond to the repository latest commit which requires packages reloading.
> If you checkout to a particular commit, you are in detached HEAD state. In this state you cannot do commits directly. You need to firstly create new a new branch which we will do anyway.
>
> Evaluate the following code. This functionality will be later direct part of Iceberg UI. Do not forget to change the user name.
>
> username := 'YOUR-USER-NAME'.
> repository := IceRepositoryCreator new
> url: 'git(a)github.com <mailto:git@github.com>:pharo-project/pharo.git';
> location: ('pharo-core' asFileReference ensureCreateDirectory);
> subdirectory:'src';
> createRepository.
> repository checkoutBranch: 'development'.
> repository register.
>
> fork := (IceRemote name: 'myFork' url: ('git(a)github.com <mailto:git@github.com>:{1}/pharo.git' format: {username})).
> repository addRemote: fork.
> repository pushRemote: fork.
> repository pullRemote: repository origin.
>
> "update fork"
> repository backend pullFrom: repository origin. "use this low-level form to prevent packages reloading"
> repository push.
>
> "checkout to the commit from which the image was bootstrapped"
> repository checkoutBranch: (SystemVersion current commitHash).
>
> Use already created clone
> =====================
>
> This is alternative to the previous step. Let's suppose that you already have your local clone. You take some Pharo 7 image and you want to create commits. Then you need to create a symlink or move/copy the repository into your image directory. Remember, it must be named pharo-core (we do not use the name 'pharo' to avoid collision with VM executable).
>
> In this step we will register an existing Pharo repository clone, set your fork as the push target, update your fork and then switch to the particular commit.
>
> repository := IceRepositoryCreator new
> location: ('pharo-core' asFileReference);
> subdirectory:'src';
> createRepository.
> repository register.
>
> fork := repository remotes detect: [ :remote | remote remoteName = #myFork ].
> repository pushRemote: fork.
> repository pullRemote: repository origin.
>
> repository checkoutBranch: 'development'.
> repository backend pullFrom: repository origin.
> repository push.
>
> repository checkoutBranch: (SystemVersion current commitHash).
>
> Issue processing
> =====================
>
> - create new case on FogBugz to get the issue number
> - open Iceberg and from the context menu on the 'pharo' repository do: Pharo - Create new branch from FogBugz issue, enter the issue ID and it will fill the full branch name for you
> - create your changes (you can do it before the creation of the branch too)
> - commit and push your changes in Iceberg, this way you will commit your branch to your fork repository. Remember that the Iceberg commit window has two buttons, one for local commit, the second for commit with immediate push. They can be very long because they contain the full branch (issue) name
> - in Iceberg in the 'pharo' repository context menu do: Pharo - Create pull request, fill your
> - fill your Github credentials
> - leave the PR title, comment is not required, check the pull request head and base. The base MUST be pharo-project/pharo development. Create the pull requests
> - go to https://github.com/pharo-project/pharo/pulls <https://github.com/pharo-project/pharo/pulls>, check your pull requests and put URL of it into the issue record on FogBugz (as a comment). Resolve the issue as Fix review needed
>
> Cheers,
> -- Pavel
>
>
July 11, 2017
Re: [Pharo-dev] Pharo 7 provisional HOWTO
by Nicolai Hess
2017-07-11 12:44 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>
>
> 2017-07-11 12:28 GMT+02:00 Pavel Krivanek <pavel.krivanek(a)gmail.com>:
>
>> What is the system you use?
>> AFAIK Esteban is fixing the latest Iceberg because it stopped to work on
>> Windows...
>>
>> -- Pavel
>>
>
> windows 10 32 bit
>
and on another windows 10 64 bit system
on both, it crashes on working with libgit/iceberg
>
>
>>
>> 2017-07-10 22:01 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>>
>>>
>>>
>>> 2017-07-03 23:17 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>>>
>>>>
>>>>
>>>> 2017-06-28 18:25 GMT+02:00 Esteban Lorenzano <estebanlm(a)gmail.com>:
>>>>
>>>>>
>>>>> On 28 Jun 2017, at 18:21, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>>>>>
>>>>> And if I only want to contribute by reviewing a fix. Do I have to go
>>>>> the git-path ?
>>>>> Or is there a way to just start up an image and load and review the
>>>>> change?
>>>>>
>>>>>
>>>>> right now, you can review by going to github and seeing.
>>>>> I will add a âPR toolâ to view/load PRs into an image, but thatâs not
>>>>> ready. If someone wants to take a hit on it⦠the idea is to extend the
>>>>> github plugin with it :)
>>>>>
>>>>> cheers!
>>>>> Esteban
>>>>>
>>>>
>>>> Anyone got this working on windows (32) ?
>>>> I followed this guide, enabled the ssh key setting for iceberg.
>>>> But I still got the error :
>>>>
>>>> Image: Pharo7.0SNAPSHOT [Latest update: #0]
>>>>
>>>> LGitReturnCodeEnum>>handleLGitReturnCode
>>>> Receiver: a LGitReturnCodeEnum(#git_error [-1])
>>>> Arguments and temporary variables:
>>>> handler: LGit_GIT_ERROR
>>>> Receiver's instance variables:
>>>> value: -1
>>>>
>>>>
>>>> LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
>>>> Receiver: a LGitRepository (<not initialized>)
>>>> Arguments and temporary variables:
>>>> callBlock: [ self
>>>> clone: self
>>>> url: aString
>>>> local_path: aFileReference pathSt...etc...
>>>> Receiver's instance variables:
>>>> handle: @ 16r00000000
>>>> repositoryPath: File @ pharo-core
>>>> isOpen: nil
>>>> workingDirectory: nil
>>>>
>>>>
>>>> LGitRepository>>clone:options:to:
>>>> Receiver: a LGitRepository (<not initialized>)
>>>> Arguments and temporary variables:
>>>> aString: 'git@github.com:pharo-project/pharo.git'
>>>> cloneOptions: a LGitCloneOptions ()
>>>> aFileReference: File @ pharo-core
>>>> Receiver's instance variables:
>>>> handle: @ 16r00000000
>>>> repositoryPath: File @ pharo-core
>>>> isOpen: nil
>>>> workingDirectory: nil
>>>>
>>>>
>>>> And finally after some more tries, the vm crashed
>>>> (crash.dmp attached).
>>>>
>>>> If this only happens on windows, what else would be an option to start
>>>> with contributing for pharo 7 ?
>>>>
>>>
>>> maybe I am doing something wrong ? I thought this should work now with
>>> the latest vm (and libgit)?
>>> It is still crashing for me.
>>>
>>> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
>>> [0mExternalAddress class(Object)>>primitiveFailed:
>>> ExternalAddress class(Object)>>primitiveFailed
>>> ExternalAddress class>>allocate:
>>> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
>>> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
>>> LGitRemoteCallbacks class>>defaults
>>> LGitRemoteCallbacks class>>withProvider:
>>> LGitCloneOptions class>>withCredentialsProvider:
>>> [ | repo cloneOptions |
>>> repo := LGitRepository on: self location.
>>> cloneOptions := LGitCloneOptions
>>> withCredentialsProvider: IceCredentialsProvider default.
>>> repo clone: url options: cloneOptions.
>>> aBranchName ifNotNil: [ repo checkout: aBranchName ].
>>> (LGitRemote of: repo named: 'origin')
>>> lookup;
>>> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
>>> in Block: [ | repo cloneOptions |...
>>> [ self checkInitialized.
>>> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
>>> [0mExternalAddress class(Object)>>primitiveFailed:
>>> ExternalAddress class(Object)>>primitiveFailed
>>> ExternalAddress class>>allocate:
>>> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
>>> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
>>> LGitRemoteCallbacks class>>defaults
>>> LGitRemoteCallbacks class>>withProvider:
>>> LGitCloneOptions class>>withCredentialsProvider:
>>> [ | repo cloneOptions |
>>> repo := LGitRepository on: self location.
>>> cloneOptions := LGitCloneOptions
>>> withCredentialsProvider: IceCredentialsProvider default.
>>> repo clone: url options: cloneOptions.
>>> aBranchName ifNotNil: [ repo checkout: aBranchName ].
>>> (LGitRemote of: repo named: 'origin')
>>> lookup;
>>> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
>>> in Block: [ | repo cloneOptions |...
>>> [ self checkInitialized.
>>> aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self
>>> checkInitialized....
>>> [ activeProcess psValueAt: index put: anObject.
>>> aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in
>>> Block: [ activeProcess psValueAt: index put: anObject....
>>> BlockClosure>>ensure:
>>> LGitActionSequence(DynamicVariable)>>value:during:
>>> LGitActionSequence class(DynamicVariable class)>>value:during:
>>> LGitGlobal class>>runSequence:
>>> IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
>>> IceRepositoryCreator>>createRepository
>>> UndefinedObject>>DoIt
>>>
>>> VM windows 32 bit:
>>> CoInterpreter VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c
>>> Jul 10 2017
>>> StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid:
>>> 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 10 2017
>>> VM: 201707101916 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
>>> $ Date: Mon Jul 10 12:16:58 2017 -0700 $ Plugins: 201707101916
>>> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>>>
>>>
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>> Am 28.06.2017 5:26 nachm. schrieb "Pavel Krivanek" <
>>>>> pavel.krivanek(a)gmail.com>:
>>>>>
>>>>>
>>>>>
>>>>> 2017-06-28 17:06 GMT+02:00 Clément Bera <bera.clement(a)gmail.com>:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> Just to be clear, in Pharo 7, if I want to get some code integrated:
>>>>>> - I *have to* use the pull request process described by Pavel
>>>>>> OR
>>>>>> - I *can* use the pull request process, but I can also use the old
>>>>>> slice monticello process
>>>>>> ?
>>>>>>
>>>>>> What is the answer to the first question now, and what will be the
>>>>>> answer of this question in 6 months from now ?
>>>>>>
>>>>>
>>>>> You should use the pull request process.
>>>>>
>>>>> It is possible to create a standard slice BUT it must be done from
>>>>> Pharo 6 and then sent into Pharo60Inbox. And then you need to wait until
>>>>> somebody converts this slice to pull request. That means that it will be
>>>>> harder and harder to contribute this way because the code-base is moving.
>>>>>
>>>>> No slice will be integrated into Pharo 7 with the old process directly.
>>>>>
>>>>> Cheers,
>>>>> -- Pavel
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>> On Wed, Jun 28, 2017 at 3:42 PM, Ben Coman <btc(a)openinworld.com>
>>>>>> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jun 28, 2017 at 3:46 PM, Juraj Kubelka <
>>>>>>> juraj.kubelka(a)icloud.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> El 28-06-2017, a las 02:57, Ben Coman <btc(a)openinworld.com>
>>>>>>>> escribió:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Jun 27, 2017 at 10:35 PM, Pavel Krivanek <
>>>>>>>> pavel.krivanek(a)gmail.com> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2017-06-27 16:17 GMT+02:00 Serge Stinckwich <
>>>>>>>>> serge.stinckwich(a)gmail.com>:
>>>>>>>>>
>>>>>>>>>> On Tue, Jun 27, 2017 at 3:10 PM, Pavel Krivanek
>>>>>>>>>> <pavel.krivanek(a)gmail.com> wrote:
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > 2017-06-27 15:57 GMT+02:00 Serge Stinckwich <
>>>>>>>>>> serge.stinckwich(a)gmail.com>:
>>>>>>>>>> >>
>>>>>>>>>> >> On Mon, Jun 26, 2017 at 12:14 PM, Pavel Krivanek
>>>>>>>>>> >> <pavel.krivanek(a)gmail.com> wrote:
>>>>>>>>>> >> > Hi,
>>>>>>>>>> >> >
>>>>>>>>>> >> > this mail describes how to start to send pull requests to
>>>>>>>>>> Pharo 7 Github
>>>>>>>>>> >> > repository from Pharo 7.
>>>>>>>>>> >>
>>>>>>>>>> >> Thank you for the great explanation Pavel.
>>>>>>>>>> >>
>>>>>>>>>> >> > Preparations
>>>>>>>>>> >> > =====================
>>>>>>>>>> >> >
>>>>>>>>>> >> > - you need to have a Github account and set SSH keys. See
>>>>>>>>>> >> > https://help.github.com/articles/connecting-to-github-with-s
>>>>>>>>>> sh/
>>>>>>>>>> >> > - create own pharo-project/pharo repository fork. Go to
>>>>>>>>>> >> > https://github.com/pharo-project/pharo, click on "Fork"
>>>>>>>>>> button and
>>>>>>>>>> >> > follow
>>>>>>>>>> >> > the instructions
>>>>>>>>>> >>
>>>>>>>>>> >> [ ... ]
>>>>>>>>>> >>
>>>>>>>>>> >> > Issue processing
>>>>>>>>>> >> > =====================
>>>>>>>>>> >> >
>>>>>>>>>> >> > - create new case on FogBugz to get the issue number
>>>>>>>>>> >> > - open Iceberg and from the context menu on the 'pharo'
>>>>>>>>>> repository do:
>>>>>>>>>> >> > Pharo
>>>>>>>>>> >> > - Create new branch from FogBugz issue, enter the issue ID
>>>>>>>>>> and it will
>>>>>>>>>> >> > fill
>>>>>>>>>> >> > the full branch name for you
>>>>>>>>>> >> > - create your changes (you can do it before the creation of
>>>>>>>>>> the branch
>>>>>>>>>> >> > too)
>>>>>>>>>> >> > - commit and push your changes in Iceberg, this way you will
>>>>>>>>>> commit your
>>>>>>>>>> >> > branch to your fork repository. Remember that the Iceberg
>>>>>>>>>> commit window
>>>>>>>>>> >> > has
>>>>>>>>>> >> > two buttons, one for local commit, the second for commit
>>>>>>>>>> with immediate
>>>>>>>>>> >> > push. They can be very long because they contain the full
>>>>>>>>>> branch (issue)
>>>>>>>>>> >> > name
>>>>>>>>>> >> > - in Iceberg in the 'pharo' repository context menu do:
>>>>>>>>>> Pharo - Create
>>>>>>>>>> >> > pull
>>>>>>>>>> >> > request, fill your
>>>>>>>>>> >> > - fill your Github credentials
>>>>>>>>>> >> > - leave the PR title, comment is not required, check the
>>>>>>>>>> pull request
>>>>>>>>>> >> > head
>>>>>>>>>> >> > and base. The base MUST be pharo-project/pharo development.
>>>>>>>>>> Create the
>>>>>>>>>> >> > pull
>>>>>>>>>> >> > requests
>>>>>>>>>> >> > - go to https://github.com/pharo-project/pharo/pulls, check
>>>>>>>>>> your pull
>>>>>>>>>> >> > requests and put URL of it into the issue record on FogBugz
>>>>>>>>>> (as a
>>>>>>>>>> >> > comment).
>>>>>>>>>> >> > Resolve the issue as Fix review needed
>>>>>>>>>> >>
>>>>>>>>>> >> It means, there is no PR without a corresponding FogBugz issue
>>>>>>>>>> ?
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > Yes, at least for code changes we would like to keep this
>>>>>>>>>> relation. If it is
>>>>>>>>>> > a really trivial change in readme or something like that, we
>>>>>>>>>> can accept no
>>>>>>>>>> > related issue record.
>>>>>>>>>> > Please prefer to comment the issues instead of PRs directly to
>>>>>>>>>> have all
>>>>>>>>>> > information at one place.
>>>>>>>>>>
>>>>>>>>>> Thank you Pavel for the explanation.
>>>>>>>>>>
>>>>>>>>>> Maybe in the future, it will make sense to put everything in the
>>>>>>>>>> PR
>>>>>>>>>> and use github issues.
>>>>>>>>>> You will use CI travis builds for all PR ?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> For now we will use FogBugz because it has a lot of nice features
>>>>>>>>> and good API. Maybe we will switch it in future but now we should not
>>>>>>>>> change too many things at once :-)
>>>>>>>>> For several reasons we now prefer to use own infrastructure for
>>>>>>>>> checking of PRs (mainly because of MacOS issues on Travis). But again, it
>>>>>>>>> can be changed in future.
>>>>>>>>>
>>>>>>>>>
>>>>>>>> It would be interesting to see how this might fit in with our
>>>>>>>> workflow...
>>>>>>>> https://blog.fogcreek.com/fogbugz-github-integration/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> What is the benefit of the integration? I do not understand it from
>>>>>>>> the given link.
>>>>>>>>
>>>>>>>>
>>>>>>> When you submit a PR on github, Fogbugz is automatically updated
>>>>>>> with a link to the PR.
>>>>>>> Presumably this makes it easier for people reviewing cases in
>>>>>>> Fogbugz to identify the slice to test.
>>>>>>> This is a better link...
>>>>>>> https://blog.fogcreek.com/improved-github-integration-automa
>>>>>>> tically-create-bug-events-with-commits/
>>>>>>>
>>>>>>> cheers -ben
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
July 11, 2017
Re: [Pharo-dev] Pharo 7 provisional HOWTO
by Nicolai Hess
2017-07-11 12:28 GMT+02:00 Pavel Krivanek <pavel.krivanek(a)gmail.com>:
> What is the system you use?
> AFAIK Esteban is fixing the latest Iceberg because it stopped to work on
> Windows...
>
> -- Pavel
>
windows 10 32 bit
>
> 2017-07-10 22:01 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>
>>
>>
>> 2017-07-03 23:17 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>>
>>>
>>>
>>> 2017-06-28 18:25 GMT+02:00 Esteban Lorenzano <estebanlm(a)gmail.com>:
>>>
>>>>
>>>> On 28 Jun 2017, at 18:21, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>>>>
>>>> And if I only want to contribute by reviewing a fix. Do I have to go
>>>> the git-path ?
>>>> Or is there a way to just start up an image and load and review the
>>>> change?
>>>>
>>>>
>>>> right now, you can review by going to github and seeing.
>>>> I will add a âPR toolâ to view/load PRs into an image, but thatâs not
>>>> ready. If someone wants to take a hit on it⦠the idea is to extend the
>>>> github plugin with it :)
>>>>
>>>> cheers!
>>>> Esteban
>>>>
>>>
>>> Anyone got this working on windows (32) ?
>>> I followed this guide, enabled the ssh key setting for iceberg.
>>> But I still got the error :
>>>
>>> Image: Pharo7.0SNAPSHOT [Latest update: #0]
>>>
>>> LGitReturnCodeEnum>>handleLGitReturnCode
>>> Receiver: a LGitReturnCodeEnum(#git_error [-1])
>>> Arguments and temporary variables:
>>> handler: LGit_GIT_ERROR
>>> Receiver's instance variables:
>>> value: -1
>>>
>>>
>>> LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
>>> Receiver: a LGitRepository (<not initialized>)
>>> Arguments and temporary variables:
>>> callBlock: [ self
>>> clone: self
>>> url: aString
>>> local_path: aFileReference pathSt...etc...
>>> Receiver's instance variables:
>>> handle: @ 16r00000000
>>> repositoryPath: File @ pharo-core
>>> isOpen: nil
>>> workingDirectory: nil
>>>
>>>
>>> LGitRepository>>clone:options:to:
>>> Receiver: a LGitRepository (<not initialized>)
>>> Arguments and temporary variables:
>>> aString: 'git@github.com:pharo-project/pharo.git'
>>> cloneOptions: a LGitCloneOptions ()
>>> aFileReference: File @ pharo-core
>>> Receiver's instance variables:
>>> handle: @ 16r00000000
>>> repositoryPath: File @ pharo-core
>>> isOpen: nil
>>> workingDirectory: nil
>>>
>>>
>>> And finally after some more tries, the vm crashed
>>> (crash.dmp attached).
>>>
>>> If this only happens on windows, what else would be an option to start
>>> with contributing for pharo 7 ?
>>>
>>
>> maybe I am doing something wrong ? I thought this should work now with
>> the latest vm (and libgit)?
>> It is still crashing for me.
>>
>> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
>> [0mExternalAddress class(Object)>>primitiveFailed:
>> ExternalAddress class(Object)>>primitiveFailed
>> ExternalAddress class>>allocate:
>> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
>> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
>> LGitRemoteCallbacks class>>defaults
>> LGitRemoteCallbacks class>>withProvider:
>> LGitCloneOptions class>>withCredentialsProvider:
>> [ | repo cloneOptions |
>> repo := LGitRepository on: self location.
>> cloneOptions := LGitCloneOptions
>> withCredentialsProvider: IceCredentialsProvider default.
>> repo clone: url options: cloneOptions.
>> aBranchName ifNotNil: [ repo checkout: aBranchName ].
>> (LGitRemote of: repo named: 'origin')
>> lookup;
>> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
>> in Block: [ | repo cloneOptions |...
>> [ self checkInitialized.
>> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
>> [0mExternalAddress class(Object)>>primitiveFailed:
>> ExternalAddress class(Object)>>primitiveFailed
>> ExternalAddress class>>allocate:
>> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
>> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
>> LGitRemoteCallbacks class>>defaults
>> LGitRemoteCallbacks class>>withProvider:
>> LGitCloneOptions class>>withCredentialsProvider:
>> [ | repo cloneOptions |
>> repo := LGitRepository on: self location.
>> cloneOptions := LGitCloneOptions
>> withCredentialsProvider: IceCredentialsProvider default.
>> repo clone: url options: cloneOptions.
>> aBranchName ifNotNil: [ repo checkout: aBranchName ].
>> (LGitRemote of: repo named: 'origin')
>> lookup;
>> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
>> in Block: [ | repo cloneOptions |...
>> [ self checkInitialized.
>> aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self
>> checkInitialized....
>> [ activeProcess psValueAt: index put: anObject.
>> aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in
>> Block: [ activeProcess psValueAt: index put: anObject....
>> BlockClosure>>ensure:
>> LGitActionSequence(DynamicVariable)>>value:during:
>> LGitActionSequence class(DynamicVariable class)>>value:during:
>> LGitGlobal class>>runSequence:
>> IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
>> IceRepositoryCreator>>createRepository
>> UndefinedObject>>DoIt
>>
>> VM windows 32 bit:
>> CoInterpreter VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c
>> Jul 10 2017
>> StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid:
>> 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 10 2017
>> VM: 201707101916 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>> Date: Mon Jul 10 12:16:58 2017 -0700 $ Plugins: 201707101916
>> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>>
>>
>>
>>
>>
>>>
>>>
>>>
>>>>
>>>>
>>>> Am 28.06.2017 5:26 nachm. schrieb "Pavel Krivanek" <
>>>> pavel.krivanek(a)gmail.com>:
>>>>
>>>>
>>>>
>>>> 2017-06-28 17:06 GMT+02:00 Clément Bera <bera.clement(a)gmail.com>:
>>>>
>>>>> Hi all,
>>>>>
>>>>> Just to be clear, in Pharo 7, if I want to get some code integrated:
>>>>> - I *have to* use the pull request process described by Pavel
>>>>> OR
>>>>> - I *can* use the pull request process, but I can also use the old
>>>>> slice monticello process
>>>>> ?
>>>>>
>>>>> What is the answer to the first question now, and what will be the
>>>>> answer of this question in 6 months from now ?
>>>>>
>>>>
>>>> You should use the pull request process.
>>>>
>>>> It is possible to create a standard slice BUT it must be done from
>>>> Pharo 6 and then sent into Pharo60Inbox. And then you need to wait until
>>>> somebody converts this slice to pull request. That means that it will be
>>>> harder and harder to contribute this way because the code-base is moving.
>>>>
>>>> No slice will be integrated into Pharo 7 with the old process directly.
>>>>
>>>> Cheers,
>>>> -- Pavel
>>>>
>>>>
>>>>
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> On Wed, Jun 28, 2017 at 3:42 PM, Ben Coman <btc(a)openinworld.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Jun 28, 2017 at 3:46 PM, Juraj Kubelka <
>>>>>> juraj.kubelka(a)icloud.com> wrote:
>>>>>>
>>>>>>>
>>>>>>> El 28-06-2017, a las 02:57, Ben Coman <btc(a)openinworld.com>
>>>>>>> escribió:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Jun 27, 2017 at 10:35 PM, Pavel Krivanek <
>>>>>>> pavel.krivanek(a)gmail.com> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2017-06-27 16:17 GMT+02:00 Serge Stinckwich <
>>>>>>>> serge.stinckwich(a)gmail.com>:
>>>>>>>>
>>>>>>>>> On Tue, Jun 27, 2017 at 3:10 PM, Pavel Krivanek
>>>>>>>>> <pavel.krivanek(a)gmail.com> wrote:
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > 2017-06-27 15:57 GMT+02:00 Serge Stinckwich <
>>>>>>>>> serge.stinckwich(a)gmail.com>:
>>>>>>>>> >>
>>>>>>>>> >> On Mon, Jun 26, 2017 at 12:14 PM, Pavel Krivanek
>>>>>>>>> >> <pavel.krivanek(a)gmail.com> wrote:
>>>>>>>>> >> > Hi,
>>>>>>>>> >> >
>>>>>>>>> >> > this mail describes how to start to send pull requests to
>>>>>>>>> Pharo 7 Github
>>>>>>>>> >> > repository from Pharo 7.
>>>>>>>>> >>
>>>>>>>>> >> Thank you for the great explanation Pavel.
>>>>>>>>> >>
>>>>>>>>> >> > Preparations
>>>>>>>>> >> > =====================
>>>>>>>>> >> >
>>>>>>>>> >> > - you need to have a Github account and set SSH keys. See
>>>>>>>>> >> > https://help.github.com/articles/connecting-to-github-with-s
>>>>>>>>> sh/
>>>>>>>>> >> > - create own pharo-project/pharo repository fork. Go to
>>>>>>>>> >> > https://github.com/pharo-project/pharo, click on "Fork"
>>>>>>>>> button and
>>>>>>>>> >> > follow
>>>>>>>>> >> > the instructions
>>>>>>>>> >>
>>>>>>>>> >> [ ... ]
>>>>>>>>> >>
>>>>>>>>> >> > Issue processing
>>>>>>>>> >> > =====================
>>>>>>>>> >> >
>>>>>>>>> >> > - create new case on FogBugz to get the issue number
>>>>>>>>> >> > - open Iceberg and from the context menu on the 'pharo'
>>>>>>>>> repository do:
>>>>>>>>> >> > Pharo
>>>>>>>>> >> > - Create new branch from FogBugz issue, enter the issue ID
>>>>>>>>> and it will
>>>>>>>>> >> > fill
>>>>>>>>> >> > the full branch name for you
>>>>>>>>> >> > - create your changes (you can do it before the creation of
>>>>>>>>> the branch
>>>>>>>>> >> > too)
>>>>>>>>> >> > - commit and push your changes in Iceberg, this way you will
>>>>>>>>> commit your
>>>>>>>>> >> > branch to your fork repository. Remember that the Iceberg
>>>>>>>>> commit window
>>>>>>>>> >> > has
>>>>>>>>> >> > two buttons, one for local commit, the second for commit with
>>>>>>>>> immediate
>>>>>>>>> >> > push. They can be very long because they contain the full
>>>>>>>>> branch (issue)
>>>>>>>>> >> > name
>>>>>>>>> >> > - in Iceberg in the 'pharo' repository context menu do: Pharo
>>>>>>>>> - Create
>>>>>>>>> >> > pull
>>>>>>>>> >> > request, fill your
>>>>>>>>> >> > - fill your Github credentials
>>>>>>>>> >> > - leave the PR title, comment is not required, check the pull
>>>>>>>>> request
>>>>>>>>> >> > head
>>>>>>>>> >> > and base. The base MUST be pharo-project/pharo development.
>>>>>>>>> Create the
>>>>>>>>> >> > pull
>>>>>>>>> >> > requests
>>>>>>>>> >> > - go to https://github.com/pharo-project/pharo/pulls, check
>>>>>>>>> your pull
>>>>>>>>> >> > requests and put URL of it into the issue record on FogBugz
>>>>>>>>> (as a
>>>>>>>>> >> > comment).
>>>>>>>>> >> > Resolve the issue as Fix review needed
>>>>>>>>> >>
>>>>>>>>> >> It means, there is no PR without a corresponding FogBugz issue ?
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > Yes, at least for code changes we would like to keep this
>>>>>>>>> relation. If it is
>>>>>>>>> > a really trivial change in readme or something like that, we can
>>>>>>>>> accept no
>>>>>>>>> > related issue record.
>>>>>>>>> > Please prefer to comment the issues instead of PRs directly to
>>>>>>>>> have all
>>>>>>>>> > information at one place.
>>>>>>>>>
>>>>>>>>> Thank you Pavel for the explanation.
>>>>>>>>>
>>>>>>>>> Maybe in the future, it will make sense to put everything in the PR
>>>>>>>>> and use github issues.
>>>>>>>>> You will use CI travis builds for all PR ?
>>>>>>>>>
>>>>>>>>
>>>>>>>> For now we will use FogBugz because it has a lot of nice features
>>>>>>>> and good API. Maybe we will switch it in future but now we should not
>>>>>>>> change too many things at once :-)
>>>>>>>> For several reasons we now prefer to use own infrastructure for
>>>>>>>> checking of PRs (mainly because of MacOS issues on Travis). But again, it
>>>>>>>> can be changed in future.
>>>>>>>>
>>>>>>>>
>>>>>>> It would be interesting to see how this might fit in with our
>>>>>>> workflow...
>>>>>>> https://blog.fogcreek.com/fogbugz-github-integration/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> What is the benefit of the integration? I do not understand it from
>>>>>>> the given link.
>>>>>>>
>>>>>>>
>>>>>> When you submit a PR on github, Fogbugz is automatically updated with
>>>>>> a link to the PR.
>>>>>> Presumably this makes it easier for people reviewing cases in Fogbugz
>>>>>> to identify the slice to test.
>>>>>> This is a better link...
>>>>>> https://blog.fogcreek.com/improved-github-integration-automa
>>>>>> tically-create-bug-events-with-commits/
>>>>>>
>>>>>> cheers -ben
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>
July 11, 2017
Re: [Pharo-dev] Pharo 7 provisional HOWTO
by Pavel Krivanek
Yes, they should be be provided as standard pull requests from the package
maintainers.
-- Pavel
2017-07-11 12:15 GMT+02:00 Yuriy Tymchuk <yuriy.tymchuk(a)me.com>:
> Hey, is it possible to integrate updates to external projects (like
> Renraku) into Pharo 7?
>
> Uko
>
> On 10 Jul 2017, at 22:01, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
>
>
> 2017-07-03 23:17 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>
>>
>>
>> 2017-06-28 18:25 GMT+02:00 Esteban Lorenzano <estebanlm(a)gmail.com>:
>>
>>>
>>> On 28 Jun 2017, at 18:21, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>>>
>>> And if I only want to contribute by reviewing a fix. Do I have to go the
>>> git-path ?
>>> Or is there a way to just start up an image and load and review the
>>> change?
>>>
>>>
>>> right now, you can review by going to github and seeing.
>>> I will add a âPR toolâ to view/load PRs into an image, but thatâs not
>>> ready. If someone wants to take a hit on it⦠the idea is to extend the
>>> github plugin with it :)
>>>
>>> cheers!
>>> Esteban
>>>
>>
>> Anyone got this working on windows (32) ?
>> I followed this guide, enabled the ssh key setting for iceberg.
>> But I still got the error :
>>
>> Image: Pharo7.0SNAPSHOT [Latest update: #0]
>>
>> LGitReturnCodeEnum>>handleLGitReturnCode
>> Receiver: a LGitReturnCodeEnum(#git_error [-1])
>> Arguments and temporary variables:
>> handler: LGit_GIT_ERROR
>> Receiver's instance variables:
>> value: -1
>>
>>
>> LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
>> Receiver: a LGitRepository (<not initialized>)
>> Arguments and temporary variables:
>> callBlock: [ self
>> clone: self
>> url: aString
>> local_path: aFileReference pathSt...etc...
>> Receiver's instance variables:
>> handle: @ 16r00000000
>> repositoryPath: File @ pharo-core
>> isOpen: nil
>> workingDirectory: nil
>>
>>
>> LGitRepository>>clone:options:to:
>> Receiver: a LGitRepository (<not initialized>)
>> Arguments and temporary variables:
>> aString: 'git@github.com:pharo-project/pharo.git'
>> cloneOptions: a LGitCloneOptions ()
>> aFileReference: File @ pharo-core
>> Receiver's instance variables:
>> handle: @ 16r00000000
>> repositoryPath: File @ pharo-core
>> isOpen: nil
>> workingDirectory: nil
>>
>>
>> And finally after some more tries, the vm crashed
>> (crash.dmp attached).
>>
>> If this only happens on windows, what else would be an option to start
>> with contributing for pharo 7 ?
>>
>
> maybe I am doing something wrong ? I thought this should work now with the
> latest vm (and libgit)?
> It is still crashing for me.
>
> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
> [0mExternalAddress class(Object)>>primitiveFailed:
> ExternalAddress class(Object)>>primitiveFailed
> ExternalAddress class>>allocate:
> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
> LGitRemoteCallbacks class>>defaults
> LGitRemoteCallbacks class>>withProvider:
> LGitCloneOptions class>>withCredentialsProvider:
> [ | repo cloneOptions |
> repo := LGitRepository on: self location.
> cloneOptions := LGitCloneOptions
> withCredentialsProvider: IceCredentialsProvider default.
> repo clone: url options: cloneOptions.
> aBranchName ifNotNil: [ repo checkout: aBranchName ].
> (LGitRemote of: repo named: 'origin')
> lookup;
> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
> in Block: [ | repo cloneOptions |...
> [ self checkInitialized.
> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
> [0mExternalAddress class(Object)>>primitiveFailed:
> ExternalAddress class(Object)>>primitiveFailed
> ExternalAddress class>>allocate:
> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
> LGitRemoteCallbacks class>>defaults
> LGitRemoteCallbacks class>>withProvider:
> LGitCloneOptions class>>withCredentialsProvider:
> [ | repo cloneOptions |
> repo := LGitRepository on: self location.
> cloneOptions := LGitCloneOptions
> withCredentialsProvider: IceCredentialsProvider default.
> repo clone: url options: cloneOptions.
> aBranchName ifNotNil: [ repo checkout: aBranchName ].
> (LGitRemote of: repo named: 'origin')
> lookup;
> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
> in Block: [ | repo cloneOptions |...
> [ self checkInitialized.
> aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self
> checkInitialized....
> [ activeProcess psValueAt: index put: anObject.
> aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in
> Block: [ activeProcess psValueAt: index put: anObject....
> BlockClosure>>ensure:
> LGitActionSequence(DynamicVariable)>>value:during:
> LGitActionSequence class(DynamicVariable class)>>value:during:
> LGitGlobal class>>runSequence:
> IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
> IceRepositoryCreator>>createRepository
> UndefinedObject>>DoIt
>
> VM windows 32 bit:
> CoInterpreter VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c
> Jul 10 2017
> StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid:
> 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 10 2017
> VM: 201707101916 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
> Date: Mon Jul 10 12:16:58 2017 -0700 $ Plugins: 201707101916
> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>
>
>
>
>
>>
>>
>>
>>>
>>>
>>> Am 28.06.2017 5:26 nachm. schrieb "Pavel Krivanek" <
>>> pavel.krivanek(a)gmail.com>:
>>>
>>>
>>>
>>> 2017-06-28 17:06 GMT+02:00 Clément Bera <bera.clement(a)gmail.com>:
>>>
>>>> Hi all,
>>>>
>>>> Just to be clear, in Pharo 7, if I want to get some code integrated:
>>>> - I *have to* use the pull request process described by Pavel
>>>> OR
>>>> - I *can* use the pull request process, but I can also use the old
>>>> slice monticello process
>>>> ?
>>>>
>>>> What is the answer to the first question now, and what will be the
>>>> answer of this question in 6 months from now ?
>>>>
>>>
>>> You should use the pull request process.
>>>
>>> It is possible to create a standard slice BUT it must be done from Pharo
>>> 6 and then sent into Pharo60Inbox. And then you need to wait until somebody
>>> converts this slice to pull request. That means that it will be harder and
>>> harder to contribute this way because the code-base is moving.
>>>
>>> No slice will be integrated into Pharo 7 with the old process directly.
>>>
>>> Cheers,
>>> -- Pavel
>>>
>>>
>>>
>>>>
>>>> Thanks
>>>>
>>>>
>>>> On Wed, Jun 28, 2017 at 3:42 PM, Ben Coman <btc(a)openinworld.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, Jun 28, 2017 at 3:46 PM, Juraj Kubelka <juraj.kubelka@icloud.
>>>>> com> wrote:
>>>>>
>>>>>>
>>>>>> El 28-06-2017, a las 02:57, Ben Coman <btc(a)openinworld.com> escribió:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Jun 27, 2017 at 10:35 PM, Pavel Krivanek <pavel.krivanek@
>>>>>> gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2017-06-27 16:17 GMT+02:00 Serge Stinckwich <serge.stinckwich@
>>>>>>> gmail.com>:
>>>>>>>
>>>>>>>> On Tue, Jun 27, 2017 at 3:10 PM, Pavel Krivanek
>>>>>>>> <pavel.krivanek(a)gmail.com> wrote:
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > 2017-06-27 15:57 GMT+02:00 Serge Stinckwich <
>>>>>>>> serge.stinckwich(a)gmail.com>:
>>>>>>>> >>
>>>>>>>> >> On Mon, Jun 26, 2017 at 12:14 PM, Pavel Krivanek
>>>>>>>> >> <pavel.krivanek(a)gmail.com> wrote:
>>>>>>>> >> > Hi,
>>>>>>>> >> >
>>>>>>>> >> > this mail describes how to start to send pull requests to
>>>>>>>> Pharo 7 Github
>>>>>>>> >> > repository from Pharo 7.
>>>>>>>> >>
>>>>>>>> >> Thank you for the great explanation Pavel.
>>>>>>>> >>
>>>>>>>> >> > Preparations
>>>>>>>> >> > =====================
>>>>>>>> >> >
>>>>>>>> >> > - you need to have a Github account and set SSH keys. See
>>>>>>>> >> > https://help.github.com/articles/connecting-to-github-
>>>>>>>> with-ssh/
>>>>>>>> >> > - create own pharo-project/pharo repository fork. Go to
>>>>>>>> >> > https://github.com/pharo-project/pharo, click on "Fork"
>>>>>>>> button and
>>>>>>>> >> > follow
>>>>>>>> >> > the instructions
>>>>>>>> >>
>>>>>>>> >> [ ... ]
>>>>>>>> >>
>>>>>>>> >> > Issue processing
>>>>>>>> >> > =====================
>>>>>>>> >> >
>>>>>>>> >> > - create new case on FogBugz to get the issue number
>>>>>>>> >> > - open Iceberg and from the context menu on the 'pharo'
>>>>>>>> repository do:
>>>>>>>> >> > Pharo
>>>>>>>> >> > - Create new branch from FogBugz issue, enter the issue ID and
>>>>>>>> it will
>>>>>>>> >> > fill
>>>>>>>> >> > the full branch name for you
>>>>>>>> >> > - create your changes (you can do it before the creation of
>>>>>>>> the branch
>>>>>>>> >> > too)
>>>>>>>> >> > - commit and push your changes in Iceberg, this way you will
>>>>>>>> commit your
>>>>>>>> >> > branch to your fork repository. Remember that the Iceberg
>>>>>>>> commit window
>>>>>>>> >> > has
>>>>>>>> >> > two buttons, one for local commit, the second for commit with
>>>>>>>> immediate
>>>>>>>> >> > push. They can be very long because they contain the full
>>>>>>>> branch (issue)
>>>>>>>> >> > name
>>>>>>>> >> > - in Iceberg in the 'pharo' repository context menu do: Pharo
>>>>>>>> - Create
>>>>>>>> >> > pull
>>>>>>>> >> > request, fill your
>>>>>>>> >> > - fill your Github credentials
>>>>>>>> >> > - leave the PR title, comment is not required, check the pull
>>>>>>>> request
>>>>>>>> >> > head
>>>>>>>> >> > and base. The base MUST be pharo-project/pharo development.
>>>>>>>> Create the
>>>>>>>> >> > pull
>>>>>>>> >> > requests
>>>>>>>> >> > - go to https://github.com/pharo-project/pharo/pulls, check
>>>>>>>> your pull
>>>>>>>> >> > requests and put URL of it into the issue record on FogBugz
>>>>>>>> (as a
>>>>>>>> >> > comment).
>>>>>>>> >> > Resolve the issue as Fix review needed
>>>>>>>> >>
>>>>>>>> >> It means, there is no PR without a corresponding FogBugz issue ?
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > Yes, at least for code changes we would like to keep this
>>>>>>>> relation. If it is
>>>>>>>> > a really trivial change in readme or something like that, we can
>>>>>>>> accept no
>>>>>>>> > related issue record.
>>>>>>>> > Please prefer to comment the issues instead of PRs directly to
>>>>>>>> have all
>>>>>>>> > information at one place.
>>>>>>>>
>>>>>>>> Thank you Pavel for the explanation.
>>>>>>>>
>>>>>>>> Maybe in the future, it will make sense to put everything in the PR
>>>>>>>> and use github issues.
>>>>>>>> You will use CI travis builds for all PR ?
>>>>>>>>
>>>>>>>
>>>>>>> For now we will use FogBugz because it has a lot of nice features
>>>>>>> and good API. Maybe we will switch it in future but now we should not
>>>>>>> change too many things at once :-)
>>>>>>> For several reasons we now prefer to use own infrastructure for
>>>>>>> checking of PRs (mainly because of MacOS issues on Travis). But again, it
>>>>>>> can be changed in future.
>>>>>>>
>>>>>>>
>>>>>> It would be interesting to see how this might fit in with our
>>>>>> workflow...
>>>>>> https://blog.fogcreek.com/fogbugz-github-integration/
>>>>>>
>>>>>>
>>>>>>
>>>>>> What is the benefit of the integration? I do not understand it from
>>>>>> the given link.
>>>>>>
>>>>>>
>>>>> When you submit a PR on github, Fogbugz is automatically updated with
>>>>> a link to the PR.
>>>>> Presumably this makes it easier for people reviewing cases in Fogbugz
>>>>> to identify the slice to test.
>>>>> This is a better link...
>>>>> https://blog.fogcreek.com/improved-github-integration-automa
>>>>> tically-create-bug-events-with-commits/
>>>>>
>>>>> cheers -ben
>>>>>
>>>>
>
July 11, 2017
Re: [Pharo-dev] Pharo 7 provisional HOWTO
by Pavel Krivanek
What is the system you use?
AFAIK Esteban is fixing the latest Iceberg because it stopped to work on
Windows...
-- Pavel
2017-07-10 22:01 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>
>
> 2017-07-03 23:17 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>
>>
>>
>> 2017-06-28 18:25 GMT+02:00 Esteban Lorenzano <estebanlm(a)gmail.com>:
>>
>>>
>>> On 28 Jun 2017, at 18:21, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>>>
>>> And if I only want to contribute by reviewing a fix. Do I have to go the
>>> git-path ?
>>> Or is there a way to just start up an image and load and review the
>>> change?
>>>
>>>
>>> right now, you can review by going to github and seeing.
>>> I will add a âPR toolâ to view/load PRs into an image, but thatâs not
>>> ready. If someone wants to take a hit on it⦠the idea is to extend the
>>> github plugin with it :)
>>>
>>> cheers!
>>> Esteban
>>>
>>
>> Anyone got this working on windows (32) ?
>> I followed this guide, enabled the ssh key setting for iceberg.
>> But I still got the error :
>>
>> Image: Pharo7.0SNAPSHOT [Latest update: #0]
>>
>> LGitReturnCodeEnum>>handleLGitReturnCode
>> Receiver: a LGitReturnCodeEnum(#git_error [-1])
>> Arguments and temporary variables:
>> handler: LGit_GIT_ERROR
>> Receiver's instance variables:
>> value: -1
>>
>>
>> LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
>> Receiver: a LGitRepository (<not initialized>)
>> Arguments and temporary variables:
>> callBlock: [ self
>> clone: self
>> url: aString
>> local_path: aFileReference pathSt...etc...
>> Receiver's instance variables:
>> handle: @ 16r00000000
>> repositoryPath: File @ pharo-core
>> isOpen: nil
>> workingDirectory: nil
>>
>>
>> LGitRepository>>clone:options:to:
>> Receiver: a LGitRepository (<not initialized>)
>> Arguments and temporary variables:
>> aString: 'git@github.com:pharo-project/pharo.git'
>> cloneOptions: a LGitCloneOptions ()
>> aFileReference: File @ pharo-core
>> Receiver's instance variables:
>> handle: @ 16r00000000
>> repositoryPath: File @ pharo-core
>> isOpen: nil
>> workingDirectory: nil
>>
>>
>> And finally after some more tries, the vm crashed
>> (crash.dmp attached).
>>
>> If this only happens on windows, what else would be an option to start
>> with contributing for pharo 7 ?
>>
>
> maybe I am doing something wrong ? I thought this should work now with the
> latest vm (and libgit)?
> It is still crashing for me.
>
> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
> [0mExternalAddress class(Object)>>primitiveFailed:
> ExternalAddress class(Object)>>primitiveFailed
> ExternalAddress class>>allocate:
> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
> LGitRemoteCallbacks class>>defaults
> LGitRemoteCallbacks class>>withProvider:
> LGitCloneOptions class>>withCredentialsProvider:
> [ | repo cloneOptions |
> repo := LGitRepository on: self location.
> cloneOptions := LGitCloneOptions
> withCredentialsProvider: IceCredentialsProvider default.
> repo clone: url options: cloneOptions.
> aBranchName ifNotNil: [ repo checkout: aBranchName ].
> (LGitRemote of: repo named: 'origin')
> lookup;
> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
> in Block: [ | repo cloneOptions |...
> [ self checkInitialized.
> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
> [0mExternalAddress class(Object)>>primitiveFailed:
> ExternalAddress class(Object)>>primitiveFailed
> ExternalAddress class>>allocate:
> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
> LGitRemoteCallbacks class>>defaults
> LGitRemoteCallbacks class>>withProvider:
> LGitCloneOptions class>>withCredentialsProvider:
> [ | repo cloneOptions |
> repo := LGitRepository on: self location.
> cloneOptions := LGitCloneOptions
> withCredentialsProvider: IceCredentialsProvider default.
> repo clone: url options: cloneOptions.
> aBranchName ifNotNil: [ repo checkout: aBranchName ].
> (LGitRemote of: repo named: 'origin')
> lookup;
> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
> in Block: [ | repo cloneOptions |...
> [ self checkInitialized.
> aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self
> checkInitialized....
> [ activeProcess psValueAt: index put: anObject.
> aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in
> Block: [ activeProcess psValueAt: index put: anObject....
> BlockClosure>>ensure:
> LGitActionSequence(DynamicVariable)>>value:during:
> LGitActionSequence class(DynamicVariable class)>>value:during:
> LGitGlobal class>>runSequence:
> IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
> IceRepositoryCreator>>createRepository
> UndefinedObject>>DoIt
>
> VM windows 32 bit:
> CoInterpreter VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c
> Jul 10 2017
> StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid:
> 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 10 2017
> VM: 201707101916 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
> Date: Mon Jul 10 12:16:58 2017 -0700 $ Plugins: 201707101916
> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>
>
>
>
>
>>
>>
>>
>>>
>>>
>>> Am 28.06.2017 5:26 nachm. schrieb "Pavel Krivanek" <
>>> pavel.krivanek(a)gmail.com>:
>>>
>>>
>>>
>>> 2017-06-28 17:06 GMT+02:00 Clément Bera <bera.clement(a)gmail.com>:
>>>
>>>> Hi all,
>>>>
>>>> Just to be clear, in Pharo 7, if I want to get some code integrated:
>>>> - I *have to* use the pull request process described by Pavel
>>>> OR
>>>> - I *can* use the pull request process, but I can also use the old
>>>> slice monticello process
>>>> ?
>>>>
>>>> What is the answer to the first question now, and what will be the
>>>> answer of this question in 6 months from now ?
>>>>
>>>
>>> You should use the pull request process.
>>>
>>> It is possible to create a standard slice BUT it must be done from Pharo
>>> 6 and then sent into Pharo60Inbox. And then you need to wait until somebody
>>> converts this slice to pull request. That means that it will be harder and
>>> harder to contribute this way because the code-base is moving.
>>>
>>> No slice will be integrated into Pharo 7 with the old process directly.
>>>
>>> Cheers,
>>> -- Pavel
>>>
>>>
>>>
>>>>
>>>> Thanks
>>>>
>>>>
>>>> On Wed, Jun 28, 2017 at 3:42 PM, Ben Coman <btc(a)openinworld.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, Jun 28, 2017 at 3:46 PM, Juraj Kubelka <
>>>>> juraj.kubelka(a)icloud.com> wrote:
>>>>>
>>>>>>
>>>>>> El 28-06-2017, a las 02:57, Ben Coman <btc(a)openinworld.com> escribió:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Jun 27, 2017 at 10:35 PM, Pavel Krivanek <
>>>>>> pavel.krivanek(a)gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2017-06-27 16:17 GMT+02:00 Serge Stinckwich <
>>>>>>> serge.stinckwich(a)gmail.com>:
>>>>>>>
>>>>>>>> On Tue, Jun 27, 2017 at 3:10 PM, Pavel Krivanek
>>>>>>>> <pavel.krivanek(a)gmail.com> wrote:
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > 2017-06-27 15:57 GMT+02:00 Serge Stinckwich <
>>>>>>>> serge.stinckwich(a)gmail.com>:
>>>>>>>> >>
>>>>>>>> >> On Mon, Jun 26, 2017 at 12:14 PM, Pavel Krivanek
>>>>>>>> >> <pavel.krivanek(a)gmail.com> wrote:
>>>>>>>> >> > Hi,
>>>>>>>> >> >
>>>>>>>> >> > this mail describes how to start to send pull requests to
>>>>>>>> Pharo 7 Github
>>>>>>>> >> > repository from Pharo 7.
>>>>>>>> >>
>>>>>>>> >> Thank you for the great explanation Pavel.
>>>>>>>> >>
>>>>>>>> >> > Preparations
>>>>>>>> >> > =====================
>>>>>>>> >> >
>>>>>>>> >> > - you need to have a Github account and set SSH keys. See
>>>>>>>> >> > https://help.github.com/articles/connecting-to-github-with-s
>>>>>>>> sh/
>>>>>>>> >> > - create own pharo-project/pharo repository fork. Go to
>>>>>>>> >> > https://github.com/pharo-project/pharo, click on "Fork"
>>>>>>>> button and
>>>>>>>> >> > follow
>>>>>>>> >> > the instructions
>>>>>>>> >>
>>>>>>>> >> [ ... ]
>>>>>>>> >>
>>>>>>>> >> > Issue processing
>>>>>>>> >> > =====================
>>>>>>>> >> >
>>>>>>>> >> > - create new case on FogBugz to get the issue number
>>>>>>>> >> > - open Iceberg and from the context menu on the 'pharo'
>>>>>>>> repository do:
>>>>>>>> >> > Pharo
>>>>>>>> >> > - Create new branch from FogBugz issue, enter the issue ID and
>>>>>>>> it will
>>>>>>>> >> > fill
>>>>>>>> >> > the full branch name for you
>>>>>>>> >> > - create your changes (you can do it before the creation of
>>>>>>>> the branch
>>>>>>>> >> > too)
>>>>>>>> >> > - commit and push your changes in Iceberg, this way you will
>>>>>>>> commit your
>>>>>>>> >> > branch to your fork repository. Remember that the Iceberg
>>>>>>>> commit window
>>>>>>>> >> > has
>>>>>>>> >> > two buttons, one for local commit, the second for commit with
>>>>>>>> immediate
>>>>>>>> >> > push. They can be very long because they contain the full
>>>>>>>> branch (issue)
>>>>>>>> >> > name
>>>>>>>> >> > - in Iceberg in the 'pharo' repository context menu do: Pharo
>>>>>>>> - Create
>>>>>>>> >> > pull
>>>>>>>> >> > request, fill your
>>>>>>>> >> > - fill your Github credentials
>>>>>>>> >> > - leave the PR title, comment is not required, check the pull
>>>>>>>> request
>>>>>>>> >> > head
>>>>>>>> >> > and base. The base MUST be pharo-project/pharo development.
>>>>>>>> Create the
>>>>>>>> >> > pull
>>>>>>>> >> > requests
>>>>>>>> >> > - go to https://github.com/pharo-project/pharo/pulls, check
>>>>>>>> your pull
>>>>>>>> >> > requests and put URL of it into the issue record on FogBugz
>>>>>>>> (as a
>>>>>>>> >> > comment).
>>>>>>>> >> > Resolve the issue as Fix review needed
>>>>>>>> >>
>>>>>>>> >> It means, there is no PR without a corresponding FogBugz issue ?
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > Yes, at least for code changes we would like to keep this
>>>>>>>> relation. If it is
>>>>>>>> > a really trivial change in readme or something like that, we can
>>>>>>>> accept no
>>>>>>>> > related issue record.
>>>>>>>> > Please prefer to comment the issues instead of PRs directly to
>>>>>>>> have all
>>>>>>>> > information at one place.
>>>>>>>>
>>>>>>>> Thank you Pavel for the explanation.
>>>>>>>>
>>>>>>>> Maybe in the future, it will make sense to put everything in the PR
>>>>>>>> and use github issues.
>>>>>>>> You will use CI travis builds for all PR ?
>>>>>>>>
>>>>>>>
>>>>>>> For now we will use FogBugz because it has a lot of nice features
>>>>>>> and good API. Maybe we will switch it in future but now we should not
>>>>>>> change too many things at once :-)
>>>>>>> For several reasons we now prefer to use own infrastructure for
>>>>>>> checking of PRs (mainly because of MacOS issues on Travis). But again, it
>>>>>>> can be changed in future.
>>>>>>>
>>>>>>>
>>>>>> It would be interesting to see how this might fit in with our
>>>>>> workflow...
>>>>>> https://blog.fogcreek.com/fogbugz-github-integration/
>>>>>>
>>>>>>
>>>>>>
>>>>>> What is the benefit of the integration? I do not understand it from
>>>>>> the given link.
>>>>>>
>>>>>>
>>>>> When you submit a PR on github, Fogbugz is automatically updated with
>>>>> a link to the PR.
>>>>> Presumably this makes it easier for people reviewing cases in Fogbugz
>>>>> to identify the slice to test.
>>>>> This is a better link...
>>>>> https://blog.fogcreek.com/improved-github-integration-automa
>>>>> tically-create-bug-events-with-commits/
>>>>>
>>>>> cheers -ben
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>
July 11, 2017
Re: [Pharo-dev] Pharo 7 provisional HOWTO
by Yuriy Tymchuk
Hey, is it possible to integrate updates to external projects (like Renraku) into Pharo 7?
Uko
> On 10 Jul 2017, at 22:01, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
>
>
> 2017-07-03 23:17 GMT+02:00 Nicolai Hess <nicolaihess(a)gmail.com <mailto:nicolaihess@gmail.com>>:
>
>
> 2017-06-28 18:25 GMT+02:00 Esteban Lorenzano <estebanlm(a)gmail.com <mailto:estebanlm@gmail.com>>:
>
>> On 28 Jun 2017, at 18:21, Nicolai Hess <nicolaihess(a)gmail.com <mailto:nicolaihess@gmail.com>> wrote:
>>
>> And if I only want to contribute by reviewing a fix. Do I have to go the git-path ?
>> Or is there a way to just start up an image and load and review the change?
>
> right now, you can review by going to github and seeing.
> I will add a âPR toolâ to view/load PRs into an image, but thatâs not ready. If someone wants to take a hit on it⦠the idea is to extend the github plugin with it :)
>
> cheers!
> Esteban
>
> Anyone got this working on windows (32) ?
> I followed this guide, enabled the ssh key setting for iceberg.
> But I still got the error :
>
> Image: Pharo7.0SNAPSHOT [Latest update: #0]
>
> LGitReturnCodeEnum>>handleLGitReturnCode
> Receiver: a LGitReturnCodeEnum(#git_error [-1])
> Arguments and temporary variables:
> handler: LGit_GIT_ERROR
> Receiver's instance variables:
> value: -1
>
>
> LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
> Receiver: a LGitRepository (<not initialized>)
> Arguments and temporary variables:
> callBlock: [ self
> clone: self
> url: aString
> local_path: aFileReference pathSt...etc...
> Receiver's instance variables:
> handle: @ 16r00000000
> repositoryPath: File @ pharo-core
> isOpen: nil
> workingDirectory: nil
>
>
> LGitRepository>>clone:options:to:
> Receiver: a LGitRepository (<not initialized>)
> Arguments and temporary variables:
> aString: 'git@github.com:pharo-project/pharo.git'
> cloneOptions: a LGitCloneOptions ()
> aFileReference: File @ pharo-core
> Receiver's instance variables:
> handle: @ 16r00000000
> repositoryPath: File @ pharo-core
> isOpen: nil
> workingDirectory: nil
>
>
> And finally after some more tries, the vm crashed
> (crash.dmp attached).
>
> If this only happens on windows, what else would be an option to start with contributing for pharo 7 ?
>
> maybe I am doing something wrong ? I thought this should work now with the latest vm (and libgit)?
> It is still crashing for me.
>
> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
> [0mExternalAddress class(Object)>>primitiveFailed:
> ExternalAddress class(Object)>>primitiveFailed
> ExternalAddress class>>allocate:
> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
> LGitRemoteCallbacks class>>defaults
> LGitRemoteCallbacks class>>withProvider:
> LGitCloneOptions class>>withCredentialsProvider:
> [ | repo cloneOptions |
> repo := LGitRepository on: self location.
> cloneOptions := LGitCloneOptions
> withCredentialsProvider: IceCredentialsProvider default.
> repo clone: url options: cloneOptions.
> aBranchName ifNotNil: [ repo checkout: aBranchName ].
> (LGitRemote of: repo named: 'origin')
> lookup;
> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ | repo cloneOptions |...
> [ self checkInitialized.
> [31mPrimitiveFailed: primitive #allocate: in ExternalAddress class failed
> [0mExternalAddress class(Object)>>primitiveFailed:
> ExternalAddress class(Object)>>primitiveFailed
> ExternalAddress class>>allocate:
> LGitRemoteCallbacks class(FFIExternalStructure class)>>externalNew
> LGitRemoteCallbacks class(LGitStructWithDefaults class)>>defaults
> LGitRemoteCallbacks class>>defaults
> LGitRemoteCallbacks class>>withProvider:
> LGitCloneOptions class>>withCredentialsProvider:
> [ | repo cloneOptions |
> repo := LGitRepository on: self location.
> cloneOptions := LGitCloneOptions
> withCredentialsProvider: IceCredentialsProvider default.
> repo clone: url options: cloneOptions.
> aBranchName ifNotNil: [ repo checkout: aBranchName ].
> (LGitRemote of: repo named: 'origin')
> lookup;
> setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ | repo cloneOptions |...
> [ self checkInitialized.
> aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self checkInitialized....
> [ activeProcess psValueAt: index put: anObject.
> aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in Block: [ activeProcess psValueAt: index put: anObject....
> BlockClosure>>ensure:
> LGitActionSequence(DynamicVariable)>>value:during:
> LGitActionSequence class(DynamicVariable class)>>value:during:
> LGitGlobal class>>runSequence:
> IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
> IceRepositoryCreator>>createRepository
> UndefinedObject>>DoIt
>
> VM windows 32 bit:
> CoInterpreter VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 10 2017
> StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 10 2017
> VM: 201707101916 https://github.com/OpenSmalltalk/opensmalltalk-vm.git <https://github.com/OpenSmalltalk/opensmalltalk-vm.git> $ Date: Mon Jul 10 12:16:58 2017 -0700 $ Plugins: 201707101916 https://github.com/OpenSmalltalk/opensmalltalk-vm.git <https://github.com/OpenSmalltalk/opensmalltalk-vm.git> $
>
>
>
>
>
>
>
>>
>> Am 28.06.2017 5:26 nachm. schrieb "Pavel Krivanek" <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>>:
>>
>>
>> 2017-06-28 17:06 GMT+02:00 Clément Bera <bera.clement(a)gmail.com <mailto:bera.clement@gmail.com>>:
>> Hi all,
>>
>> Just to be clear, in Pharo 7, if I want to get some code integrated:
>> - I *have to* use the pull request process described by Pavel
>> OR
>> - I *can* use the pull request process, but I can also use the old slice monticello process
>> ?
>>
>> What is the answer to the first question now, and what will be the answer of this question in 6 months from now ?
>>
>> You should use the pull request process.
>>
>> It is possible to create a standard slice BUT it must be done from Pharo 6 and then sent into Pharo60Inbox. And then you need to wait until somebody converts this slice to pull request. That means that it will be harder and harder to contribute this way because the code-base is moving.
>>
>> No slice will be integrated into Pharo 7 with the old process directly.
>>
>> Cheers,
>> -- Pavel
>>
>>
>>
>> Thanks
>>
>>
>> On Wed, Jun 28, 2017 at 3:42 PM, Ben Coman <btc(a)openinworld.com <mailto:btc@openinworld.com>> wrote:
>>
>>
>> On Wed, Jun 28, 2017 at 3:46 PM, Juraj Kubelka <juraj.kubelka(a)icloud.com <mailto:juraj.kubelka@icloud.com>> wrote:
>>
>>> El 28-06-2017, a las 02:57, Ben Coman <btc(a)openinworld.com <mailto:btc@openinworld.com>> escribió:
>>>
>>>
>>>
>>> On Tue, Jun 27, 2017 at 10:35 PM, Pavel Krivanek <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>> wrote:
>>>
>>>
>>> 2017-06-27 16:17 GMT+02:00 Serge Stinckwich <serge.stinckwich(a)gmail.com <mailto:serge.stinckwich@gmail.com>>:
>>> On Tue, Jun 27, 2017 at 3:10 PM, Pavel Krivanek
>>> <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>> wrote:
>>> >
>>> >
>>> > 2017-06-27 15:57 GMT+02:00 Serge Stinckwich <serge.stinckwich(a)gmail.com <mailto:serge.stinckwich@gmail.com>>:
>>> >>
>>> >> On Mon, Jun 26, 2017 at 12:14 PM, Pavel Krivanek
>>> >> <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>> wrote:
>>> >> > Hi,
>>> >> >
>>> >> > this mail describes how to start to send pull requests to Pharo 7 Github
>>> >> > repository from Pharo 7.
>>> >>
>>> >> Thank you for the great explanation Pavel.
>>> >>
>>> >> > Preparations
>>> >> > =====================
>>> >> >
>>> >> > - you need to have a Github account and set SSH keys. See
>>> >> > https://help.github.com/articles/connecting-to-github-with-ssh/ <https://help.github.com/articles/connecting-to-github-with-ssh/>
>>> >> > - create own pharo-project/pharo repository fork. Go to
>>> >> > https://github.com/pharo-project/pharo <https://github.com/pharo-project/pharo>, click on "Fork" button and
>>> >> > follow
>>> >> > the instructions
>>> >>
>>> >> [ ... ]
>>> >>
>>> >> > Issue processing
>>> >> > =====================
>>> >> >
>>> >> > - create new case on FogBugz to get the issue number
>>> >> > - open Iceberg and from the context menu on the 'pharo' repository do:
>>> >> > Pharo
>>> >> > - Create new branch from FogBugz issue, enter the issue ID and it will
>>> >> > fill
>>> >> > the full branch name for you
>>> >> > - create your changes (you can do it before the creation of the branch
>>> >> > too)
>>> >> > - commit and push your changes in Iceberg, this way you will commit your
>>> >> > branch to your fork repository. Remember that the Iceberg commit window
>>> >> > has
>>> >> > two buttons, one for local commit, the second for commit with immediate
>>> >> > push. They can be very long because they contain the full branch (issue)
>>> >> > name
>>> >> > - in Iceberg in the 'pharo' repository context menu do: Pharo - Create
>>> >> > pull
>>> >> > request, fill your
>>> >> > - fill your Github credentials
>>> >> > - leave the PR title, comment is not required, check the pull request
>>> >> > head
>>> >> > and base. The base MUST be pharo-project/pharo development. Create the
>>> >> > pull
>>> >> > requests
>>> >> > - go to https://github.com/pharo-project/pharo/pulls <https://github.com/pharo-project/pharo/pulls>, check your pull
>>> >> > requests and put URL of it into the issue record on FogBugz (as a
>>> >> > comment).
>>> >> > Resolve the issue as Fix review needed
>>> >>
>>> >> It means, there is no PR without a corresponding FogBugz issue ?
>>> >
>>> >
>>> > Yes, at least for code changes we would like to keep this relation. If it is
>>> > a really trivial change in readme or something like that, we can accept no
>>> > related issue record.
>>> > Please prefer to comment the issues instead of PRs directly to have all
>>> > information at one place.
>>>
>>> Thank you Pavel for the explanation.
>>>
>>> Maybe in the future, it will make sense to put everything in the PR
>>> and use github issues.
>>> You will use CI travis builds for all PR ?
>>>
>>> For now we will use FogBugz because it has a lot of nice features and good API. Maybe we will switch it in future but now we should not change too many things at once :-)
>>> For several reasons we now prefer to use own infrastructure for checking of PRs (mainly because of MacOS issues on Travis). But again, it can be changed in future.
>>>
>>>
>>> It would be interesting to see how this might fit in with our workflow...
>>> https://blog.fogcreek.com/fogbugz-github-integration/ <https://blog.fogcreek.com/fogbugz-github-integration/>
>>
>>
>> What is the benefit of the integration? I do not understand it from the given link.
>>
>>
>> When you submit a PR on github, Fogbugz is automatically updated with a link to the PR.
>> Presumably this makes it easier for people reviewing cases in Fogbugz to identify the slice to test.
>> This is a better link...
>> https://blog.fogcreek.com/improved-github-integration-automatically-create-… <https://blog.fogcreek.com/improved-github-integration-automatically-create-…>
>>
>> cheers -ben
July 11, 2017