{"thread":{"id":"2464","subject":"[PATCH] Show URL in the \"Getting <foo> list\" http-fetch messages","startedAt":"2005-11-12T00:49:59Z","lastAt":"2005-11-14T20:11:46Z","messageCount":6,"participants":["Petr Baudis","Junio C Hamano","Nick Hengeveld"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"11644","messageId":"20051112004958.21857.95728.stgit@machine.or.cz","threadId":"2464","inReplyTo":null,"subject":"[PATCH] Show URL in the \"Getting <foo> list\" http-fetch messages","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-11-12T00:49:59Z","receivedAt":"2005-11-12T00:49:59Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Signed-off-by: Petr Baudis <pasky@suse.cz>\n---\n\n http-fetch.c |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/http-fetch.c b/http-fetch.c\nindex e7655d1..e6e7df6 100644\n--- a/http-fetch.c\n+++ b/http-fetch.c\n@@ -795,7 +795,7 @@ static int fetch_alternates(char *base)\n \tbuffer.buffer = data;\n \n \tif (get_verbosely)\n-\t\tfprintf(stderr, \"Getting alternates list\\n\");\n+\t\tfprintf(stderr, \"Getting alternates list for %s\\n\", base);\n \t\n \turl = xmalloc(strlen(base) + 31);\n \tsprintf(url, \"%s/objects/info/http-alternates\", base);\n@@ -918,7 +918,7 @@ static int fetch_indices(struct alt_base\n \tbuffer.buffer = data;\n \n \tif (get_verbosely)\n-\t\tfprintf(stderr, \"Getting pack list\\n\");\n+\t\tfprintf(stderr, \"Getting pack list for %s\\n\", repo->base);\n \t\n \turl = xmalloc(strlen(repo->base) + 21);\n \tsprintf(url, \"%s/objects/info/packs\", repo->base);\n"},{"id":"11645","messageId":"20051112005803.GZ30496@pasky.or.cz","threadId":"2464","inReplyTo":"20051112004958.21857.95728.stgit@machine.or.cz","subject":"Re: [PATCH] Show URL in the \"Getting <foo> list\" http-fetch messages","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-11-12T00:58:03Z","receivedAt":"2005-11-12T00:58:03Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Sat, Nov 12, 2005 at 01:49:59AM CET, I got a letter\nwhere Petr Baudis <pasky@suse.cz> said that...\n> Signed-off-by: Petr Baudis <pasky@suse.cz>\n> ---\n> \n>  http-fetch.c |    4 ++--\n>  1 files changed, 2 insertions(+), 2 deletions(-)\n> \n> diff --git a/http-fetch.c b/http-fetch.c\n> index e7655d1..e6e7df6 100644\n> --- a/http-fetch.c\n> +++ b/http-fetch.c\n> @@ -795,7 +795,7 @@ static int fetch_alternates(char *base)\n>  \tbuffer.buffer = data;\n>  \n>  \tif (get_verbosely)\n> -\t\tfprintf(stderr, \"Getting alternates list\\n\");\n> +\t\tfprintf(stderr, \"Getting alternates list for %s\\n\", base);\n>  \t\n>  \turl = xmalloc(strlen(base) + 31);\n>  \tsprintf(url, \"%s/objects/info/http-alternates\", base);\n> @@ -918,7 +918,7 @@ static int fetch_indices(struct alt_base\n>  \tbuffer.buffer = data;\n>  \n>  \tif (get_verbosely)\n> -\t\tfprintf(stderr, \"Getting pack list\\n\");\n> +\t\tfprintf(stderr, \"Getting pack list for %s\\n\", repo->base);\n>  \t\n>  \turl = xmalloc(strlen(repo->base) + 21);\n>  \tsprintf(url, \"%s/objects/info/packs\", repo->base);\n\nBy the way, this is only a pathetic remnant of my brave effort to get\nrid of seeing the \"Getting alternates list\" message on the same\nrepository 20 times now since the parallel fetching got introduced.\nI know how to do silence the messages, but doing the _fetching_ itself\nseems as downright stupid thing in the first place.\n\nTherefore, can I somehow stall fetching of an object? The idea is:\n\n\tI want to check the alternates list!\n\tI don't have it yet...\n\t...but a request for it is already queued. Ok, I'll wait.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nVI has two modes: the one in which it beeps and the one in which\nit doesn't.\n"},{"id":"11647","messageId":"7vwtjeis09.fsf@assigned-by-dhcp.cox.net","threadId":"2464","inReplyTo":"20051112005803.GZ30496@pasky.or.cz","subject":"Re: [PATCH] Show URL in the \"Getting <foo> list\" http-fetch messages","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-11-12T01:17:42Z","receivedAt":"2005-11-12T01:17:42Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Petr Baudis <pasky@suse.cz> writes:\n\n> By the way, this is only a pathetic remnant of my brave effort to get\n> rid of seeing the \"Getting alternates list\" message on the same\n> repository 20 times now since the parallel fetching got introduced.\n> I know how to do silence the messages, but doing the _fetching_ itself\n> seems as downright stupid thing in the first place.\n>\n> Therefore, can I somehow stall fetching of an object? The idea is:\n>\n> \tI want to check the alternates list!\n> \tI don't have it yet...\n> \t...but a request for it is already queued. Ok, I'll wait.\n\nI agree, and probably this applies when index request is in\ntransit as well.\n"},{"id":"11686","messageId":"20051112172201.GF4051@reactrix.com","threadId":"2464","inReplyTo":"7vwtjeis09.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] Show URL in the \"Getting <foo> list\" http-fetch messages","fromName":"Nick Hengeveld","fromEmail":"nickh@reactrix.com","sentAt":"2005-11-12T17:22:02Z","receivedAt":"2005-11-12T17:22:02Z","isPatch":true,"sender":{"key":"nickh@reactrix.com","avatar":null},"body":"On Fri, Nov 11, 2005 at 05:17:42PM -0800, Junio C Hamano wrote:\n\n> > Therefore, can I somehow stall fetching of an object? The idea is:\n> >\n> > \tI want to check the alternates list!\n> > \tI don't have it yet...\n> > \t...but a request for it is already queued. Ok, I'll wait.\n> \n> I agree, and probably this applies when index request is in\n> transit as well.\n\nI just posted a patch to prevent another alternate request from starting\nif one is already in progress.\n\nThis should not be an issue with index requests because they are only\ninitiated from fetch().  The previous patch to load alternates on demand\nadded alternate handling to process_curl_messages() so that a 404 for an\nobject can be handled immediately rather than waiting for the fetch()\ncall for that object to notice.\n\n-- \nFor a successful technology, reality must take precedence over public\nrelations, for nature cannot be fooled.\n"},{"id":"11828","messageId":"20051114190225.GA3793@reactrix.com","threadId":"2464","inReplyTo":"20051112172201.GF4051@reactrix.com","subject":"Re: [PATCH] Show URL in the \"Getting <foo> list\" http-fetch messages","fromName":"Nick Hengeveld","fromEmail":"nickh@reactrix.com","sentAt":"2005-11-14T19:02:26Z","receivedAt":"2005-11-14T19:02:26Z","isPatch":true,"sender":{"key":"nickh@reactrix.com","avatar":null},"body":"On Sat, Nov 12, 2005 at 09:22:02AM -0800, Nick Hengeveld wrote:\n\n> This should not be an issue with index requests because they are only\n> initiated from fetch().  The previous patch to load alternates on demand\n> added alternate handling to process_curl_messages() so that a 404 for an\n> object can be handled immediately rather than waiting for the fetch()\n> call for that object to notice.\n\nSeems like it might make sense to handle pack downloads immediately when\nan object is unavailable rather than waiting for the fetch() call.  It\ncould prevent attempts to download any other objects inside that pack,\nalthough queued requests that activate while a pack is downloading\nwould have to wait to see whether the download is successful.  If such\nan object also exists loose it would prevent a redundant download and if\nnot it would at least prevent an unnecessary check and 404.\n\nThoughts?\n\n-- \nFor a successful technology, reality must take precedence over public\nrelations, for nature cannot be fooled.\n"},{"id":"11834","messageId":"7vveyvxa4d.fsf@assigned-by-dhcp.cox.net","threadId":"2464","inReplyTo":"20051114190225.GA3793@reactrix.com","subject":"Re: [PATCH] Show URL in the \"Getting <foo> list\" http-fetch messages","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-11-14T20:11:46Z","receivedAt":"2005-11-14T20:11:46Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nick Hengeveld <nickh@reactrix.com> writes:\n\n> On Sat, Nov 12, 2005 at 09:22:02AM -0800, Nick Hengeveld wrote:\n>\n>> This should not be an issue with index requests because they are only\n>> initiated from fetch().  The previous patch to load alternates on demand\n>> added alternate handling to process_curl_messages() so that a 404 for an\n>> object can be handled immediately rather than waiting for the fetch()\n>> call for that object to notice.\n>\n> Seems like it might make sense to handle pack downloads immediately when\n> an object is unavailable rather than waiting for the fetch() call.  It\n> could prevent attempts to download any other objects inside that pack,\n> although queued requests that activate while a pack is downloading\n> would have to wait to see whether the download is successful.\n\nI think that makes sense, and it probably is preferable to make\nthem wait than blindly go ahead.  Although we are issuing\nrequests in parallel, these simultaneous requests are asking for\nrelated things (e.g. parent commit objects or the tree object of\nthe commit we just saw; blob objects contained in the tree we\njust saw) and are more likely than not to be found in the pack\nbeing requested.  Losing parallelism while a pack is in transit\nwould not be too much of a problem.\n"}]}