From 0250286553ca93406bfaa976d6aae61e76a9d55f Mon Sep 17 00:00:00 2001 From: James Moger Date: Wed, 18 Sep 2013 11:20:28 -0400 Subject: Removed GitWeb-style diff renderer --- .../com/gitblit/utils/GitBlitDiffFormatter.java | 38 ++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java') diff --git a/src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java b/src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java index 62966de0..a00e1076 100644 --- a/src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java +++ b/src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java @@ -16,12 +16,14 @@ package com.gitblit.utils; import static org.eclipse.jgit.lib.Constants.encode; +import static org.eclipse.jgit.lib.Constants.encodeASCII; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import java.text.MessageFormat; +import org.eclipse.jgit.diff.DiffFormatter; import org.eclipse.jgit.diff.RawText; import org.eclipse.jgit.util.RawParseUtils; @@ -31,7 +33,7 @@ import org.eclipse.jgit.util.RawParseUtils; * @author James Moger * */ -public class GitBlitDiffFormatter extends GitWebDiffFormatter { +public class GitBlitDiffFormatter extends DiffFormatter { private final OutputStream os; @@ -70,6 +72,39 @@ public class GitBlitDiffFormatter extends GitWebDiffFormatter { left = aStartLine + 1; right = bStartLine + 1; } + + protected void writeRange(final char prefix, final int begin, final int cnt) throws IOException { + os.write(' '); + os.write(prefix); + switch (cnt) { + case 0: + // If the range is empty, its beginning number must + // be the + // line just before the range, or 0 if the range is + // at the + // start of the file stream. Here, begin is always 1 + // based, + // so an empty file would produce "0,0". + // + os.write(encodeASCII(begin - 1)); + os.write(','); + os.write('0'); + break; + + case 1: + // If the range is exactly one line, produce only + // the number. + // + os.write(encodeASCII(begin)); + break; + + default: + os.write(encodeASCII(begin)); + os.write(','); + os.write(encodeASCII(cnt)); + break; + } + } @Override protected void writeLine(final char prefix, final RawText text, final int cur) @@ -110,7 +145,6 @@ public class GitBlitDiffFormatter extends GitWebDiffFormatter { * * @return */ - @Override public String getHtml() { ByteArrayOutputStream bos = (ByteArrayOutputStream) os; String html = RawParseUtils.decode(bos.toByteArray()); -- cgit v1.2.3