diff --git a/build.sbt b/build.sbt index 0fa50e9..a08aa2a 100644 --- a/build.sbt +++ b/build.sbt @@ -10,7 +10,7 @@ organization := Organization name := Name version := GitBucketVersion -scalaVersion := "2.12.1" +scalaVersion := "2.12.2" // dependency settings resolvers ++= Seq( diff --git a/src/main/scala/gitbucket/core/controller/IndexController.scala b/src/main/scala/gitbucket/core/controller/IndexController.scala index 9d0316f..524f26f 100644 --- a/src/main/scala/gitbucket/core/controller/IndexController.scala +++ b/src/main/scala/gitbucket/core/controller/IndexController.scala @@ -26,13 +26,13 @@ "password" -> trim(label("Password", text(required))) )(SignInForm.apply) - val searchForm = mapping( - "query" -> trim(text(required)), - "owner" -> trim(text(required)), - "repository" -> trim(text(required)) - )(SearchForm.apply) - - case class SearchForm(query: String, owner: String, repository: String) +// val searchForm = mapping( +// "query" -> trim(text(required)), +// "owner" -> trim(text(required)), +// "repository" -> trim(text(required)) +// )(SearchForm.apply) +// +// case class SearchForm(query: String, owner: String, repository: String) get("/"){ @@ -163,7 +163,7 @@ get("/search"){ val query = params.getOrElse("query", "").trim.toLowerCase - val visibleRepositories = getVisibleRepositories(context.loginAccount, None) + val visibleRepositories = getVisibleRepositories(context.loginAccount, repositoryUserName = None, withoutPhysicalInfo = true) val repositories = visibleRepositories.filter { repository => repository.name.toLowerCase.indexOf(query) >= 0 || repository.owner.toLowerCase.indexOf(query) >= 0 } diff --git a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala index 981ed95..9732ae3 100644 --- a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala @@ -143,6 +143,10 @@ defining(getReleaseFilesDir(repository.owner, repository.name)){ dir => if(dir.isDirectory) { FileUtils.moveDirectory(dir, getReleaseFilesDir(repository.owner, form.repositoryName)) + // Move attached directory + defining(getAttachedDir(repository.owner, repository.name)){ dir => + if(dir.isDirectory) { + FileUtils.moveDirectory(dir, getAttachedDir(repository.owner, form.repositoryName)) } } // Delete parent directory @@ -362,6 +366,10 @@ defining(getReleaseFilesDir(repository.owner, repository.name)){ dir => if(dir.isDirectory) { FileUtils.moveDirectory(dir, getReleaseFilesDir(form.newOwner, repository.name)) + // Move attached directory + defining(getAttachedDir(repository.owner, repository.name)){ dir => + if(dir.isDirectory) { + FileUtils.moveDirectory(dir, getAttachedDir(form.newOwner, repository.name)) } } // Delere parent directory diff --git a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala index 81579f5..6fc90d7 100644 --- a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala @@ -675,8 +675,8 @@ val oid = git.getRepository.resolve(revision) val revCommit = JGitUtil.getRevCommitFromId(git, oid) val sha1 = oid.getName() - val filename = repository.name + "-" + - (if(sha1.startsWith(revision)) sha1 else revision).replace('/','-') + suffix + val repositorySuffix = (if(sha1.startsWith(revision)) sha1 else revision).replace('/','-') + val filename = repository.name + "-" + repositorySuffix + suffix contentType = "application/octet-stream" response.setHeader("Content-Disposition", s"attachment; filename=${filename}") @@ -684,6 +684,7 @@ git.archive .setFormat(suffix.tail) + .setPrefix(repository.name + "-" + repositorySuffix + "/") .setTree(revCommit) .setOutputStream(response.getOutputStream) .call() diff --git a/src/main/scala/gitbucket/core/service/RepositoryService.scala b/src/main/scala/gitbucket/core/service/RepositoryService.scala index 4fceacc..71d40bc 100644 --- a/src/main/scala/gitbucket/core/service/RepositoryService.scala +++ b/src/main/scala/gitbucket/core/service/RepositoryService.scala @@ -273,11 +273,19 @@ JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName) }, repository, - getForkedCount( - repository.originUserName.getOrElse(repository.userName), - repository.originRepositoryName.getOrElse(repository.repositoryName) - ), - getRepositoryManagers(repository.userName)) + if(withoutPhysicalInfo){ + -1 + } else { + getForkedCount( + repository.originUserName.getOrElse(repository.userName), + repository.originRepositoryName.getOrElse(repository.repositoryName) + ) + }, + if(withoutPhysicalInfo){ + Nil + } else { + getRepositoryManagers(repository.userName) + }) } } @@ -311,7 +319,7 @@ case None => Repositories filter(_.isPrivate === false.bind) }).filter { t => repositoryUserName.map { userName => t.userName === userName.bind } getOrElse LiteralColumn(true) - }.sortBy(_.lastActivityDate desc).list.map{ repository => + }.sortBy(_.lastActivityDate desc).list.map { repository => new RepositoryInfo( if(withoutPhysicalInfo){ new JGitUtil.RepositoryInfo(repository.userName, repository.repositoryName) @@ -319,11 +327,19 @@ JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName) }, repository, - getForkedCount( - repository.originUserName.getOrElse(repository.userName), - repository.originRepositoryName.getOrElse(repository.repositoryName) - ), - getRepositoryManagers(repository.userName)) + if(withoutPhysicalInfo){ + -1 + } else { + getForkedCount( + repository.originUserName.getOrElse(repository.userName), + repository.originRepositoryName.getOrElse(repository.repositoryName) + ) + }, + if(withoutPhysicalInfo) { + Nil + } else { + getRepositoryManagers(repository.userName) + }) } } diff --git a/src/main/twirl/gitbucket/core/helper/branchcontrol.scala.html b/src/main/twirl/gitbucket/core/helper/branchcontrol.scala.html index 09e3feb..4d3c673 100644 --- a/src/main/twirl/gitbucket/core/helper/branchcontrol.scala.html +++ b/src/main/twirl/gitbucket/core/helper/branchcontrol.scala.html @@ -31,7 +31,7 @@ $('#branch-control-input').keyup(function() { var inputVal = $('#branch-control-input').val(); $.each($('#branch-control-input').parent().parent().find('a'), function(index, elem) { - if (!inputVal || !elem.text.trim() || elem.text.trim().lastIndexOf(inputVal, 0) >= 0) { + if (!inputVal || !elem.text.trim() || elem.text.trim().match(new RegExp(inputVal,'i'))) { $(elem).parent().show(); } else { $(elem).parent().hide(); diff --git a/src/main/webapp/assets/common/css/gitbucket.css b/src/main/webapp/assets/common/css/gitbucket.css index 45e4f10..337b989 100644 --- a/src/main/webapp/assets/common/css/gitbucket.css +++ b/src/main/webapp/assets/common/css/gitbucket.css @@ -342,6 +342,8 @@ ul.dropdown-menu { padding: 2px 0; + overflow: auto; + max-height: 100vh; } ul.dropdown-menu li {