Working with Git
Sterling Smith
smithsp at fusion.gat.com
Thu Oct 6 11:18:40 PDT 2016
On Oct 6, 2016, at 10:58AM, Rainer Müller <raimue at macports.org> wrote:
> On 2016-10-06 09:33, Sterling Smith wrote:
>> On Oct 5, 2016, at 7:53PM, Ryan Schmidt <ryandesign at macports.org> wrote:
>>
>>> Suppose a user submits an update to a port.
>>>
>>> With Subversion, the user would submit a patch in a Trac ticket. To test it, I would download the patch and apply it to my local Subversion working copy. If I like it, I commit it. If I don't like it, I give feedback to the user in the ticket, or I edit the Portfile further and commit it, then tell the user in the ticket what changes I made.
>>>
>>> How will this work on GitHub?
>>>
>>> The user will submit a pull request. How do I test it locally?
>> You test their changes by checking out their branch on your system. Most likely they are on their own fork, and you will need to add their fork as a new remote
>>
>> git remote add <name describing the fork> <path to fork>
>>
>> before checking out their branch by issuing
>>
>> git checkout <branch> # Note that this can fail if more than one remote has the same branch name (such as master...), and there is a more verbose way to indicate from where to check out the branch
>
> You will not need a new remote for this as GitHub will store a copy of
> the branch submitted in the pull request in our repository.
>
> Check the GitHub documentation here:
>
> https://help.github.com/articles/checking-out-pull-requests-locally/#modifying-an-inactive-pull-request-locally
Thanks, I learned something new.
>
>
> You can also use the hub [1] wrapper around git
Yet another thing I have learned.
> to make such things
> easier. This tool implies all repository URLs will point to GitHub. For
> example, the command
> hub remote add raimue/ports
> would add a new remote named "raimue" with the URL for this repository
> on GitHub.
>
> Even better, many commands will just accept references to commits or
> pull requests on GitHub. For example, you can directly switch to a local
> checkout of a pull request with a single command:
> hub checkout https://github.com/macports/ports/pull/42
> Also works similarly with 'hub cherry-pick' or 'hub am'.
Perhaps the MacPorts recommendation (via wiki documentation) should be to use hub instead of git, if it is so great.
-Sterling
>
> Although I do not like their proposal to alias git to hub, as I like to
> keep control what extensions I use with git. I prefer to explicitly call
> hub when I want to work with GitHub.
>
> Rainer
>
> [1] https://hub.github.com/ ; 'sudo port install hub'
> _______________________________________________
> macports-dev mailing list
> macports-dev at lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/macports-dev
More information about the macports-dev
mailing list