1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Fix crash on $(PULL_REQUEST) expansion

by directly passing it to Ruby without passing a shell.
Formerly it was broken when $(PULL_REQUEST) included quotes.
This commit is contained in:
Takashi Kokubun 2019-08-16 01:11:18 +09:00
parent 7c46aa6911
commit d013d8e02e
No known key found for this signature in database
GPG key ID: 6FFC433B12EE23DD

View file

@ -192,9 +192,12 @@ checkout-github: fetch-github
.PHONY: update-github
update-github: checkout-github
$(eval PULL_REQUEST_API := https://api.github.com/repos/ruby/ruby/pulls/$(PR))
$(eval PULL_REQUEST := $(shell curl -s $(if $(GITHUB_TOKEN),-H "Authorization: bearer $(GITHUB_TOKEN)") $(PULL_REQUEST_API)))
$(eval FORK_REPO := $(shell $(BASERUBY) -rjson -e 'print JSON.parse(ARGV[0]).dig("head", "repo", "full_name")' '$(PULL_REQUEST)'))
$(eval PR_BRANCH := $(shell $(BASERUBY) -rjson -e 'print JSON.parse(ARGV[0]).dig("head", "ref")' '$(PULL_REQUEST)'))
$(eval PULL_REQUEST_FORK_BRANCH := $(shell \
curl -s $(if $(GITHUB_TOKEN),-H "Authorization: bearer $(GITHUB_TOKEN)") $(PULL_REQUEST_API) | \
$(BASERUBY) -rjson -e 'JSON.parse(STDIN.read)["head"].tap { |h| print "#{h["repo"]["full_name"]} #{h["ref"]}" }' \
))
$(eval FORK_REPO := $(shell echo $(PULL_REQUEST_FORK_BRANCH) | cut -d' ' -f1))
$(eval PR_BRANCH := $(shell echo $(PULL_REQUEST_FORK_BRANCH) | cut -d' ' -f2))
git merge master --no-edit
git remote add fork-$(PR) git@github.com:$(FORK_REPO).git
git push fork-$(PR) gh-$(PR):$(PR_BRANCH)