James Moger
2011-04-17 ce119acc6dbb3153af1cbbf7ec1270d21f5e52c8
src/com/gitblit/utils/JGitUtils.java
@@ -362,16 +362,25 @@
   }
   public static String getCommitPatch(Repository r, RevCommit commit, String path) {
      return getCommitPatch(r, null, commit, path);
   }
   public static String getCommitPatch(Repository r, RevCommit baseCommit, RevCommit commit, String path) {
      try {
         final RevWalk rw = new RevWalk(r);
         RevCommit parent = rw.parseCommit(commit.getParent(0).getId());
         RevTree parentTree = parent.getTree();
         RevTree baseTree;
         if (baseCommit == null) {
            final RevWalk rw = new RevWalk(r);
            RevCommit parent = rw.parseCommit(commit.getParent(0).getId());
            baseTree = parent.getTree();
         } else {
            baseTree = baseCommit.getTree();
         }
         RevTree commitTree = commit.getTree();
         final TreeWalk walk = new TreeWalk(r);
         walk.reset();
         walk.setRecursive(true);
         walk.addTree(parentTree);
         walk.addTree(baseTree);
         walk.addTree(commitTree);
         walk.setFilter(TreeFilter.ANY_DIFF);
@@ -381,7 +390,7 @@
         df.setRepository(r);
         df.setDiffComparator(cmp);
         df.setDetectRenames(true);
         List<DiffEntry> diffs = df.scan(parentTree, commitTree);
         List<DiffEntry> diffs = df.scan(baseTree, commitTree);
         if (path != null && path.length() > 0) {
            for (DiffEntry diff : diffs) {
               if (diff.getNewPath().equalsIgnoreCase(path)) {