GitRepo.vala
[gitlive] / GitRepo.vala
index f4a12d1..d0bbe5d 100644 (file)
@@ -19,6 +19,7 @@ public class GitRepo : Object
     public string git_working_dir;
     public bool debug = false;
     public bool has_local_changes = false;
+    public string host = "";
     public string git_status;    
     public string git_diff;        
     public string ahead_or_behind = "";
@@ -192,9 +193,8 @@ public class GitRepo : Object
     public bool is_managed()
     {
        // is it a roojs origin?
-       var r = this.git({ "remote" , "get-url" , "--push" , "origin"});
-       var uri = new Soup.URI(r);
-       if (uri.get_host() != "git.roojs.com") { // we can only push to this url. -- unless we have forced it to be managed.
+        
+       if (this.host != "git.roojs.com") { // we can only push to this url. -- unless we have forced it to be managed.
                return FileUtils.test(this.gitdir + "/.gitlive-managed" , FileTest.EXISTS);
        }
        // otherwise see if unmanaged is set to disable it..
@@ -247,12 +247,24 @@ public class GitRepo : Object
                if (cur == val) {
                        return; // no change..
                }
-               if (val) {
-                       FileUtils.set_contents(this.gitdir + "/.gitlive-enable-auto-branch" , "x");
+       if (this.host != "git.roojs.com") { // we can only push to this url. -- unless we have forced it to be managed.
+               // remote is not our server..
+               if (val) {
+                       FileUtils.set_contents(this.gitdir + "/.gitlive-managed" , "x");
+               } else {
+                       FileUtils.remove(this.gitdir + "/.gitlive-managed" ); 
+                       }
+               return;
+
+       }
+       
+       if (val) {
+                       FileUtils.remove(this.gitdir + "/.gitlive-unmanaged" ); 
                } else {
-                       // it exists...
-                       FileUtils.remove(this.gitdir + "/.gitlive-enable-auto-branch" ); 
+               FileUtils.set_contents(this.gitdir + "/.gitlive-unmanaged" , "x");              
+
                }
+         
     
     }
     public bool is_autopush ()