curl_low_speed_time);
        }
 
+       curl_easy_setopt(result, CURLOPT_FOLLOWLOCATION, 1);
+
        return result;
 }
 
        buffer.buffer = data;
 
        if (get_verbosely)
-               fprintf(stderr, "Getting alternates list\n");
+               fprintf(stderr, "Getting alternates list for %s\n", base);
        
        url = xmalloc(strlen(base) + 31);
        sprintf(url, "%s/objects/info/http-alternates", base);
        buffer.buffer = data;
 
        if (get_verbosely)
-               fprintf(stderr, "Getting pack list\n");
+               fprintf(stderr, "Getting pack list for %s\n", repo->base);
        
        url = xmalloc(strlen(repo->base) + 21);
        sprintf(url, "%s/objects/info/packs", repo->base);