sync
[gitlive] / Git.vala
index b62439e..66b4209 100644 (file)
--- a/Git.vala
+++ b/Git.vala
@@ -1,7 +1,6 @@
 
 // valac -o /tmp/ggit Git.vala --pkg libgit2-glib-1.0 --pkg libsoup-2.4 --pkg gee-0.8 -g
-
-
 
 void main()
 {
@@ -26,8 +25,8 @@ void main()
     }, GLib.Priority.HIGH);
        
        var loop = new MainLoop();
-       
-       var a = new GitLive.Repo("/home/alan/gitlive/gitlive");
+        
+       var a = new GitLive.Repo("/home/alan/gitlive/web.coba");
       GLib.debug("Starting");  
        a.loadRemoteHeads.begin(true, (obj,res) => {
                a.loadRemoteHeads.end(res);
@@ -104,19 +103,26 @@ namespace  GitLive {
                        var r = this.repo.enumerate_branches(Ggit.BranchType.LOCAL);
                        while (r.next()) {
                                var br = r.get() as Ggit.Branch;
+                               if (br == null) {
+                                       continue;
+                                       }
+                               
                                //var head = this.repo.revparse("refs/heads/" + br.get_name() ).get_id();
                                //var rhead = this.repo.revparse(br.get_upstream().get_name() ).get_id();
-                           GLib.debug("got branch: H=%s name = %s upstream = %s oid = %s ", 
-                                               br.is_head() ? "Y" : "n",
-                                               br.get_name(), 
-                                               br.get_upstream().get_name().substring(20), 
-                                           br.get_target().to_string());
-                               this.branches.add(br);
-                               if (br.is_head()) {
-                                       GLib.debug("HEAD= %s", br.get_name());
-                                       this.head = br;
+                               try {
+                                       GLib.debug("got branch: N=%s", br.get_name() );
+                                       GLib.debug("is_head %s", br.is_head() ? "Y" : "n");
+
+                                       GLib.debug("upstream = %s", br.get_upstream() == null ? "??" : br.get_upstream().get_name().substring(20));
+                                       GLib.debug("oid = %s",br.get_target().to_string());
+                                       this.branches.add(br);
+                                       if (br.is_head()) {
+                                               GLib.debug("HEAD= %s", br.get_name());
+                                               this.head = br;
+                                       }
+                               } catch (Error e) {
+                                       GLib.debug("Skip branch");
                                }
-                               
                        }