class OctoMerge::Strategy::MergeWithRebaseAndMessage

Public Instance Methods

run() click to toggle source
# File lib/octo_merge/strategy/merge_with_rebase_and_message.rb, line 6
def run
  fetch_master

  pull_requests.each do |pull_request|
    fetch(pull_request)

    git.checkout(pull_request.number_branch)
    git.rebase(master)

    git.checkout(master)
    git.merge_no_ff(pull_request.number_branch)

    add_merge_message(pull_request)

    git.delete_branch(pull_request.number_branch)
  end
end

Private Instance Methods

add_merge_message(pull_request) click to toggle source

TODO: Can we add a custom message to a merge commit in an easier way?

Note: It’s hard to add a multiline message with ‘merge –message`.

The ‘–file` options does not work for `git –merge` so we abuse `git commit –amend` to apply this message to the merge commit.

# File lib/octo_merge/strategy/merge_with_rebase_and_message.rb, line 32
def add_merge_message(pull_request)
  MergeMessageFile.path_for(pull_request) do |path|
    git.commit("--amend --file=#{path}")
  end
end