From dc24fce063ca75ff820e13353ff9b9b7c5bba546 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Wed, 27 Mar 2019 11:42:17 +0800 Subject: [PATCH] GitRepo.vala --- GitRepo.vala | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/GitRepo.vala b/GitRepo.vala index 73866d7a..08917693 100644 --- a/GitRepo.vala +++ b/GitRepo.vala @@ -683,11 +683,32 @@ public class GitRepo : Object GitMonitor.gitmonitor.pauseError(ee.message); return "Error getting diff"; } - - + } + public string diffWorking() + { + var cb = this.getCurrentBranch(); + GLib.debug("Calling diff working"); + var diff = new Ggit.Diff.tree_to_workdir(this.repo, cb.getTree(), new Ggit.DiffOptions()); + var ret = ""; + diff.print(Ggit.DiffFormatType.PATCH, (delta, hunk, line) => { + switch(line.get_origin()) { + case Ggit.DiffLineType.ADDITION: ret+="+"; break; + case Ggit.DiffLineType.DELETION: ret+="-";break; + case Ggit.DiffLineType.CONTEXT: ret+=" ";break; + case Ggit.DiffLineType.HUNK_HDR: break; + case Ggit.DiffLineType.FILE_HDR: break; + default: ret+=" ";break; + } + ret += " " + line.get_text() ; + return 0; + }); + GLib.debug("returning %s", ret); + return ret; + } + /** * add: -- 2.39.2