How to use Git diff options [message #1791169] |
Mon, 25 June 2018 08:43  |
Eclipse User |
|
|
|
I'm using JGit Api's to get diff between commits, so how can I make use of Git diff options with JGit Api's e.g. like git diff --unified=n?
Here's the code snippet:
File gitWorkDir = new File("C:/temp/code/");
Git git = Git.open(gitWorkDir);
String oldHash = "d7db296cc2730ca562f91cfa539d6955a21284b6";
ObjectId headId = git.getRepository().resolve("HEAD^{tree}");
ObjectId oldId = git.getRepository().resolve(oldHash + "^{tree}");
ObjectReader reader = git.getRepository().newObjectReader();
CanonicalTreeParser oldTreeIter = new CanonicalTreeParser();
oldTreeIter.reset(reader, oldId);
CanonicalTreeParser newTreeIter = new CanonicalTreeParser();
newTreeIter.reset(reader, headId);
List<DiffEntry> diffs= git.diff()
.setNewTree(newTreeIter)
.setOldTree(oldTreeIter)
.call();
ByteArrayOutputStream out = new ByteArrayOutputStream();
DiffFormatter df = new DiffFormatter(out);
df.setRepository(git.getRepository());
for(DiffEntry diff : diffs)
{
df.format(diff);
diff.getOldId();
String diffText = out.toString("UTF-8");
System.out.println(diffText);
out.reset();
}
Thanks
|
|
|
|
Powered by
FUDForum. Page generated in 0.04842 seconds