git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] http*: refactor fetching code (v2)
@ 2009-05-18  8:30 Tay Ray Chuan
  2009-05-20  7:43 ` Mike Hommey
  0 siblings, 1 reply; 7+ messages in thread
From: Tay Ray Chuan @ 2009-05-18  8:30 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Junio C Hamano

This patch series applies on pu.

The major differences between this series and the 11-patch long one
(dated May 15, 2009) are:

 *check 'preq' pointer before using it (for fetching packs) [1]
 *moved free(url) before 'abort' label to stop -Wuninitialized warning
  (for fetching loose objects) [2]
 *use unlink_or_warn, after 691f1a2 ("replace direct calls to unlink
  (2) with unlink_or_warn")

Junio: I've rebased the patch series on pu, hopefully this stops the
attribute warnings for patch 3.

Tay Ray Chuan (3):
  http*: add helper methods for fetching packs
  http*: add helper methods for fetching objects/info/packs
  http*: add helper methods for fetching objects (loose)

 http-push.c   |  378 ++++++++--------------------------------------------
 http-walker.c |  407 +++++++++++---------------------------------------------
 http.c        |  415 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 http.h        |   72 ++++++++++-
 4 files changed, 616 insertions(+), 656 deletions(-)

Footnotes:
[1] @@ -595,17 +595,21 @@ static void finish_request(struct transfer_request *request)
     			start_fetch_packed(request);
     
     	} else if (request->state == RUN_FETCH_PACKED) {
    +		int fail = 1;
     		if (request->curl_result != CURLE_OK) {
     			fprintf(stderr, "Unable to get pack file %s\n%s",
     				request->url, curl_errorstr);
    -			repo->can_update_info_refs = 0;
     		} else {
     			preq = (struct http_pack_request *)request->userData;
     
    -			if (finish_http_pack_request(preq))
    -				repo->can_update_info_refs = 0;
    +			if (preq) {
    +				if (finish_http_pack_request(preq) > 0)
    +					fail = 0;
    +				release_http_pack_request(preq);
    +			}
     		}
    -		release_http_pack_request(preq);
    +		if (fail)
    +			repo->can_update_info_refs = 0;
     		release_request(request);
     	}
     }
    
[2] @@ -1167,9 +1167,9 @@ struct http_object_request
    *new_http_object_request(const char *base_url, 
     	return freq;
     
    +	free(url);
     abort:
     	free(filename);
    -	free(url);
     	free(freq);
     	return NULL;
     }

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] http*: refactor fetching code (v2)
  2009-05-18  8:30 [PATCH 0/3] http*: refactor fetching code (v2) Tay Ray Chuan
@ 2009-05-20  7:43 ` Mike Hommey
  2009-05-20 10:21   ` Johannes Schindelin
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Mike Hommey @ 2009-05-20  7:43 UTC (permalink / raw)
  To: Tay Ray Chuan; +Cc: Git Mailing List, Junio C Hamano

On Mon, May 18, 2009 at 04:30:25PM +0800, Tay Ray Chuan wrote:
> This patch series applies on pu.
> 
> The major differences between this series and the 11-patch long one
> (dated May 15, 2009) are:
> 
>  *check 'preq' pointer before using it (for fetching packs) [1]
>  *moved free(url) before 'abort' label to stop -Wuninitialized warning
>   (for fetching loose objects) [2]
>  *use unlink_or_warn, after 691f1a2 ("replace direct calls to unlink
>   (2) with unlink_or_warn")
> 
> Junio: I've rebased the patch series on pu, hopefully this stops the
> attribute warnings for patch 3.
> 
> Tay Ray Chuan (3):
>   http*: add helper methods for fetching packs
>   http*: add helper methods for fetching objects/info/packs
>   http*: add helper methods for fetching objects (loose)

I do think these would be even better if they were integrated with
http://kerneltrap.org/mailarchive/git/2009/1/18/4757804.

Speaking of which, do we have a better http test suite now ? If we do, I
can try to (finally) finalize my work.

Mike

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] http*: refactor fetching code (v2)
  2009-05-20  7:43 ` Mike Hommey
@ 2009-05-20 10:21   ` Johannes Schindelin
  2009-05-20 12:14     ` Tay Ray Chuan
  2009-05-20 12:10   ` Tay Ray Chuan
  2009-05-20 14:03   ` Tony Finch
  2 siblings, 1 reply; 7+ messages in thread
From: Johannes Schindelin @ 2009-05-20 10:21 UTC (permalink / raw)
  To: Mike Hommey; +Cc: Tay Ray Chuan, Git Mailing List, Junio C Hamano

