Doing a pull request

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Doing a pull request

Rajula Vineet
Hi,

I am a GSoC student working on enhancing pharo command line interface. I was wondering if there is a procedure to make a pull request to the Github repo. It would be really helpful if someone can explain the right way of doing a Pull Request. Thanks in advance.

Rajula
Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

abergel
Hi Rajula,

What do you mean? A pull-request is typically done via the GitHub interface.

What do you need exactly?

Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



On Jun 14, 2017, at 10:55 AM, Rajula Vineet <[hidden email]> wrote:

Hi,

I am a GSoC student working on enhancing pharo command line interface. I was
wondering if there is a procedure to make a pull request to the Github repo.
It would be really helpful if someone can explain the right way of doing a
Pull Request. Thanks in advance.

Rajula



--
View this message in context: http://forum.world.st/Doing-a-pull-request-tp4951443.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

K K Subbu
In reply to this post by Rajula Vineet
On Wednesday 14 June 2017 08:25 PM, Rajula Vineet wrote:
> Hi,
>
> I am a GSoC student working on enhancing pharo command line interface. I was
> wondering if there is a procedure to make a pull request to the Github repo.
> It would be really helpful if someone can explain the right way of doing a
> Pull Request. Thanks in advance.

Have you already forked the upstream project in github (aka base) and
created a topic branch in your fork (aka head) to hold your changes?
Please post them here or in Discord chat if you need detailed help.
Follow the steps in :

  https://help.github.com/articles/creating-a-pull-request-from-a-fork/

Git jargon may be quite intimidating ;-) for first timers, but the
procedure is really simple. Just remember to start with the "Pull
Request" on the *base branch* and not your fork.

Regards .. Subbu

Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Pavel Krivanek-3
In reply to this post by Rajula Vineet
Hi, 

we still do not have official guidelines but this should help you:

1) you need own fork of pharo-project/pharo repository
2) clone pharo-project/pharo into directory named "pharo-core" in your working directory. You can do it from Iceberg (Clone repository) or by this script:

Iceberg enableMetacelloIntegration: true.
target := 'pharo-core' asFileReference ensureCreateDirectory.
repository := IceRepositoryCreator new 
remote: (IceRemote url: '[hidden email]:pharo-project/pharo.git');
location: target;
subdirectory:'src';
createRepository.
repository backend checkoutBranch: 'master'.
repository addRemote: (IceRemote name: 'myFork' url: '[hidden email]:yourGitHubAccount/pharo.git').
repository register.

Do not forget to change your fork URL. If you will do  it from Iceberg, you need to add remote manually.

3) set your fork remote as default push remote
4) create issue on FogBugz. You will obtain issue number e.g. 12345
5) in repository context menu in Iceberg and do Pharo-Create new branch from FogBugz issue, you will enter the issue number and the dialog wil fill the full branch name
6) do you changes and commit (and push) them to your fork repository
7) in repository context menu in Iceberg do: Pharo-Create pull request. Login, by default the title will be set to the branch name, let it be, comment is not needed. "From" will be your fork and your issue branch. "To" will be pharo-project/pharo and "development" branch
8) as soon as you create the pull request, add URL to this pull request to the FogBugz issue and mark it as resolved (fix review needed).

You need not to do it exactly this way, e.g. you can create the pull request from Github web interface, but the pull request name must contain the the issue number. And your issue must contain link to the pull request.

Cheers,
-- Pavel






2017-06-14 16:55 GMT+02:00 Rajula Vineet <[hidden email]>:
Hi,

I am a GSoC student working on enhancing pharo command line interface. I was
wondering if there is a procedure to make a pull request to the Github repo.
It would be really helpful if someone can explain the right way of doing a
Pull Request. Thanks in advance.

Rajula



--
View this message in context: http://forum.world.st/Doing-a-pull-request-tp4951443.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Rajula Vineet
In reply to this post by abergel
@abergel I was looking for some basic guidelines for example: creating a new branch with the issue name, having the issue number and name while submitting a PR. Something like this.

@Subbu I have forked it, but I haven`t made a new branch I will do it. Thanks for the tips.

@Pavel Thank you very much. This is what I was looking out for.

Rajula


Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Guillermo Polito
Thanks pavel, I'll copy paste it in the README :)

On Thu, Jun 15, 2017 at 10:43 AM, Rajula Vineet <[hidden email]> wrote:
@abergel I was looking for some basic guidelines for example: creating a new
branch with the issue name, having the issue number and name while
submitting a PR. Something like this.

@Subbu I have forked it, but I haven`t made a new branch I will do it.
Thanks for the tips.

