Ticket.bjs
[gitlive] / GitBranch.vala
index ffa9c7e..a30808b 100644 (file)
@@ -36,7 +36,7 @@ public class GitBranch : Object
        public string remote = "";
        public string remoterev = "";
        
-       public toString()
+       public string toString()
        {
                return 
                        "active: " + (active ? "true" : "false") + "\n" +
@@ -61,6 +61,8 @@ public class GitBranch : Object
                var local =  new Gee.HashMap<string,GitBranch>();
                var remotes  =  new Gee.HashMap<string,GitBranch>();
                
+      //        repo.git( { "fetch",  "-a" } ); == done async before...
+               
        string[] cmd = { "branch",   "--no-color", "--verbose", "--no-abbrev" , "-a"  };
         var res = repo.git( cmd );
         var lines = res.split("\n");
@@ -93,10 +95,13 @@ public class GitBranch : Object
                
                var ar = line.split(":remotes/");
                var lname= ar[0];
-            var rname = "remotes/' + ar[1]";
+            var rname = "remotes/" + ar[1];
+            
                 //print(rname);
                 // we should always have a local version of it.
-            branches.get(lname).remote = rname;
+            if (branches.has_key(lname)) {     
+                   branches.get(lname).remote = rname;
+            }
             
             if (!branches.has_key(rname)) {
                     continue;
@@ -106,6 +111,10 @@ public class GitBranch : Object
                 
             branches.get(rname).name = lname;
         }
+        foreach(var br in local.values) {
+               GLib.debug("BRANCH:\n%s\n" , br.toString());
+        }
+        
         /*
         this bit of the code tries to turn a local branch into a track of a remote one.
         -- that's probably not a good idea.