summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2013-09-18 11:20:28 -0400
committerJames Moger <james.moger@gitblit.com>2013-09-18 11:31:00 -0400
commit0250286553ca93406bfaa976d6aae61e76a9d55f (patch)
treea6edb6545a993c3e16709742d1bd177e33fcc9e7 /src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java
parentcd9461c0c05958444d1313b794be57df39d98956 (diff)
downloadgitblit-0250286553ca93406bfaa976d6aae61e76a9d55f.tar.gz
gitblit-0250286553ca93406bfaa976d6aae61e76a9d55f.zip
Removed GitWeb-style diff renderer
Diffstat (limited to 'src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java')
-rw-r--r--src/main/java/com/gitblit/utils/GitBlitDiffFormatter.java38
1 files changed, 36 insertions, 2 deletions
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());