summaryrefslogtreecommitdiff
path: root/defs
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2019-08-16 01:11:18 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-16 01:11:19 +0900
commitd013d8e02e895e08f7feb0977c0ea88e6f00b580 (patch)
tree48207e4a4e69ac057899dc23366ba75f6ee6de0c /defs
parent7c46aa6911a859877522cd61a2805adca6f65b9c (diff)
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.
Diffstat (limited to 'defs')
-rw-r--r--defs/gmake.mk9
1 files changed, 6 insertions, 3 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk
index b26c6031b2..2b4716b547 100644
--- a/defs/gmake.mk
+++ b/defs/gmake.mk
@@ -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)