@Pavel Thank you very much. This is what I was looking out for.

Rajula






--
View this message in context: http://forum.world.st/Doing-a-pull-request-tp4951443p4951485.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.




--

   

Guille Polito


Research Engineer

French National Center for Scientific Research - http://www.cnrs.fr



Web: http://guillep.github.io

Phone: +33 06 52 70 66 13

Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

EstebanLM
I’m sorry but I will need to intervine here :)
While it may look complicated /now/, it is because we are still fixing Pharo7 to work, who has a problem right now because since is bootstrapped it does not keeps any version info… then is complicated to calculate the diffs. But we are going to fix this.

Now, this is how the process will work once released:

0. You will have to have a fork of pharo  (this is like that and is “zero” because you doit once) 
1. You will clone pharo, using iceberg. This can be achieved two ways
a) by cloning if is first time.
b) by adding it if you already have this clone. Most people will end using this option.
2. work on fix/change
3. commit/push to your repo
4. do a Pull Request once finished. 

done. As you can see, this is very easy… Pavel showed an overcomplicated process that is just a workaround until we fix the problem I mentioned :)


On 15 Jun 2017, at 15:40, Guillermo Polito <[hidden email]> wrote:

Thanks pavel, I'll copy paste it in the README :)

I will not copy and paste all that in the README. It will not remain...

cheers, 
Esteban



On Thu, Jun 15, 2017 at 10:43 AM, Rajula Vineet <[hidden email]> wrote:
@abergel I was looking for some basic guidelines for example: creating a new
branch with the issue name, having the issue number and name while
submitting a PR. Something like this.

@Subbu I have forked it, but I haven`t made a new branch I will do it.
Thanks for the tips.

@Pavel Thank you very much. This is what I was looking out for.

Rajula






--
View this message in context: http://forum.world.st/Doing-a-pull-request-tp4951443p4951485.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.




--
   
Guille Polito

Research Engineer
French National Center for Scientific Research - http://www.cnrs.fr


Phone: +33 06 52 70 66 13

Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Eliot Miranda-2
Hi Stéphane,

On Jun 15, 2017, at 7:44 AM, Esteban Lorenzano <[hidden email]> wrote:

I’m sorry but I will need to intervine here :)
While it may look complicated /now/, it is because we are still fixing Pharo7 to work, who has a problem right now because since is bootstrapped it does not keeps any version info… then is complicated to calculate the diffs. But we are going to fix this.

Now, this is how the process will work once released:

0. You will have to have a fork of pharo  (this is like that and is “zero” because you doit once) 
1. You will clone pharo, using iceberg. This can be achieved two ways
a) by cloning if is first time.
b) by adding it if you already have this clone. Most people will end using this option.
2. work on fix/change
3. commit/push to your repo
4. do a Pull Request once finished. 

done. As you can see, this is very easy… Pavel showed an overcomplicated process that is just a workaround until we fix the problem I mentioned :)

From the website
  • Create a slice (group of packages):
    • Open the Monticello Browser.
    • Open the Slice Maker by clicking the "Slice" button.
    • In Slice Maker enter the Fogbugz issue number and "grab" the issue summary.
    • Select the dirty packages relevant to your bug fix. Dirty packages are prefixed by a start and are sorted to the top of the list of packages.
  • Verify your changes (click on changes button)
    • Select the Pharo60 repository
    • Select your slice
    • Press changes in the Monticello Browser and verify that your changes are the correct one.
  • Publish the slice to Pharo50Inbox:
    • Select the whole slice (not it's individual packages).
    • Select the SmalltalkHub Pharo Inbox repository.
    • Press the "Save" button to commit your slice to the inbox repository
  • Verify that your fix loads: take a fresh image and load the slice you published.
  • Update the bug entry to mention that you submitted a slice in the inbox.
  • In Fogzbugz, click on "Resolve" to Change the state of the issue to "Resolved: Fix Review Needed" and ensure that the milestone is set to the next release of Pharo.
  • Now you can feel good!

Too many steps.  Why is there still no integration with FogBugz?  Then there's the dubiousdescign decision of making a slice a selection of dirty packages instead of a selection of changes (what if I work on two things at once and they touch the same package?  => two Images).

How old is the slice process and there's no integration with fogbugz, shifting between tools.  When is iceberg going to be better integrated than the slice process?



On 15 Jun 2017, at 15:40, Guillermo Polito <[hidden email]> wrote:

Thanks pavel, I'll copy paste it in the README :)

I will not copy and paste all that in the README. It will not remain...

cheers, 
Esteban



On Thu, Jun 15, 2017 at 10:43 AM, Rajula Vineet <[hidden email]> wrote:
@abergel I was looking for some basic guidelines for example: creating a new
branch with the issue name, having the issue number and name while
submitting a PR. Something like this.

@Subbu I have forked it, but I haven`t made a new branch I will do it.
Thanks for the tips.