Hi,

On Wed, 20 May 2009, Mike Hommey wrote:

> do we have a better http test suite now ? If we do, I can try to 
> (finally) finalize my work.

Oops, sorry, I know I promised to work on that, but I simply lack the 
time.

Sorry,
Dscho

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] http*: refactor fetching code (v2)
  2009-05-20  7:43 ` Mike Hommey
  2009-05-20 10:21   ` Johannes Schindelin
@ 2009-05-20 12:10   ` Tay Ray Chuan
  2009-05-20 14:03   ` Tony Finch
  2 siblings, 0 replies; 7+ messages in thread
From: Tay Ray Chuan @ 2009-05-20 12:10 UTC (permalink / raw)
  To: Mike Hommey; +Cc: Git Mailing List, Junio C Hamano

Hi,

On Wed, May 20, 2009 at 3:43 PM, Mike Hommey <mh@glandium.org> wrote:
> I do think these would be even better if they were integrated with
> http://kerneltrap.org/mailarchive/git/2009/1/18/4757804.

yes, I agree very much with your proposed http API, with methods for
fetching to files and strbufs. Please think of my patch series as an
intermediate step for your patches, by reducing the amount of code
involved in this API-ish refactoring.

I'm presently working on this.

-- 
Cheers,
Ray Chuan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] http*: refactor fetching code (v2)
  2009-05-20 10:21   ` Johannes Schindelin
@ 2009-05-20 12:14     ` Tay Ray Chuan
  2009-05-22  8:34       ` Clemens Buchacher
  0 siblings, 1 reply; 7+ messages in thread
From: Tay Ray Chuan @ 2009-05-20 12:14 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Mike Hommey, Git Mailing List, Junio C Hamano

Hi,

On Wed, May 20, 2009 at 6:21 PM, Johannes Schindelin
<Johannes.Schindelin@gmx.de> wrote:
> Oops, sorry, I know I promised to work on that, but I simply lack the
> time.

a quick list of tests available for http* (I left out some minor ones):

t5540-http-push:
 *push to remote repository with packed refs
 *push to remote repository with unpacked refs
 *http-push fetches unpacked objects
 *http-push fetches packed objects
 *create and delete remote branch

t5550-http-fetch:
 *fetch changes via http
 *http remote detects correct HEAD
 *fetch packed objects

Mike and Johannes, what else do you have in mind?

-- 
Cheers,
Ray Chuan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] http*: refactor fetching code (v2)
  2009-05-20  7:43 ` Mike Hommey
  2009-05-20 10:21   ` Johannes Schindelin
  2009-05-20 12:10   ` Tay Ray Chuan
@ 2009-05-20 14:03   ` Tony Finch
  2 siblings, 0 replies; 7+ messages in thread
From: Tony Finch @ 2009-05-20 14:03 UTC (permalink / raw)
  To: Mike Hommey; +Cc: Tay Ray Chuan, Git Mailing List, Junio C Hamano

On this topic, some of my friends have complained that git doesn't
automatically try appending .git to a URL when it fails to find a
bare git repository on the server.

Tony.
-- 
f.anthony.n.finch  <dot@dotat.at>  http://dotat.at/
GERMAN BIGHT HUMBER: SOUTHWEST 5 TO 7. MODERATE OR ROUGH. SQUALLY SHOWERS.
MODERATE OR GOOD.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] http*: refactor fetching code (v2)
  2009-05-20 12:14     ` Tay Ray Chuan
@ 2009-05-22  8:34       ` Clemens Buchacher
  0 siblings, 0 replies; 7+ messages in thread
From: Clemens Buchacher @ 2009-05-22  8:34 UTC (permalink / raw)
  To: Tay Ray Chuan
  Cc: Johannes Schindelin, Mike Hommey, Git Mailing List,
	Junio C Hamano

On Wed, May 20, 2009 at 08:14:59PM +0800, Tay Ray Chuan wrote:
> a quick list of tests available for http* (I left out some minor ones):
[...]
> 
> Mike and Johannes, what else do you have in mind?

As I understand it, there is a bunch of error regressions in Mike's patches.
Having tests for those would help.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-05-22  8:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-18  8:30 [PATCH 0/3] http*: refactor fetching code (v2) Tay Ray Chuan
2009-05-20  7:43 ` Mike Hommey
2009-05-20 10:21   ` Johannes Schindelin
2009-05-20 12:14     ` Tay Ray Chuan
2009-05-22  8:34       ` Clemens Buchacher
2009-05-20 12:10   ` Tay Ray Chuan
2009-05-20 14:03   ` Tony Finch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).