diff --git a/src/main/scala/app/RepositoryViewerController.scala b/src/main/scala/app/RepositoryViewerController.scala
index 7bb93bf..94093b9 100644
--- a/src/main/scala/app/RepositoryViewerController.scala
+++ b/src/main/scala/app/RepositoryViewerController.scala
@@ -157,7 +157,27 @@
JGitUtil.withGit(getRepositoryDir(owner, repository)){ git =>
val revCommit = JGitUtil.getRevCommitFromId(git, git.getRepository.resolve(id))
- repo.html.commit(id, new JGitUtil.CommitInfo(revCommit),
+
+ import scala.collection.JavaConverters._
+ import org.eclipse.jgit.lib.Constants
+ val walk = new org.eclipse.jgit.revwalk.RevWalk(git.getRepository)
+ val commit = walk.parseCommit(git.getRepository.resolve(revCommit.getName + "^0"))
+
+ // TODO move to JGitUtil
+ val branchs = git.getRepository.getAllRefs.entrySet.asScala.filter { e =>
+ (e.getKey.startsWith(Constants.R_HEADS) && walk.isMergedInto(commit, walk.parseCommit(e.getValue.getObjectId)))
+ }.map { e =>
+ e.getValue.getName.substring(org.eclipse.jgit.lib.Constants.R_HEADS.length)
+ }.toList.sorted
+
+ // TODO move to JGitUtil
+ val tags = git.getRepository.getAllRefs.entrySet.asScala.filter { e =>
+ (e.getKey.startsWith(Constants.R_TAGS) && walk.isMergedInto(commit, walk.parseCommit(e.getValue.getObjectId)))
+ }.map { e =>
+ e.getValue.getName.substring(org.eclipse.jgit.lib.Constants.R_TAGS.length)
+ }.toList.sorted.reverse
+
+ repo.html.commit(id, new JGitUtil.CommitInfo(revCommit), branchs, tags,
getRepository(owner, repository, baseUrl).get, JGitUtil.getDiffs(git, id))
}
})
diff --git a/src/main/twirl/repo/commit.scala.html b/src/main/twirl/repo/commit.scala.html
index c75555f..a786779 100644
--- a/src/main/twirl/repo/commit.scala.html
+++ b/src/main/twirl/repo/commit.scala.html
@@ -1,10 +1,11 @@
-@(branch: String, commit: util.JGitUtil.CommitInfo, repository: service.RepositoryService.RepositoryInfo, diffs: Seq[util.JGitUtil.DiffInfo])(implicit context: app.Context)
+@(commitId: String, commit: util.JGitUtil.CommitInfo, branchs: List[String], tags: List[String], repository: service.RepositoryService.RepositoryInfo, diffs: Seq[util.JGitUtil.DiffInfo])(implicit context: app.Context)
@import context._
@import view.helpers
+@import view.implicits._
@import org.eclipse.jgit.diff.DiffEntry.ChangeType
@html.main(commit.shortMessage){
@html.header("code", repository)
- @navtab(branch, repository, "commits")
+ @navtab(commitId, repository, "commits")
@@ -15,7 +16,16 @@
@if(commit.description.isDefined){
@commit.description.get
}
- @branch
+ @*
+
+
+ @branchs.map { branch => @branch }.mkHtml(", ")
+
+
+ @tags.map { tag => @tag }.mkHtml(", ")
+
+
+ *@
|
@@ -35,10 +45,9 @@
@if(commit.parents.size > 1){
@commit.parents.size parents
- @commit.parents.zipWithIndex.map { case (parent, i) =>
- @if(i != 0){ + }
+ @commit.parents.map { parent =>
@parent.substring(0, 7)
- }
+ }.mkHtml(" + ")
}
@@ -61,16 +70,16 @@
0){ class="border"}>
@if(diff.changeType == ChangeType.COPY || diff.changeType == ChangeType.RENAME){
-
@diff.oldPath -> @diff.newPath
+
@diff.oldPath -> @diff.newPath
}
@if(diff.changeType == ChangeType.ADD){
-
@diff.newPath
+
@diff.newPath
}
@if(diff.changeType == ChangeType.MODIFY){
-
@diff.newPath
+
@diff.newPath
}
@if(diff.changeType == ChangeType.DELETE){
-
@diff.oldPath
+
@diff.oldPath
}
diff --git a/src/main/webapp/assets/common/images/diff_add.png b/src/main/webapp/assets/common/images/diff_add.png
new file mode 100644
index 0000000..853f7c0
--- /dev/null
+++ b/src/main/webapp/assets/common/images/diff_add.png
Binary files differ
diff --git a/src/main/webapp/assets/common/images/diff_delete.png b/src/main/webapp/assets/common/images/diff_delete.png
new file mode 100644
index 0000000..f5e36ea
--- /dev/null
+++ b/src/main/webapp/assets/common/images/diff_delete.png
Binary files differ
diff --git a/src/main/webapp/assets/common/images/diff_edit.png b/src/main/webapp/assets/common/images/diff_edit.png
new file mode 100644
index 0000000..c0e0b06
--- /dev/null
+++ b/src/main/webapp/assets/common/images/diff_edit.png
Binary files differ
diff --git a/src/main/webapp/assets/common/images/diff_move.png b/src/main/webapp/assets/common/images/diff_move.png
new file mode 100644
index 0000000..25a9c1e
--- /dev/null
+++ b/src/main/webapp/assets/common/images/diff_move.png
Binary files differ
diff --git a/src/main/webapp/assets/common/images/page_add.png b/src/main/webapp/assets/common/images/page_add.png
deleted file mode 100644
index d5bfa07..0000000
--- a/src/main/webapp/assets/common/images/page_add.png
+++ /dev/null
Binary files differ
diff --git a/src/main/webapp/assets/common/images/page_copy.png b/src/main/webapp/assets/common/images/page_copy.png
deleted file mode 100644
index 195dc6d..0000000
--- a/src/main/webapp/assets/common/images/page_copy.png
+++ /dev/null
Binary files differ
diff --git a/src/main/webapp/assets/common/images/page_delete.png b/src/main/webapp/assets/common/images/page_delete.png
deleted file mode 100644
index 3141467..0000000
--- a/src/main/webapp/assets/common/images/page_delete.png
+++ /dev/null
Binary files differ
diff --git a/src/main/webapp/assets/common/images/page_edit.png b/src/main/webapp/assets/common/images/page_edit.png
deleted file mode 100644
index 046811e..0000000
--- a/src/main/webapp/assets/common/images/page_edit.png
+++ /dev/null
Binary files differ