From dfc4ece4083bbbb98f55291d05e7d2b1513464b7 Mon Sep 17 00:00:00 2001 From: Thomas Pummer <dev@nullpointer.at> Date: Fri, 22 Feb 2013 11:10:11 -0500 Subject: [PATCH] the display-name in web.xml now shows the actual version of Gitblit --- src/com/gitblit/utils/JGitUtils.java | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index 815f8b5..1f2ae94 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -1616,6 +1616,32 @@ } return null; } + + public static String getSubmoduleCommitId(Repository repository, String path, RevCommit commit) { + String commitId = null; + RevWalk rw = new RevWalk(repository); + TreeWalk tw = new TreeWalk(repository); + tw.setFilter(PathFilterGroup.createFromStrings(Collections.singleton(path))); + try { + tw.reset(commit.getTree()); + while (tw.next()) { + if (tw.isSubtree() && !path.equals(tw.getPathString())) { + tw.enterSubtree(); + continue; + } + if (FileMode.GITLINK == tw.getFileMode(0)) { + commitId = tw.getObjectId(0).getName(); + break; + } + } + } catch (Throwable t) { + error(t, repository, "{0} can't find {1} in commit {2}", path, commit.name()); + } finally { + rw.dispose(); + tw.release(); + } + return commitId; + } /** * Returns the list of notes entered about the commit from the refs/notes -- Gitblit v1.9.1