突っ走り書き

見せるほどのものでは..

JGitを使ってみる

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.eclipse.jgit.diff.DiffFormatter;
import org.eclipse.jgit.diff.EditList;
import org.eclipse.jgit.diff.HistogramDiff;
import org.eclipse.jgit.diff.RawText;
import org.eclipse.jgit.diff.RawTextComparator;

public class Main {

  private static void p() {
    p("");
  }

  private static void p(String s) {
    System.out.println(s);
  }

  private static void p(byte[] s) {
    p(new String(s));
  }

  public static void main(String[] args) throws IOException {
    RawText a = new RawText("hoge hoge hoge\nfuga fuga fuga\nhoho hoho hoho".getBytes());
    RawText b = new RawText("hoge hoge hoge\nfuga naga fuga\nhoho hoho hohohoge".getBytes());

    p(a.getRawContent());
    p();

    p(a.getRawContent());
    p();
    
    OutputStream out = new ByteArrayOutputStream();
    EditList diff = new HistogramDiff().diff(RawTextComparator.DEFAULT, a, b);
    new DiffFormatter(out).format(diff, a, b);

    p(out.toString());
  }
}
hoge hoge hoge
fuga fuga fuga
hoho hoho hoho

hoge hoge hoge
fuga fuga fuga
hoho hoho hoho

@@ -1,3 +1,3 @@
 hoge hoge hoge
-fuga fuga fuga
-hoho hoho hoho
\ No newline at end of file
+fuga naga fuga
+hoho hoho hohohoge
\ No newline at end of file


Process finished with exit code 0