GitRepo.vala
authorAlan Knowles <alan@roojs.com>
Wed, 27 Mar 2019 03:42:17 +0000 (11:42 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 27 Mar 2019 03:42:17 +0000 (11:42 +0800)
GitRepo.vala

index 73866d7..0891769 100644 (file)
@@ -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: