From 7d8300b3cec6c97b84645eb134a9383fc6d974e3 Mon Sep 17 00:00:00 2001 From: Tomofumi Tanaka Date: Thu, 31 Oct 2013 00:30:18 +0900 Subject: [PATCH] (refs #179) Fetch from fork branch before merge --- src/main/scala/app/PullRequestsController.scala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/scala/app/PullRequestsController.scala b/src/main/scala/app/PullRequestsController.scala index 899ac9ec5..82fc1d7d2 100644 --- a/src/main/scala/app/PullRequestsController.scala +++ b/src/main/scala/app/PullRequestsController.scala @@ -118,8 +118,14 @@ trait PullRequestsControllerBase extends ControllerBase { // record activity recordMergeActivity(owner, name, loginAccount.userName, issueId, form.message) - // prepare merge branch - // TODO Dooes need update refs/pull/${issueId}/head branch before merge? + // prepare head/merge branch + val headName = s"refs/pull/${issueId}/head" + val headRef = new RefSpec(s"refs/heads/${pullreq.requestBranch}:${headName}").setForceUpdate(true) + git.fetch + .setRemote(getRepositoryDir(pullreq.requestUserName, pullreq.requestRepositoryName).toURI.toString) + .setRefSpecs(headRef) + .call + val updateMergeRef = git.getRepository.updateRef(s"refs/pull/${issueId}/merge") updateMergeRef.setNewObjectId(git.getRepository.resolve(s"refs/heads/${pullreq.branch}")) updateMergeRef.forceUpdate()