(refs #788)Fix NotFound in comparing with sibling repository

This commit is contained in:
Naoki Takezoe
2015-06-26 17:06:33 +09:00
parent 0e5af9ffa9
commit e0b9fc9481

View File

@@ -281,12 +281,18 @@ trait PullRequestsControllerBase extends ControllerBase {
val (forkedOwner, forkedId) = parseCompareIdentifie(forked, forkedRepository.owner) val (forkedOwner, forkedId) = parseCompareIdentifie(forked, forkedRepository.owner)
(for( (for(
originRepositoryName <- if(originOwner == forkedOwner){ originRepositoryName <- if(originOwner == forkedOwner) {
// Self repository
Some(forkedRepository.name) Some(forkedRepository.name)
} else if(Some(originOwner) == forkedRepository.repository.originUserName){
// Original repository
forkedRepository.repository.originRepositoryName
} else { } else {
forkedRepository.repository.originRepositoryName.orElse { // Sibling repository
getForkedRepositories(forkedRepository.owner, forkedRepository.name).find(_._1 == originOwner).map(_._2) 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) originRepository <- getRepository(originOwner, originRepositoryName, context.baseUrl)
) yield { ) yield {