X-Git-Url: http://git.roojs.org/?p=gitlive;a=blobdiff_plain;f=GitRepo.vala;h=b444ce4a09622612ed18665ef889634217049c59;hp=a072592724890adc74579337dd4b5b9c8d71607d;hb=2d3bb6db4cf59fb23b8774360ee0f15ffb7dc975;hpb=9e641e366549656621a3e4fc4950b62c4b395650 diff --git a/GitRepo.vala b/GitRepo.vala index a0725927..b444ce4a 100644 --- a/GitRepo.vala +++ b/GitRepo.vala @@ -21,6 +21,7 @@ public class GitRepo : Object public bool has_local_changes = false; public string git_status; public string git_diff; + public string ahead_or_behind = ""; public Gee.HashMap ignore_files; public GitBranch currentBranch; @@ -253,6 +254,12 @@ public class GitRepo : Object var r = this.git({ "status" , "--porcelain" }); this.git_status = r; this.has_local_changes = r.length > 0; + + var rs = this.git({ "status" , "-sb" }); + + this.ahead_or_behind = rs.contains("[ahead") ? "A" : (rs.contains("[behind") ? "B" : ""); + + this.git_diff = this.git({ "diff" , "HEAD", "--no-color" }); } @@ -751,16 +758,17 @@ public class GitRepo : Object //if (File.exists(this.repo + '/.git/config')) { //env.push("GITPATH=" + this.repo ); //} - - + var cfg = new SpawnConfig(this.git_working_dir , args , env); //cfg.debug = true; // may throw error... var sp = new Spawn(cfg); - - GLib.debug( "GOT: %s" , sp.output); + // diff output is a bit big.. + if (args_in[0] != "diff") { + GLib.debug( "GOT: %s" , sp.output); + } // parse output for some commands ? return sp.output; }