aboutsummaryrefslogtreecommitdiffstats
path: root/defs
diff options
context:
space:
mode:
Diffstat (limited to 'defs')
-rw-r--r--defs/gmake.mk10
1 files changed, 6 insertions, 4 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk
index 73ae01bf12..4e0e2330fe 100644
--- a/defs/gmake.mk
+++ b/defs/gmake.mk
@@ -170,10 +170,12 @@ fetch-github:
.PHONY: merge-github
merge-github: fetch-github
- $(Q) $(eval GITHUB_MERGE_BASE := $(shell git -C "$(srcdir)" log -1 --format=format:%H))
- git -C "$(srcdir)" checkout "gh-$(PR)"
- git -C "$(srcdir)" rebase -
- git -C "$(srcdir)" checkout -
+ $(eval GITHUB_MERGE_BASE := $(shell git -C "$(srcdir)" log -1 --format=format:%H))
+ $(eval GITHUB_MERGE_BRANCH := $(shell git -C "$(srcdir)" symbolic-ref --short HEAD))
+ $(eval GITHUB_MERGE_WORKTREE := $(shell mktemp -d gh-$(PR)-XXXXXX))
+ git -C "$(srcdir)" worktree add $(GITHUB_MERGE_WORKTREE) "gh-$(PR)"
+ git -C "$(GITHUB_MERGE_WORKTREE)" rebase $(GITHUB_MERGE_BRANCH)
+ git -C "$(srcdir)" worktree remove "$(GITHUB_MERGE_WORKTREE)"
git -C "$(srcdir)" merge --ff-only "gh-$(PR)"
git -C "$(srcdir)" branch -D "gh-$(PR)"
git -C "$(srcdir)" filter-branch -f \