From d3dfcda35c2232ff2e377778a3d23640e7f6a093 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 14 Sep 2012 14:22:36 -0400
Subject: [PATCH] Fixed null pointer in commit page due to changes in submodule link (issue 132)

---
 src/com/gitblit/utils/JGitUtils.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java
index a78a771..c5cd1c3 100644
--- a/src/com/gitblit/utils/JGitUtils.java
+++ b/src/com/gitblit/utils/JGitUtils.java
@@ -745,17 +745,22 @@
 				df.setDetectRenames(true);
 				List<DiffEntry> diffs = df.scan(parent.getTree(), commit.getTree());
 				for (DiffEntry diff : diffs) {
+					String objectId = null;
+					if (FileMode.GITLINK.equals(diff.getNewMode())) {
+						objectId = diff.getNewId().name();
+					}
+
 					if (diff.getChangeType().equals(ChangeType.DELETE)) {
 						list.add(new PathChangeModel(diff.getOldPath(), diff.getOldPath(), 0, diff
-								.getNewMode().getBits(), null, commit.getId().getName(), diff
+								.getNewMode().getBits(), objectId, commit.getId().getName(), diff
 								.getChangeType()));
 					} else if (diff.getChangeType().equals(ChangeType.RENAME)) {
 						list.add(new PathChangeModel(diff.getOldPath(), diff.getNewPath(), 0, diff
-								.getNewMode().getBits(), null, commit.getId().getName(), diff
+								.getNewMode().getBits(), objectId, commit.getId().getName(), diff
 								.getChangeType()));
 					} else {
 						list.add(new PathChangeModel(diff.getNewPath(), diff.getNewPath(), 0, diff
-								.getNewMode().getBits(), null, commit.getId().getName(), diff
+								.getNewMode().getBits(), objectId, commit.getId().getName(), diff
 								.getChangeType()));
 					}
 				}

--
Gitblit v1.9.1