James Moger
2011-04-20 3df3496185d229e6f1cdeb6f182f7933884ca29c
src/com/gitblit/utils/JGitUtils.java
@@ -326,19 +326,32 @@
      return list;
   }
   public static String getCommitDiff(Repository r, RevCommit commit, boolean outputHtml) {
      return getCommitDiff(r, null, commit, null, outputHtml);
   public static enum DiffOutputType {
      PLAIN, GITWEB, GITBLIT;
      public static DiffOutputType forName(String name) {
         for (DiffOutputType type : values()) {
            if (type.name().equalsIgnoreCase(name)) {
               return type;
            }
         }
         return null;
      }
   }
   public static String getCommitDiff(Repository r, RevCommit commit, String path, boolean outputHtml) {
      return getCommitDiff(r, null, commit, path, outputHtml);
   public static String getCommitDiff(Repository r, RevCommit commit, DiffOutputType outputType) {
      return getCommitDiff(r, null, commit, null, outputType);
   }
   public static String getCommitDiff(Repository r, RevCommit baseCommit, RevCommit commit, boolean outputHtml) {
      return getCommitDiff(r, baseCommit, commit, null, outputHtml);
   public static String getCommitDiff(Repository r, RevCommit commit, String path, DiffOutputType outputType) {
      return getCommitDiff(r, null, commit, path, outputType);
   }
   public static String getCommitDiff(Repository r, RevCommit baseCommit, RevCommit commit, String path, boolean outputHtml) {
   public static String getCommitDiff(Repository r, RevCommit baseCommit, RevCommit commit, DiffOutputType outputType) {
      return getCommitDiff(r, baseCommit, commit, null, outputType);
   }
   public static String getCommitDiff(Repository r, RevCommit baseCommit, RevCommit commit, String path, DiffOutputType outputType) {
      try {
         RevTree baseTree;
         if (baseCommit == null) {
@@ -362,10 +375,17 @@
         final ByteArrayOutputStream os = new ByteArrayOutputStream();
         RawTextComparator cmp = RawTextComparator.DEFAULT;
         DiffFormatter df;
         if (outputHtml) {
            df = new HtmlDiffFormatter(os);
         } else {
         switch (outputType) {
         case GITWEB:
            df = new GitWebDiffFormatter(os);
            break;
         case GITBLIT:
            df = new GitBlitDiffFormatter(os);
            break;
         case PLAIN:
         default:
            df = new DiffFormatter(os);
            break;
         }
         df.setRepository(r);
         df.setDiffComparator(cmp);
@@ -382,9 +402,9 @@
            df.format(diffs);
         }
         String diff;
         if (outputHtml) {
         if (df instanceof GitWebDiffFormatter) {
            // workaround for complex private methods in DiffFormatter
            diff = ((HtmlDiffFormatter) df).getHtml();
            diff = ((GitWebDiffFormatter) df).getHtml();
         } else {
            diff = os.toString();
         }