mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Rebase the pull request in a worktree
A pull request based on an old commit may rewind too many files, even if unnecessary. As rewinding some files, e.g., common header files, configure.ac, will result in full-rebuild, rebase in a separate directory to get rid of such rewind.
This commit is contained in:
parent
d0ba4abf1a
commit
09ce223b0b
1 changed files with 6 additions and 4 deletions
|
@ -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 \
|
||||
|
|
Loading…
Reference in a new issue