Partial Fix #5560 - Gitlive - branching wip
[gitlive] / GitRepo.vala
index ec10a01..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;
     
@@ -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;