sync
[gitlive] / GitMonitor.vala
index 17dedfc..864e046 100644 (file)
@@ -1,7 +1,25 @@
+/**
 
+The monitor suffers from various issues - basically event flows while it's running...
+
+normall operations
+
+- monitors for file changes
+ -- adds to QUEUE when occurs.
+- queue runs in background.
+ - if it's got stuff in it..
+ - COMMIT (normally)
+ - now?? - if on master - try and branch
+   == do user selection, until we have branched
+   == then start monitoring again..
+   
 
 
 
+*/
+
+
 
 
 public class GitMonitor : Monitor
@@ -111,6 +129,12 @@ public class GitMonitor : Monitor
 
        }
        
+       public void restoreQueue( Gee.ArrayList<GitMonitorQueue> queue)
+       {
+               //used to restore teh queue after switch branches?/ - breaks our privte queue idea..
+               this.queue = queue;
+       }
+       
        /*
        public new void resume () {
                this.paused = false;
@@ -227,7 +251,10 @@ public class GitMonitor : Monitor
                
                foreach(var q in this.queue) {
                        if (!q.shouldIgnore() && !q.repo.is_wip_branch()) {
-                               NewBranch.singleton().show(q.repo);
+                               var oldq = this.queue;
+                               this.queue =  new Gee.ArrayList<GitMonitorQueue>(); 
+                               NewBranch.singleton().show(q.repo, oldq);
+                               
                                return;
                        }
                
@@ -570,10 +597,7 @@ public class GitMonitor : Monitor
                this.queue.add(cmd);
                
                
-                if (!cmd.shouldIgnore() && !cmd.repo.is_wip_branch()) {
-                NewBranch.singleton().show(cmd.repo);
-         }
+                 
                 
        }
        public override  void onDeleted(MonitorNamePathDir src) 
@@ -600,9 +624,7 @@ public class GitMonitor : Monitor
 
                this.queue.add(cmd);
                
-                if (!cmd.shouldIgnore() && !cmd.repo.is_wip_branch()) {
-                       NewBranch.singleton().show(cmd.repo);
-               }
+                
                
  
        }
@@ -661,9 +683,7 @@ public class GitMonitor : Monitor
                cmd.message = "Attribute changed " + cmd.vname;
                this.queue.add(cmd);
                
-               if (!cmd.shouldIgnore() && !cmd.repo.is_wip_branch()) {
-                       NewBranch.singleton().show(cmd.repo);
-        }
+        
        }
  
    public  override void onMoved(MonitorNamePathDir src,MonitorNamePathDir dest)  
@@ -722,10 +742,7 @@ public class GitMonitor : Monitor
                
                
                this.queue.add(cmd);
-
-               if (!cmd.shouldIgnore() && !cmd.repo.is_wip_branch()) {
-                       NewBranch.singleton().show(cmd.repo);
-        }
         // this is where it get's complicated...
         // as we might be moving across repo's...