From 70192ce42094ff4ddccfa5a66a58f83e856b99e9 Mon Sep 17 00:00:00 2001 From: takezoe Date: Thu, 13 Mar 2014 22:26:15 +0900 Subject: [PATCH] (refs #115)Add new method to get sshUrl to RepositoryInfo --- src/main/scala/service/RepositoryService.scala | 6 +++++- src/main/scala/service/WebHookService.scala | 4 ++-- src/main/scala/view/Markdown.scala | 4 ++-- src/main/twirl/repo/guide.scala.html | 4 ++-- src/main/twirl/repo/tab.scala.html | 9 ++++----- src/main/twirl/wiki/tab.scala.html | 2 +- 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/main/scala/service/RepositoryService.scala b/src/main/scala/service/RepositoryService.scala index 9038ea54d..4c6abd1dc 100644 --- a/src/main/scala/service/RepositoryService.scala +++ b/src/main/scala/service/RepositoryService.scala @@ -288,10 +288,14 @@ trait RepositoryService { self: AccountService => object RepositoryService { - case class RepositoryInfo(owner: String, name: String, url: String, repository: Repository, + case class RepositoryInfo(owner: String, name: String, httpUrl: String, repository: Repository, issueCount: Int, pullCount: Int, commitCount: Int, forkedCount: Int, branchList: Seq[String], tags: Seq[util.JGitUtil.TagInfo], managers: Seq[String]){ + lazy val host = """^https?://(.+?)(:\d+)?/""".r.findFirstMatchIn(httpUrl).get.group(1) + + def sshUrl(port: Int) = s"ssh://${host}:${port}/${owner}/${name}.git" + /** * Creates instance with issue count and pull request count. */ diff --git a/src/main/scala/service/WebHookService.scala b/src/main/scala/service/WebHookService.scala index 496f78486..5662c4483 100644 --- a/src/main/scala/service/WebHookService.scala +++ b/src/main/scala/service/WebHookService.scala @@ -87,7 +87,7 @@ object WebHookService { refName, commits.map { commit => val diffs = JGitUtil.getDiffs(git, commit.id, false) - val commitUrl = repositoryInfo.url.replaceFirst("/git/", "/").replaceFirst("\\.git$", "") + "/commit/" + commit.id + val commitUrl = repositoryInfo.httpUrl.replaceFirst("/git/", "/").replaceFirst("\\.git$", "") + "/commit/" + commit.id WebHookCommit( id = commit.id, @@ -106,7 +106,7 @@ object WebHookService { }.toList, WebHookRepository( name = repositoryInfo.name, - url = repositoryInfo.url, + url = repositoryInfo.httpUrl, description = repositoryInfo.repository.description.getOrElse(""), watchers = 0, forks = repositoryInfo.forkedCount, diff --git a/src/main/scala/view/Markdown.scala b/src/main/scala/view/Markdown.scala index 6b7ab2dc7..4d998bd27 100644 --- a/src/main/scala/view/Markdown.scala +++ b/src/main/scala/view/Markdown.scala @@ -45,7 +45,7 @@ class GitBucketLinkRender(context: app.Context, repository: service.RepositorySe (text, text) } - val url = repository.url.replaceFirst("/git/", "/").replaceFirst("\\.git$", "") + "/wiki/" + StringUtil.urlEncode(page) + val url = repository.httpUrl.replaceFirst("/git/", "/").replaceFirst("\\.git$", "") + "/wiki/" + StringUtil.urlEncode(page) if(getWikiPage(repository.owner, repository.name, page).isDefined){ new Rendering(url, label) @@ -104,7 +104,7 @@ class GitBucketHtmlSerializer( if(!enableWikiLink || url.startsWith("http://") || url.startsWith("https://")){ url } else { - repository.url.replaceFirst("/git/", "/").replaceFirst("\\.git$", "") + "/wiki/_blob/" + url + repository.httpUrl.replaceFirst("/git/", "/").replaceFirst("\\.git$", "") + "/wiki/_blob/" + url } } diff --git a/src/main/twirl/repo/guide.scala.html b/src/main/twirl/repo/guide.scala.html index ad0231382..a5c7738fe 100644 --- a/src/main/twirl/repo/guide.scala.html +++ b/src/main/twirl/repo/guide.scala.html @@ -9,13 +9,13 @@ touch README.md git init git add README.md git commit -m "first commit" -git remote add origin @repository.url +git remote add origin @repository.httpUrl git push -u origin master

Push an existing repository from the command line

-git remote add origin @repository.url
+git remote add origin @repository.httpUrl
 git push -u origin master
 
} diff --git a/src/main/twirl/repo/tab.scala.html b/src/main/twirl/repo/tab.scala.html index df47e8d45..ebf444605 100644 --- a/src/main/twirl/repo/tab.scala.html +++ b/src/main/twirl/repo/tab.scala.html @@ -23,7 +23,7 @@ Branches@if(repository.branchList.length > 0){ @repository.branchList.length} Tags@if(repository.tags.length > 0){ @repository.tags.length}
  • - @helper.html.copy("repository-url-copy", repository.url, true){ + @helper.html.copy("repository-url-copy", repository.httpUrl, true){ @if(settings.ssh){
    @@ -31,7 +31,7 @@ } else { HTTP } - + }
  • @@ -44,12 +44,11 @@