{"thread":{"id":"19368","subject":"[PATCH 00/11] http*: refactor fetching code","startedAt":"2009-05-16T03:50:42Z","lastAt":"2009-05-16T03:50:42Z","messageCount":1,"participants":["Tay Ray Chuan"],"isPatch":true,"patchVersion":1,"patchTotal":11},"messages":[{"id":"114060","messageId":"20090516115042.b77829fb.rctay89@gmail.com","threadId":"19368","inReplyTo":null,"subject":"[PATCH 00/11] http*: refactor fetching code","fromName":"Tay Ray Chuan","fromEmail":"rctay89@gmail.com","sentAt":"2009-05-16T03:50:42Z","receivedAt":"2009-05-16T03:50:42Z","isPatch":true,"sender":{"key":"rctay89@gmail.com","avatar":"https://avatars.githubusercontent.com/u/61553?v=4"},"body":"This patch series moves out fetching code from http-push.c and\nhttp-walker.c into http.c to reduce code duplicity, and does not\nattempt to change git's behaviour.\n\nPatch #1 adds rigour to http fetch tests by testing fetching of packed\nobjects, in an effort to ensure that this patch series does not break\nfunctionality or change behaviour.\n\nPatch #2 introduces some style fixes, to reduce the number of trivial\ndifferences between http-push.c and http-walker.c.\n\nPatch #3 and #5 add features and fixes that were applied on to fetching\ncode in http-push.c or http-walker.c, but not the other. Patch #4, like\npatch #3, applies onto the code for fetching pack indices (pack-*.idx),\nand fixes the issue of \"mutating\" value of the hex variable in\nfetch_index (especially likely to be encountered when using\nhttp-walker.c).\n\nPatch #6 does some simple refactoring of variables and macros.\n\nPatch #7 refactors the logic for appending slashes in quote_ref_url,\ncreating a new method, end_url_with_slash. The latter method will be\nused in the following patches, since the base urls in http-walker.c and\nhttp-push.c are handled differently (ie. the former doesn't include a\ntrailing slash, while the latter does). By using this method\nthroughout, fetching code need not use different printf formatters or\ndifferentiate between invocations from http-push.c and http-walker.c.\n\nPatch #8 to #11 refactors code that handles fetching of:\n *pack indices (pack-*.idx)\n *packs\n *pack index (objects/info/packs)\n *loose objects\n\nTay Ray Chuan (11):\n  t5550-http-fetch: test fetching of packed objects\n  http-push, http-walker: style fixes\n  http-walker: verify remote packs\n  http*: copy string returned by sha1_to_hex\n  http-push: do not SEGV after fetching a bad pack idx file\n  http*: move common variables and macros to http.[ch]\n  http: create function end_url_with_slash\n  http*: add fetch_http_pack_index\n  http*: add helper methods for fetching packs\n  http*: add helper methods for fetching objects/info/packs\n  http*: add helper methods for fetching objects (loose)\n\n http-push.c           |  472 +++++-------------------------------------\n http-walker.c         |  525 +++++++++-------------------------------------\n http.c                |  554 ++++++++++++++++++++++++++++++++++++++++++++++++-\n http.h                |   73 +++++++\n t/t5550-http-fetch.sh |    8 +\n 5 files changed, 779 insertions(+), 853 deletions(-)\n"}]}