@Pavel Thank you very much. This is what I was looking out for.

Rajula






--
View this message in context: http://forum.world.st/Doing-a-pull-request-tp4951443p4951485.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.




--
   
Guille Polito

Research Engineer
French National Center for Scientific Research - http://www.cnrs.fr


Phone: +33 06 52 70 66 13

Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Marcus Denker-4

On 15 Jun 2017, at 18:00, Eliot Miranda <[hidden email]> wrote:

Hi Stéphane,

On Jun 15, 2017, at 7:44 AM, Esteban Lorenzano <[hidden email]> wrote:

I’m sorry but I will need to intervine here :)
While it may look complicated /now/, it is because we are still fixing Pharo7 to work, who has a problem right now because since is bootstrapped it does not keeps any version info… then is complicated to calculate the diffs. But we are going to fix this.

Now, this is how the process will work once released:

0. You will have to have a fork of pharo  (this is like that and is “zero” because you doit once) 
1. You will clone pharo, using iceberg. This can be achieved two ways
a) by cloning if is first time.
b) by adding it if you already have this clone. Most people will end using this option.
2. work on fix/change
3. commit/push to your repo
4. do a Pull Request once finished. 

done. As you can see, this is very easy… Pavel showed an overcomplicated process that is just a workaround until we fix the problem I mentioned :)

From the website
  • Create a slice (group of packages):
    • Open the Monticello Browser.
    • Open the Slice Maker by clicking the "Slice" button.
    • In Slice Maker enter the Fogbugz issue number and "grab" the issue summary.
    • Select the dirty packages relevant to your bug fix. Dirty packages are prefixed by a start and are sorted to the top of the list of packages.
  • Verify your changes (click on changes button)
    • Select the Pharo60 repository
    • Select your slice
    • Press changes in the Monticello Browser and verify that your changes are the correct one.
  • Publish the slice to Pharo50Inbox:
    • Select the whole slice (not it's individual packages).
    • Select the SmalltalkHub Pharo Inbox repository.
    • Press the "Save" button to commit your slice to the inbox repository
  • Verify that your fix loads: take a fresh image and load the slice you published.
  • Update the bug entry to mention that you submitted a slice in the inbox.
  • In Fogzbugz, click on "Resolve" to Change the state of the issue to "Resolved: Fix Review Needed" and ensure that the milestone is set to the next release of Pharo.
  • Now you can feel good!

Too many steps.  

This is the old process (for up to Pharo6). yes, too complex. Yes, we know that. Yes, it should have been
better and simpler…

Marcus
Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

K K Subbu
In reply to this post by EstebanLM
On Thursday 15 June 2017 08:14 PM, Esteban Lorenzano wrote:
> 2. work on fix/change
> 3. commit/push to your repo
> 4. do a Pull Request once finished.

Esteban,

Step 2 requires an issue to be created in Fogbugz. It would be nice to
do this within Pharo itself.

When creating an issue FB requires every detail to be filled in. Most
issues arise while testing or debugging, so it would be easy to get most
of the details from a debug session or test failure and then file an issue.

Regards .. Subbu


Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

EstebanLM

> On 16 Jun 2017, at 16:50, K K Subbu <[hidden email]> wrote:
>
> On Thursday 15 June 2017 08:14 PM, Esteban Lorenzano wrote:
>> 2. work on fix/change
>> 3. commit/push to your repo
>> 4. do a Pull Request once finished.
>
> Esteban,
>
> Step 2 requires an issue to be created in Fogbugz. It would be nice to do this within Pharo itself.

it would be, yes.
I have even played with the idea of having a “report bug” button on debugger for years now…

but then, someone has to program it :)

Esteban

>
> When creating an issue FB requires every detail to be filled in. Most issues arise while testing or debugging, so it would be easy to get most of the details from a debug session or test failure and then file an issue.
>
> Regards .. Subbu
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

K K Subbu
On Friday 16 June 2017 10:57 PM, Esteban Lorenzano wrote:
>> Esteban,
>>
>> Step 2 requires an issue to be created in Fogbugz. It would be nice
>> to do this within Pharo itself.
> it would be, yes. I have even played with the idea of having a
> “report bug” button on debugger for years now…
>
> but then, someone has to program it:)

