(original) (raw)
On Jun 25, 2017 08:12, "Jakub Wilk" <jwilk@jwilk.net> wrote:
\* Paul Sokolovsky <pmiscml@gmail.com>, 2017-06-25, 11:47:Right, this is documented here:
A GitHub PR is just a git branch (in somebody else's repository, but also in the repository it's submitted to). So, like any git branch, you can fetch it, re-branch to your local branch, apply any changes to it, rebase, push anywhere.
https://help.github.com/articles/checking-out-pull-requests- locally/ I have this in my gitconfig:
There're also various tools for dealing specifically with git branch layout as used by Github, and every real man writes their own
\[alias\]
hub-pr = ! "\_g() { set -e -u; git fetch origin \\"pull/$1/head:gh-$1\\" && git checkout \\"gh-$1\\"; }; \_g"
If I want to checkout PR#42, I do:
$ git hub-pr 42
I believe you and Paul are missing the specific problem that Antoine was talking about, which is: how can we easily make changes \*to someone else's PR\*, i.e. these changes should show up in the diff view if you go to the PR's web page. This requires not just getting a copy of the PR branch locally, but also pushing it back to the original submitter's branch on GitHub.
Allegedly this is possible in most cases (there's a permissions toggle the submitter can set, but it's set by default):
However, like Antoine, when I've tried to do this then all I've managed is to get obscure errors from GitHub. Did I have the wrong incantations? Was the permissions toggle set wrong? (I thought the web ui said it wasn't, but maybe I misunderstood.) It's a mystery. Has anyone figured out how to make \*this\* work reliably or ergonomically?
Also, as a general comment, not directed at Jakub: the posturing about how easy git is reminds me of the posturing about how much better language X is than others described here: http://blog.aurynn.com/contempt-culture-2. My dudes, in a previous life I helped invent distributed VCS, but I still get confused by fiddly git BS just like everyone else. I know you probably aren't meaning to go around telling people that they're not Real Programmers because they get confused like me, but you are and it's not kind; please stop.
-n