mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-07 22:15:51 +01:00
(refs #142)Fix NoSuchElementException for empty repository.
This commit is contained in:
@@ -186,8 +186,11 @@ trait PullRequestsControllerBase extends ControllerBase {
|
|||||||
}
|
}
|
||||||
case _ => {
|
case _ => {
|
||||||
using(Git.open(getRepositoryDir(forkedRepository.owner, forkedRepository.name))){ git =>
|
using(Git.open(getRepositoryDir(forkedRepository.owner, forkedRepository.name))){ git =>
|
||||||
val defaultBranch = JGitUtil.getDefaultBranch(git, forkedRepository).get._2
|
JGitUtil.getDefaultBranch(git, forkedRepository).map { case (_, defaultBranch) =>
|
||||||
redirect(s"${context.path}/${forkedRepository.owner}/${forkedRepository.name}/compare/${defaultBranch}...${defaultBranch}")
|
redirect(s"${context.path}/${forkedRepository.owner}/${forkedRepository.name}/compare/${defaultBranch}...${defaultBranch}")
|
||||||
|
} getOrElse {
|
||||||
|
redirect(s"${context.path}/${forkedRepository.owner}/${forkedRepository.name}")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -453,10 +453,11 @@ object JGitUtil {
|
|||||||
def getDefaultBranch(git: Git, repository: RepositoryService.RepositoryInfo,
|
def getDefaultBranch(git: Git, repository: RepositoryService.RepositoryInfo,
|
||||||
revstr: String = ""): Option[(ObjectId, String)] = {
|
revstr: String = ""): Option[(ObjectId, String)] = {
|
||||||
Seq(
|
Seq(
|
||||||
if(revstr.isEmpty) repository.repository.defaultBranch else revstr,
|
Some(if(revstr.isEmpty) repository.repository.defaultBranch else revstr),
|
||||||
repository.branchList.head
|
repository.branchList.headOption
|
||||||
).map { rev =>
|
).flatMap {
|
||||||
(git.getRepository.resolve(rev), rev)
|
case Some(rev) => Some((git.getRepository.resolve(rev), rev))
|
||||||
|
case None => None
|
||||||
}.find(_._1 != null)
|
}.find(_._1 != null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user