Juraj has already demonstrated FogBugz integration in his PharoSprint
app. Extending to debugging or slicemaker could a nice project for
students or in hackathons.

I have filed a case 20162 to track this:

  https://pharo.fogbugz.com/f/cases/20162

Regards .. Subbu



Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Stephane Ducasse-3
In reply to this post by K K Subbu
What is the base branch?
The master?

On Thu, Jun 15, 2017 at 8:17 AM, K K Subbu <[hidden email]> wrote:

> On Wednesday 14 June 2017 08:25 PM, Rajula Vineet wrote:
>>
>> Hi,
>>
>> I am a GSoC student working on enhancing pharo command line interface. I
>> was
>> wondering if there is a procedure to make a pull request to the Github
>> repo.
>> It would be really helpful if someone can explain the right way of doing a
>> Pull Request. Thanks in advance.
>
>
> Have you already forked the upstream project in github (aka base) and
> created a topic branch in your fork (aka head) to hold your changes? Please
> post them here or in Discord chat if you need detailed help. Follow the
> steps in :
>
>  https://help.github.com/articles/creating-a-pull-request-from-a-fork/
>
> Git jargon may be quite intimidating ;-) for first timers, but the procedure
> is really simple. Just remember to start with the "Pull Request" on the
> *base branch* and not your fork.
>
> Regards .. Subbu
>

Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Stephane Ducasse-3
Esteban

what is the process for people to publish in the inbox of Pharo 70?
This is what we should add in the readme even if it changes.
I have enhancements waiting for a couple of months and I would like to
start pushing them.

Stef



On Sat, Jun 17, 2017 at 8:41 AM, Stephane Ducasse
<[hidden email]> wrote:

> What is the base branch?
> The master?
>
> On Thu, Jun 15, 2017 at 8:17 AM, K K Subbu <[hidden email]> wrote:
>> On Wednesday 14 June 2017 08:25 PM, Rajula Vineet wrote:
>>>
>>> Hi,
>>>
>>> I am a GSoC student working on enhancing pharo command line interface. I
>>> was
>>> wondering if there is a procedure to make a pull request to the Github
>>> repo.
>>> It would be really helpful if someone can explain the right way of doing a
>>> Pull Request. Thanks in advance.
>>
>>
>> Have you already forked the upstream project in github (aka base) and
>> created a topic branch in your fork (aka head) to hold your changes? Please
>> post them here or in Discord chat if you need detailed help. Follow the
>> steps in :
>>
>>  https://help.github.com/articles/creating-a-pull-request-from-a-fork/
>>
>> Git jargon may be quite intimidating ;-) for first timers, but the procedure
>> is really simple. Just remember to start with the "Pull Request" on the
>> *base branch* and not your fork.
>>
>> Regards .. Subbu
>>

Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Pavel Krivanek-3
You can just simply do them from Pharo 6 and place them into Pharo 6 inbox. We will then convert them to pull requests as we already did for most of prepared slices.

Cheers,
-- Pavel

2017-06-17 9:03 GMT+02:00 Stephane Ducasse <[hidden email]>:
Esteban

what is the process for people to publish in the inbox of Pharo 70?
This is what we should add in the readme even if it changes.
I have enhancements waiting for a couple of months and I would like to
start pushing them.

Stef



On Sat, Jun 17, 2017 at 8:41 AM, Stephane Ducasse
<[hidden email]> wrote:
> What is the base branch?
> The master?
>
> On Thu, Jun 15, 2017 at 8:17 AM, K K Subbu <[hidden email]> wrote:
>> On Wednesday 14 June 2017 08:25 PM, Rajula Vineet wrote:
>>>
>>> Hi,
>>>
>>> I am a GSoC student working on enhancing pharo command line interface. I
>>> was
>>> wondering if there is a procedure to make a pull request to the Github
>>> repo.
>>> It would be really helpful if someone can explain the right way of doing a
>>> Pull Request. Thanks in advance.
>>
>>
>> Have you already forked the upstream project in github (aka base) and
>> created a topic branch in your fork (aka head) to hold your changes? Please
>> post them here or in Discord chat if you need detailed help. Follow the
>> steps in :
>>
>>  https://help.github.com/articles/creating-a-pull-request-from-a-fork/
>>
>> Git jargon may be quite intimidating ;-) for first timers, but the procedure
>> is really simple. Just remember to start with the "Pull Request" on the
>> *base branch* and not your fork.
>>
>> Regards .. Subbu
>>


Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Juraj Kubelka
In reply to this post by EstebanLM

