16ac161a7e0835ba943b8c33c21858b0d1938219
braney
  Thu Oct 6 15:02:49 2011 -0700
change the relationship between the trackHub structure and the hubConnectStatus structure to be hierarchical. This fixes #4920.  We now *always* fetch the URL contents instead of trusting what's in the hubStatus table *unless* there's an error message in the hubStatus table.
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 1dccac1..759e6f7 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -3454,33 +3454,33 @@
 void loadTrackHubs(struct track **pTrackList, struct trackHub **pHubList)
 /* Load up stuff from data hubs and append to lists. */
 {
 struct hubConnectStatus *hub, *hubList =  hubConnectStatusListFromCart(cart);
 for (hub = hubList; hub != NULL; hub = hub->next)
     {
     if (isEmpty(hub->errorMessage))
 	{
 
         /* error catching in so it won't just abort  */
         struct errCatch *errCatch = errCatchNew();
         if (errCatchStart(errCatch))
 	    addTracksFromTrackHub(hub->id, hub->hubUrl, pTrackList, pHubList);
         errCatchEnd(errCatch);
         if (errCatch->gotError)
-	    hubSetErrorMessage( errCatch->message->string, hub->id);
+	    hubUpdateStatus( errCatch->message->string, hub);
 	else
-	    hubSetErrorMessage(NULL, hub->id);
+	    hubUpdateStatus(NULL, hub);
         errCatchFree(&errCatch);
 	}
     }
 hubConnectStatusFreeList(&hubList);
 }
 
 boolean restrictionEnzymesOk()
 /* Check to see if it's OK to do restriction enzymes. */
 {
 return (hTableExists("hgFixed", "cutters") &&
     hTableExists("hgFixed", "rebaseRefs") &&
     hTableExists("hgFixed", "rebaseCompanies"));
 }
 
 static void fr2ScaffoldEnsemblLink(char *archive, struct hotLink **links)