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