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 <nicolaih...@gmail.com> wrote:
> 
> 
> 
> 2017-07-03 23:17 GMT+02:00 Nicolai Hess <nicolaih...@gmail.com 
> <mailto:nicolaih...@gmail.com>>:
> 
> 
> 2017-06-28 18:25 GMT+02:00 Esteban Lorenzano <esteba...@gmail.com 
> <mailto:esteba...@gmail.com>>:
> 
>> On 28 Jun 2017, at 18:21, Nicolai Hess <nicolaih...@gmail.com 
>> <mailto:nicolaih...@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:     'g...@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.kriva...@gmail.com 
>> <mailto:pavel.kriva...@gmail.com>>:
>> 
>> 
>> 2017-06-28 17:06 GMT+02:00 Clément Bera <bera.clem...@gmail.com 
>> <mailto:bera.clem...@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 <b...@openinworld.com 
>> <mailto:b...@openinworld.com>> wrote:
>> 
>> 
>> On Wed, Jun 28, 2017 at 3:46 PM, Juraj Kubelka <juraj.kube...@icloud.com 
>> <mailto:juraj.kube...@icloud.com>> wrote:
>> 
>>> El 28-06-2017, a las 02:57, Ben Coman <b...@openinworld.com 
>>> <mailto:b...@openinworld.com>> escribió:
>>> 
>>> 
>>> 
>>> On Tue, Jun 27, 2017 at 10:35 PM, Pavel Krivanek <pavel.kriva...@gmail.com 
>>> <mailto:pavel.kriva...@gmail.com>> wrote:
>>> 
>>> 
>>> 2017-06-27 16:17 GMT+02:00 Serge Stinckwich <serge.stinckw...@gmail.com 
>>> <mailto:serge.stinckw...@gmail.com>>:
>>> On Tue, Jun 27, 2017 at 3:10 PM, Pavel Krivanek
>>> <pavel.kriva...@gmail.com <mailto:pavel.kriva...@gmail.com>> wrote:
>>> >
>>> >
>>> > 2017-06-27 15:57 GMT+02:00 Serge Stinckwich <serge.stinckw...@gmail.com 
>>> > <mailto:serge.stinckw...@gmail.com>>:
>>> >>
>>> >> On Mon, Jun 26, 2017 at 12:14 PM, Pavel Krivanek
>>> >> <pavel.kriva...@gmail.com <mailto:pavel.kriva...@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-bug-events-with-commits/
>>  
>> <https://blog.fogcreek.com/improved-github-integration-automatically-create-bug-events-with-commits/>
>>  
>> 
>> cheers -ben

Reply via email to