Skip to content
  • Ray's avatar
    http*: add helper methods for fetching packs · 2264dfa5
    Ray authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    The code handling the fetching of packs in http-push.c and
    http-walker.c have been refactored into new methods and a new struct
    (http_pack_request) in http.c. They are not meant to be invoked
    elsewhere.
    
    The new methods in http.c are
     - new_http_pack_request
     - finish_http_pack_request
     - release_http_pack_request
    
    and the new struct is http_pack_request.
    
    Add a function, new_http_pack_request(), that deals with the details of
    coming up with the filename to store the retrieved packfile, resuming a
    previously aborted request, and making a new curl request. Update
    http-push.c::start_fetch_packed() and http-walker.c::fetch_pack() to
    use this.
    
    Add a function, finish_http_pack_request(), that deals with renaming
    the pack, advancing the pack list, and installing the pack. Update
    http-push.c::finish_request() and http-walker.c::fetch_pack to use
    this.
    
    Update release_request() in http-push.c and http-walker.c to invoke
    release_http_pack_request() to clean up pack request helper data.
    
    The local_stream member of the transfer_request struct in http-push.c
    has been removed, as the packfile pointer will be managed in the struct
    http_pack_request.
    
    Signed-off-by: default avatarTay Ray Chuan <rctay89@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    2264dfa5