[PATCH 00/18] http*: refactor (v3)
From: Tay Ray Chuan <hidden>
Date: 2016-06-15 22:46:49
Junio, I've reworked the patches after "http-push: fix missing "#ifdef
USE_CURL_MULTI" around "is_running_queue" in rc/http-push. (I thought
resending everything would clutter things up, but I could for your
convenience if you want me to.)
Mike, I've only taken some of your patches from your WIP patch series
dated Jan 18 (http://kerneltrap.org/mailarchive/git/2009/1/18/4757804),
because the rest are more problematic to apply.
Here's a list of changes from Mike's patches and from my previous patch
series:
*I removed the contentious http_cleanup in the cleanup patch #7.
*a new http_request return state, HTTP_START_FAILED, has been added.
*http_request prints an error message ("Unable to start request") when
start_active_slot fails.
*a new http API method, http_error, has been added.
*in patch #12 (http_fetch_ref), the error ("Unable to start request")
is still removed, like Mike did, since http_request already handles it.
*in patch #13 (remote_exists), the patch has been re-titled from
update_remote_info_refs.
*the patches for fetch_http_pack_index and objects/info/packs have
been reworked into http_get_info_packs.
*fetch_http_pack_index has been made private.
Mike Hommey (6):
Don't expect verify_pack() callers to set pack_size
Some cleanup in get_refs_via_curl()
http: new functions for the http API
transport: use the new http API in get_refs_via_curl()
http: use the new http API in http_fetch_ref()
http-push: use the new http API in fetch_symref()
Tay Ray Chuan (12):
t5550-http-fetch: test fetching of packed objects
http-push, http-walker: style fixes
http-walker: verify remote packs
http*: copy string returned by sha1_to_hex
http-push: do not SEGV after fetching a bad pack idx file
http*: move common variables and macros to http.[ch]
http: create function end_url_with_slash
http-push: use the new http API in remote_exists()
http*: add http_get_info_packs
http: use new http API in fetch_index()
http*: add helper methods for fetching packs
http*: add helper methods for fetching objects (loose)
http-push.c | 533 +++++--------------------------------------
http-walker.c | 528 +++++++------------------------------------
http.c | 602 +++++++++++++++++++++++++++++++++++++++++++++++--
http.h | 85 +++++++
pack-check.c | 8 +-
t/t5550-http-fetch.sh | 8 +
transport.c | 33 +--
7 files changed, 832 insertions(+), 965 deletions(-)