James Moger
2012-09-14 d3dfcda35c2232ff2e377778a3d23640e7f6a093
Fixed null pointer in commit page due to changes in submodule link (issue-132)
2 files modified
12 ■■■■ changed files
docs/04_releases.mkd 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/utils/JGitUtils.java 11 ●●●● patch | view | raw | blame | history
docs/04_releases.mkd
@@ -11,6 +11,7 @@
#### fixes
- Fixed bug in commit page where changes to a submodule threw a null pointer exception (issue 132)
- Fixed bug in the diff view for filenames that have non-ASCII characters (issue 128)
#### additions
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()));
                    }
                }