GitRepo.vala
[gitlive] / GitRepo.vala
index 7860339..07c6897 100644 (file)
@@ -156,7 +156,8 @@ public class GitRepo : Object
      *
      */
      
-    private GitRepo(string path) {
+    private GitRepo(string path) 
+    {
         // cal parent?
         this.name =   File.new_for_path(path).get_basename();
         this.ignore_files = new Gee.HashMap<string,bool>();
@@ -192,6 +193,7 @@ public class GitRepo : Object
     }
     public void init_config()
     {
+       this.config_cache = new Gee.HashMap<string,string>();
        // managed = 
        if (this.get_config("managed") == "") {
                this.set_config("managed", this.host == "git.roojs.com" ? "1" : "0");
@@ -202,11 +204,16 @@ public class GitRepo : Object
        if (this.get_config("autopush") == "") {
                this.set_config("autopush", this.host == "git.roojs.com" ? "1" : "0");
                }
+               
     }
     
     
     
     public string get_config(string key) {
+    
+       if (this.config_cache.has_key(key)) {
+               return this.config_cache.get(key);
+               }
        try {
                return  this.git({ "config" , "gitlive." + key });
        } catch (Error e) {