# [PATCH 00/18] http*: refactor (v3)

3 messages from 2009-05-24 to 2009-05-24. Participants: Tay Ray Chuan, Junio C Hamano.
Thread: https://gitlist.dev/t/19479

## Tay Ray Chuan, 2009-05-24 14:21

Subject: [PATCH 00/18] http*: refactor (v3)
Message-ID: <20090524222101.3e6f0496.rctay89@gmail.com>
URL: https://gitlist.dev/e/20090524222101.3e6f0496.rctay89%40gmail.com

```
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(-)

```

## Junio C Hamano, 2009-05-24 20:43

Subject: Re: [PATCH 00/18] http*: refactor (v3)
Message-ID: <7veiueut97.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7veiueut97.fsf%40alter.siamese.dyndns.org
In-Reply-To: <20090524222101.3e6f0496.rctay89@gmail.com>

```
Tay Ray Chuan <rctay89@gmail.com> writes:

> 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.)

Sending replacements like this while the series is only in 'pu' is
perfectly fine as long as what patch I have in 'pu' are being replaced.  I
can just drop everything between rc/http-push~11 to its tip and apply the
new series.

Thanks.

```

## Junio C Hamano, 2009-05-24 21:28

Subject: Re: [PATCH 00/18] http*: refactor (v3)
Message-ID: <7vk546ry1b.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vk546ry1b.fsf%40alter.siamese.dyndns.org
In-Reply-To: <7veiueut97.fsf@alter.siamese.dyndns.org>

```
Junio C Hamano <gitster@pobox.com> writes:

> Tay Ray Chuan <rctay89@gmail.com> writes:
>
>> 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.)
>
> Sending replacements like this while the series is only in 'pu' is
> perfectly fine as long as what patch I have in 'pu' are being replaced.  I

"... as long as it is clear what patches I have ..."; sorry for not
re-reading what I wrote before sending it out.

> can just drop everything between rc/http-push~11 to its tip and apply the
> new series.
>
> Thanks.

```
