]> source.dussan.org Git - gitblit.git/commitdiff
Fixed null pointer in commit page due to changes in submodule link (issue 132)
authorJames Moger <james.moger@gitblit.com>
Fri, 14 Sep 2012 18:22:36 +0000 (14:22 -0400)
committerJames Moger <james.moger@gitblit.com>
Fri, 14 Sep 2012 18:22:36 +0000 (14:22 -0400)
docs/04_releases.mkd
src/com/gitblit/utils/JGitUtils.java

index 0ef571ce88b3534ff77e8013deb0c603681427e8..2ea0e23d18b60e12973b59c1bdeaf6260130a094 100644 (file)
@@ -11,6 +11,7 @@ If you are updating from an earlier release AND you have indexed branches with t
 \r
 #### fixes\r
 \r
+- Fixed bug in commit page where changes to a submodule threw a null pointer exception (issue 132)\r
 - Fixed bug in the diff view for filenames that have non-ASCII characters (issue 128)\r
 \r
 #### additions\r
index a78a771690e84416923e2da2369bf9c590f4b3fa..c5cd1c3589188368ba55aea357b9511f21eebd52 100644 (file)
@@ -745,17 +745,22 @@ public class JGitUtils {
                                df.setDetectRenames(true);\r
                                List<DiffEntry> diffs = df.scan(parent.getTree(), commit.getTree());\r
                                for (DiffEntry diff : diffs) {\r
+                                       String objectId = null;\r
+                                       if (FileMode.GITLINK.equals(diff.getNewMode())) {\r
+                                               objectId = diff.getNewId().name();\r
+                                       }\r
+\r
                                        if (diff.getChangeType().equals(ChangeType.DELETE)) {\r
                                                list.add(new PathChangeModel(diff.getOldPath(), diff.getOldPath(), 0, diff\r
-                                                               .getNewMode().getBits(), null, commit.getId().getName(), diff\r
+                                                               .getNewMode().getBits(), objectId, commit.getId().getName(), diff\r
                                                                .getChangeType()));\r
                                        } else if (diff.getChangeType().equals(ChangeType.RENAME)) {\r
                                                list.add(new PathChangeModel(diff.getOldPath(), diff.getNewPath(), 0, diff\r
-                                                               .getNewMode().getBits(), null, commit.getId().getName(), diff\r
+                                                               .getNewMode().getBits(), objectId, commit.getId().getName(), diff\r
                                                                .getChangeType()));\r
                                        } else {\r
                                                list.add(new PathChangeModel(diff.getNewPath(), diff.getNewPath(), 0, diff\r
-                                                               .getNewMode().getBits(), null, commit.getId().getName(), diff\r
+                                                               .getNewMode().getBits(), objectId, commit.getId().getName(), diff\r
                                                                .getChangeType()));\r
                                        }\r
                                }\r