From 80d636ab48d42a7298624fe19cb0638ea9fcd564 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 23 May 2013 23:46:09 -0400
Subject: [PATCH] Fixed submodule npe in compare page

---
 src/main/java/com/gitblit/wicket/pages/RepositoryPage.java |    7 +++++--
 src/main/java/com/gitblit/wicket/pages/ComparePage.java    |    3 +++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/ComparePage.java b/src/main/java/com/gitblit/wicket/pages/ComparePage.java
index f62dc64..f5f3526 100644
--- a/src/main/java/com/gitblit/wicket/pages/ComparePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/ComparePage.java
@@ -103,6 +103,9 @@
 				toCommit = getCommit(r, toCommitId.getObject());
 			}
 
+			// prepare submodules
+			getSubmodules(toCommit);
+			
 			final String startId = fromCommit.getId().getName();
 			final String endId = toCommit.getId().getName();
 
diff --git a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
index 8a233ea..072475a 100644
--- a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
@@ -339,7 +339,7 @@
 		return commit;
 	}
 	
-	private Map<String, SubmoduleModel> getSubmodules(RevCommit commit) {	
+	protected Map<String, SubmoduleModel> getSubmodules(RevCommit commit) {	
 		if (submodules == null) {
 			submodules = new HashMap<String, SubmoduleModel>();
 			for (SubmoduleModel model : JGitUtils.getSubmodules(r, commit.getTree())) {
@@ -350,7 +350,10 @@
 	}
 	
 	protected SubmoduleModel getSubmodule(String path) {
-		SubmoduleModel model = submodules.get(path);
+		SubmoduleModel model = null;
+		if (submodules != null) {
+			model = submodules.get(path);
+		}
 		if (model == null) {
 			// undefined submodule?!
 			model = new SubmoduleModel(path.substring(path.lastIndexOf('/') + 1), path, path);

--
Gitblit v1.9.1