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: