GitMonitor.vala
[gitlive] / GitMonitor.vala
index 71857b6..4c7dfde 100644 (file)
@@ -20,9 +20,8 @@ public class GitMonitor : Monitor
 
  
 
-       public GitMonitor () {
-       
-       
+       public GitMonitor ()
+       {
        
                this.queue = new Array<GitMonitorQueue>();
                GitMonitor.gitmonitor = this;
@@ -242,6 +241,7 @@ public class GitMonitor : Monitor
 
                this.paused = true;
 
+               var leave_queued = new Gee.ArrayList<GitMonitorQueue>();
                GLib.debug("GitMonitor.runQueue - creating repos");
                
                for(var i = 0; i < cmds.length; i++) {
@@ -249,9 +249,16 @@ public class GitMonitor : Monitor
                        var cmd = cmds.index(i);
                
                        var gitpath = cmd.gitpath; 
+                       
+                       var repo = GitRepo.get( gitpath );
+                       if ( !repo.is_wip_branch()) {
+                               leave_queued.add(cmd);
+                               continue;
+                       }
+                       
                        GLib.debug("GitMonitor.runQueue - finding %s", cmd.gitpath);
                
-                       var ix  = GitRepo.indexOf(repo_list,  cmd.gitpath);
+                       var ix  = GitRepo.indexOf(repo_list,   gitpath);
                        if (ix < 0) {
                                repo_list.append_val( GitRepo.get( gitpath ));
                                ix = GitRepo.indexOf(repo_list,  cmd.gitpath);
@@ -324,6 +331,9 @@ public class GitMonitor : Monitor
                                                break;
                                } 
                        }
+                       
+                       repo.cmds.clear();
+                       
                        GLib.debug( "ADD : %s", GitMonitorQueue.queueArrayToString(add_files));
                        GLib.debug( "REMOVE FILES: %s", GitMonitorQueue.queueArrayToString(remove_files));