Git.vala
authorAlan Knowles <alan@roojs.com>
Wed, 20 Mar 2019 08:10:36 +0000 (16:10 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 20 Mar 2019 08:10:36 +0000 (16:10 +0800)
Git.vala

index 23be9fb..8f41b55 100644 (file)
--- a/Git.vala
+++ b/Git.vala
@@ -299,27 +299,30 @@ namespace  GitLive {
                public async void loadRemoteHeads(bool force = false)
                {
                    SourceFunc callback = loadRemoteHeads.callback;
-
-                       if (!force && this.remote_heads != null) {
-                               return;
-                       }
-                       var r = this.repo.lookup_remote("origin");
-                       r.connect(Ggit.Direction.FETCH, this.callbacks, null, null);
-                       this.remote_heads = r.list();
                        
-                       foreach(var br in this.remote_heads) {
-                               if (!br.get_name().has_prefix("refs/heads/")) {
-                                       continue;
+                       ThreadFunc<bool> run = () => {
+                               
+                               if (!force && this.remote_heads != null) {
+                                       return;
                                }
+                               var r = this.repo.lookup_remote("origin");
+                               r.connect(Ggit.Direction.FETCH, this.callbacks, null, null);
+                               this.remote_heads = r.list();
                                
-                               GLib.debug("Remote: name=%s  oid=%s local_oid=%s is_local=%s",
-                                       br.get_name().substring(11),
-                                       br.get_oid().to_string(),
-                                       br.get_local_oid().to_string(),
-                                       br.is_local() ? "Y" : "n"
-                                       );
+                               foreach(var br in this.remote_heads) {
+                                       if (!br.get_name().has_prefix("refs/heads/")) {
+                                               continue;
                                        }
-                       
+                                       
+                                       GLib.debug("Remote: name=%s  oid=%s local_oid=%s is_local=%s",
+                                               br.get_name().substring(11),
+                                               br.get_oid().to_string(),
+                                               br.get_local_oid().to_string(),
+                                               br.is_local() ? "Y" : "n"
+                                               );
+                               }
+                               Idle.add((owned) callback);
+                               
                }