diff --git a/src/main/scala/service/PullRequestService.scala b/src/main/scala/service/PullRequestService.scala index 1298493..07f7145 100644 --- a/src/main/scala/service/PullRequestService.scala +++ b/src/main/scala/service/PullRequestService.scala @@ -3,7 +3,6 @@ import scala.slick.driver.H2Driver.simple._ import Database.threadLocalSession import model._ -import util.ControlUtil._ trait PullRequestService { self: IssuesService => import PullRequestService._ @@ -15,11 +14,10 @@ } } - def updateCommitIdTo(owner: String, repository: String, issueId: Int, commitIdTo: String): Unit = - Query(PullRequests).filter(_.byPrimaryKey(owner, repository, issueId)).map(_.commitIdTo).update(commitIdTo) - - def updateCommitIdFrom(owner: String, repository: String, issueId: Int, commitIdFrom: String): Unit = - Query(PullRequests).filter(_.byPrimaryKey(owner, repository, issueId)).map(_.commitIdFrom).update(commitIdFrom) + def updateCommitId(owner: String, repository: String, issueId: Int, commitIdTo: String, commitIdFrom: String): Unit = + Query(PullRequests).filter(_.byPrimaryKey(owner, repository, issueId)) + .map(pr => pr.commitIdTo ~ pr.commitIdFrom) + .update((commitIdTo, commitIdFrom)) def getPullRequestCountGroupByUser(closed: Boolean, owner: String, repository: Option[String]): List[PullRequestCount] = Query(PullRequests) diff --git a/src/main/scala/servlet/GitRepositoryServlet.scala b/src/main/scala/servlet/GitRepositoryServlet.scala index 94f0521..0e43432 100644 --- a/src/main/scala/servlet/GitRepositoryServlet.scala +++ b/src/main/scala/servlet/GitRepositoryServlet.scala @@ -226,13 +226,10 @@ .call val commitIdTo = oldGit.getRepository.resolve(s"refs/pull/${pullreq.issueId}/head").getName - updateCommitIdTo(pullreq.userName, pullreq.repositoryName, pullreq.issueId, commitIdTo) - val commitIdFrom = JGitUtil.getForkedCommitId(oldGit, newGit, pullreq.userName, pullreq.repositoryName, pullreq.branch, pullreq.requestUserName, pullreq.requestRepositoryName, pullreq.requestBranch) - // TODO(tanacasino): commitIdFrom and commitIdTo should be updated by one query... - updateCommitIdFrom(pullreq.userName, pullreq.repositoryName, pullreq.issueId, commitIdFrom) + updateCommitId(pullreq.userName, pullreq.repositoryName, pullreq.issueId, commitIdTo, commitIdFrom) } } }