From dc78dc9b0dbc27418c42d2347681c22430c3ebfe Mon Sep 17 00:00:00 2001 From: odz Date: Sat, 30 Nov 2013 18:57:19 +0900 Subject: [PATCH 01/47] Close issues via commit messages --- src/main/scala/app/PullRequestsController.scala | 13 +++++++++++++ src/main/scala/service/IssuesService.scala | 12 ++++++++++++ src/main/scala/servlet/GitRepositoryServlet.scala | 8 ++++++++ 3 files changed, 33 insertions(+) diff --git a/src/main/scala/app/PullRequestsController.scala b/src/main/scala/app/PullRequestsController.scala index 365fb9270..e91ff786e 100644 --- a/src/main/scala/app/PullRequestsController.scala +++ b/src/main/scala/app/PullRequestsController.scala @@ -163,6 +163,19 @@ trait PullRequestsControllerBase extends ControllerBase { } } + // close issue by content of pull request + val defaultBranch = getRepository(owner, name, baseUrl).get.repository.defaultBranch + if(pullreq.branch == defaultBranch){ + commits.flatten.foreach { commit => + closeIssuesFromMessage(commit.fullMessage, loginAccount.userName, owner, name) + } + issue.content match { + case Some(content) => closeIssuesFromMessage(content, loginAccount.userName, owner, name) + case _ => + } + closeIssuesFromMessage(form.message, loginAccount.userName, owner, name) + } + // notifications Notifier().toNotify(repository, issueId, "merge"){ Notifier.msgStatus(s"${baseUrl}/${owner}/${name}/pull/${issueId}") diff --git a/src/main/scala/service/IssuesService.scala b/src/main/scala/service/IssuesService.scala index 493692e4d..ec6f93619 100644 --- a/src/main/scala/service/IssuesService.scala +++ b/src/main/scala/service/IssuesService.scala @@ -314,6 +314,18 @@ trait IssuesService { }.toList } + def closeIssuesFromMessage(message: String, userName: String, owner: String, repository: String) = { + val regex = "(?i)(? + getIssue(owner, repository, issueId) match { + case Some(issue) if !issue.closed => { + createComment(owner, repository, userName, issue.issueId, "Close", "close") + updateClosed(owner, repository, issue.issueId, true) + } + case _ => + } + } + } } object IssuesService { diff --git a/src/main/scala/servlet/GitRepositoryServlet.scala b/src/main/scala/servlet/GitRepositoryServlet.scala index a00a92811..4c02070de 100644 --- a/src/main/scala/servlet/GitRepositoryServlet.scala +++ b/src/main/scala/servlet/GitRepositoryServlet.scala @@ -140,6 +140,14 @@ class CommitLogHook(owner: String, repository: String, userName: String, baseURL } } + // close issues + val defaultBranch = getRepository(owner, repository, baseURL).get.repository.defaultBranch + if(refName(1) == "heads" && branchName == defaultBranch && command.getType == ReceiveCommand.Type.UPDATE){ + git.log.addRange(command.getOldId, command.getNewId).call.asScala.foreach { commit => + closeIssuesFromMessage(commit.getFullMessage, userName, owner, repository) + } + } + // call web hook val webHookURLs = getWebHookURLs(owner, repository) if(webHookURLs.nonEmpty){ From 2c14dfb781dae1e3fd8610aad047a4b9fdf14495 Mon Sep 17 00:00:00 2001 From: Tobias Roeser Date: Wed, 26 Feb 2014 12:09:14 +0100 Subject: [PATCH 02/47] Show the correct name of the readme file (instead of showing always README.md). --- src/main/scala/app/RepositoryViewerController.scala | 2 +- src/main/twirl/repo/files.scala.html | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/scala/app/RepositoryViewerController.scala b/src/main/scala/app/RepositoryViewerController.scala index 272613682..fcc81dfe6 100644 --- a/src/main/scala/app/RepositoryViewerController.scala +++ b/src/main/scala/app/RepositoryViewerController.scala @@ -276,7 +276,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { val readme = files.find { file => readmeFiles.contains(file.name.toLowerCase) }.map { file => - StringUtil.convertFromByteArray(JGitUtil.getContent(Git.open(getRepositoryDir(repository.owner, repository.name)), file.id, true).get) + file -> StringUtil.convertFromByteArray(JGitUtil.getContent(Git.open(getRepositoryDir(repository.owner, repository.name)), file.id, true).get) } repo.html.files(revision, repository, diff --git a/src/main/twirl/repo/files.scala.html b/src/main/twirl/repo/files.scala.html index 94f6dac3d..823298ec7 100644 --- a/src/main/twirl/repo/files.scala.html +++ b/src/main/twirl/repo/files.scala.html @@ -3,7 +3,7 @@ pathList: List[String], latestCommit: util.JGitUtil.CommitInfo, files: List[util.JGitUtil.FileInfo], - readme: Option[String])(implicit context: app.Context) + readme: Option[(util.JGitUtil.FileInfo, String)])(implicit context: app.Context) @import context._ @import view.helpers._ @html.main(s"${repository.owner}/${repository.name}", Some(repository)) { @@ -77,9 +77,9 @@ - @readme.map { content => + @readme.map { case(file, content) =>
-
README.md
+
@file.name
@markdown(content, repository, false, false)
} From 7a0a62af2d94dde1e2ce548c3ed3d17656b87501 Mon Sep 17 00:00:00 2001 From: Tobias Roeser Date: Fri, 28 Feb 2014 15:25:32 +0100 Subject: [PATCH 03/47] Show repository description below the name on repository page. --- src/main/twirl/header.scala.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/twirl/header.scala.html b/src/main/twirl/header.scala.html index bb2be97e3..965fa9381 100644 --- a/src/main/twirl/header.scala.html +++ b/src/main/twirl/header.scala.html @@ -29,7 +29,13 @@ } } + + + @if(repository.repository.description != "") { +

@repository.repository.description

+ } +