> El 16-06-2017, a las 19:27, Esteban Lorenzano <[hidden email]> escribió:
>
>
>> On 16 Jun 2017, at 16:50, K K Subbu <[hidden email]> wrote:
>>
>> On Thursday 15 June 2017 08:14 PM, Esteban Lorenzano wrote:
>>> 2. work on fix/change
>>> 3. commit/push to your repo
>>> 4. do a Pull Request once finished.
>>
>> Esteban,
>>
>> Step 2 requires an issue to be created in Fogbugz. It would be nice to do this within Pharo itself.
>
> it would be, yes.
> I have even played with the idea of having a “report bug” button on debugger for years now…

Hi, I am currently playing with something like this :-) Well, I am reporting it to a Discord channel because someone may want to report and share troubles that are not related only with Pharo core, e.g., Roassal or other external projects. But we can have two buttons for sure.

I will share it once it is ready for public review.

Juraj

>
> but then, someone has to program it :)
>
> Esteban
>
>>
>> When creating an issue FB requires every detail to be filled in. Most issues arise while testing or debugging, so it would be easy to get most of the details from a debug session or test failure and then file an issue.
>>
>> Regards .. Subbu
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

Stephane Ducasse-3
HI juraj

yes it would really cool.

Stef

On Sun, Jun 18, 2017 at 1:11 PM, Juraj Kubelka <[hidden email]> wrote:

>
>> El 16-06-2017, a las 19:27, Esteban Lorenzano <[hidden email]> escribió:
>>
>>
>>> On 16 Jun 2017, at 16:50, K K Subbu <[hidden email]> wrote:
>>>
>>> On Thursday 15 June 2017 08:14 PM, Esteban Lorenzano wrote:
>>>> 2. work on fix/change
>>>> 3. commit/push to your repo
>>>> 4. do a Pull Request once finished.
>>>
>>> Esteban,
>>>
>>> Step 2 requires an issue to be created in Fogbugz. It would be nice to do this within Pharo itself.
>>
>> it would be, yes.
>> I have even played with the idea of having a “report bug” button on debugger for years now…
>
> Hi, I am currently playing with something like this :-) Well, I am reporting it to a Discord channel because someone may want to report and share troubles that are not related only with Pharo core, e.g., Roassal or other external projects. But we can have two buttons for sure.
>
> I will share it once it is ready for public review.
>
> Juraj
>
>>
>> but then, someone has to program it :)
>>
>> Esteban
>>
>>>
>>> When creating an issue FB requires every detail to be filled in. Most issues arise while testing or debugging, so it would be easy to get most of the details from a debug session or test failure and then file an issue.
>>>
>>> Regards .. Subbu
>>>
>>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Doing a pull request

EstebanLM
yes please :)

> On 18 Jun 2017, at 15:40, Stephane Ducasse <[hidden email]> wrote:
>
> HI juraj
>
> yes it would really cool.
>
> Stef
>
> On Sun, Jun 18, 2017 at 1:11 PM, Juraj Kubelka <[hidden email]> wrote:
>>
>>> El 16-06-2017, a las 19:27, Esteban Lorenzano <[hidden email]> escribió:
>>>
>>>
>>>> On 16 Jun 2017, at 16:50, K K Subbu <[hidden email]> wrote:
>>>>
>>>> On Thursday 15 June 2017 08:14 PM, Esteban Lorenzano wrote:
>>>>> 2. work on fix/change
>>>>> 3. commit/push to your repo
>>>>> 4. do a Pull Request once finished.
>>>>
>>>> Esteban,
>>>>
>>>> Step 2 requires an issue to be created in Fogbugz. It would be nice to do this within Pharo itself.
>>>
>>> it would be, yes.
>>> I have even played with the idea of having a “report bug” button on debugger for years now…
>>
>> Hi, I am currently playing with something like this :-) Well, I am reporting it to a Discord channel because someone may want to report and share troubles that are not related only with Pharo core, e.g., Roassal or other external projects. But we can have two buttons for sure.
>>
>> I will share it once it is ready for public review.
>>
>> Juraj
>>
>>>
>>> but then, someone has to program it :)
>>>
>>> Esteban
>>>
>>>>
>>>> When creating an issue FB requires every detail to be filled in. Most issues arise while testing or debugging, so it would be easy to get most of the details from a debug session or test failure and then file an issue.
>>>>
>>>> Regards .. Subbu
>>>>
>>>>
>>>
>>>
>>
>>
>