From e0b9fc948196ce5c3d469c5e5c6a8fb81fc36a7c Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Fri, 26 Jun 2015 17:06:33 +0900 Subject: [PATCH] (refs #788)Fix NotFound in comparing with sibling repository --- .../core/controller/PullRequestsController.scala | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/PullRequestsController.scala b/src/main/scala/gitbucket/core/controller/PullRequestsController.scala index 5c6d6dd16..fcddd279d 100644 --- a/src/main/scala/gitbucket/core/controller/PullRequestsController.scala +++ b/src/main/scala/gitbucket/core/controller/PullRequestsController.scala @@ -281,12 +281,18 @@ trait PullRequestsControllerBase extends ControllerBase { val (forkedOwner, forkedId) = parseCompareIdentifie(forked, forkedRepository.owner) (for( - originRepositoryName <- if(originOwner == forkedOwner){ + originRepositoryName <- if(originOwner == forkedOwner) { + // Self repository Some(forkedRepository.name) + } else if(Some(originOwner) == forkedRepository.repository.originUserName){ + // Original repository + forkedRepository.repository.originRepositoryName } else { - forkedRepository.repository.originRepositoryName.orElse { - getForkedRepositories(forkedRepository.owner, forkedRepository.name).find(_._1 == originOwner).map(_._2) - } + // Sibling repository + getUserRepositories(originOwner, context.baseUrl).find { x => + x.repository.originUserName == forkedRepository.repository.originUserName && + x.repository.originRepositoryName == forkedRepository.repository.originRepositoryName + }.map(_.repository.repositoryName) }; originRepository <- getRepository(originOwner, originRepositoryName, context.baseUrl) ) yield {