Partial Fix #5560 - Gitlive - branching wip
[gitlive] / GitRepo.vala
index 90b7a09..cf962d6 100644 (file)
@@ -180,15 +180,67 @@ public class GitRepo : Object
     {
        return !FileUtils.test(this.gitdir + "/.gitlive-disable-autocommit" , FileTest.EXISTS);
     }
+    public void set_autocommit(bool val)
+    {
+
+               var cur = this.is_autocommit();
+               GLib.debug("SET auto commit : %s <= %s", val ? "ON" : "OFF",  cur  ? "ON" : "OFF");
+               if (cur == val) {
+                       return; // no change..
+               }
+               if (!val) {
+                       FileUtils.set_contents(this.gitdir + "/.gitlive-disable-autocommit" , "x");
+               } else {
+                       // it exists...
+                       FileUtils.remove(this.gitdir + "/.gitlive-disable-autocommit" ); 
+               }
+    
+    }
     
     public bool is_auto_branch ()
     {
        return FileUtils.test(this.gitdir + "/.gitlive-enable-auto-branch" , FileTest.EXISTS);
     }
+    
+    public void set_auto_branch(bool val)
+    {
+
+               var cur = this.is_auto_branch();
+               GLib.debug("SET auto branch : %s <= %s", val ? "ON" : "OFF",  cur  ? "ON" : "OFF");
+               
+               if (cur == val) {
+                       return; // no change..
+               }
+               if (val) {
+                       FileUtils.set_contents(this.gitdir + "/.gitlive-enable-auto-branch" , "x");
+               } else {
+                       // it exists...
+                       FileUtils.remove(this.gitdir + "/.gitlive-enable-auto-branch" ); 
+               }
+    
+    }
     public bool is_autopush ()
     {
        return !FileUtils.test(this.gitdir + "/.gitlive-disable-autopush" , FileTest.EXISTS);
     }
+    public void set_autopush(bool val)
+    {
+
+               var cur = this.is_autopush();
+               GLib.debug("SET auto push : %s <= %s", val ? "ON" : "OFF",  cur  ? "ON" : "OFF");
+               if (cur == val) {
+                       return; // no change..
+               }
+               if (!val) {
+                       FileUtils.set_contents(this.gitdir + "/.gitlive-disable-autopush" , "");
+               } else {
+                       // it exists...
+                       FileUtils.remove(this.gitdir + "/.gitlive-disable-autopush" ); 
+               }
+    
+    }
+    
+    
     
     Gee.HashMap<string,GitBranch> branches;
     
@@ -338,7 +390,7 @@ public class GitRepo : Object
        }
        return false;
     }
-    
+        
     public void loadActiveTicket()
     {
        this.activeTicket = null;
@@ -350,7 +402,7 @@ public class GitRepo : Object
        if (ticket_id.length < 1) {
                return;
                }
-               this.activeTicket = RooTicket.singleton().getById(ticket_id);
+               this.activeTicket = RooTicket.singleton().getById(ticket_id.strip());
        
        
     }
@@ -426,10 +478,10 @@ public class GitRepo : Object
                                           
                                        string[] cmd = { "checkout", "-b" , branchname  };
                                        this.git(cmd);
-                       this.push();    
-                       cmd = { "branch", "--set-upstream-to=origin/"+branchname , branchname  };
+
+                       cmd = { "push", "-u" , "origin" ,"HEAD"  };
                                        this.git(cmd);
-                       
+                     
                                        } catch(Error ee) {
                                                GitMonitor.gitmonitor.pauseError(ee.message);
                                                return false;           
@@ -612,7 +664,7 @@ public class GitRepo : Object
     public string push () throws Error, SpawnError
     {
         // should 
-        return this.git({ "push", "--all" });
+        return this.git({ "push"  });
         
     }