threads / patch / 9934

patch, 5 partsYet another builtin-fetch round

Subject: [PATCH 0/5] Yet another builtin-fetch round

## tl;dr

4 messages between Sep 19, 2007 and Sep 20, 2007. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Shawn O. Pearce· Sep 19, 2007, 04:49 UTC · lore

Another short series for db/fetch-pack, still in pu. Aside from optimizing the pipeline on the native transport (so we only invoke the remote process we need once vs. twice) I'm actually now quite comfortable with this whole series and think it is ready for next.

I'm certainly running it in production, and will be until it is merged. The performance difference is too big for me (and at least some of my coworkers) to not be doing so. If there are any specific reasons why this topic is not ready for next or is unsuitable for merging please let me know so I can take the time to correct it.

1/5 Rename remote.uri to remote.url within remote handling internals 2/5 Refactor struct transport_ops inlined into struct transport 3/5 Always obtain fetch-pack arguments from struct fetch_pack_args

  These three are basic code cleanups for small issues that
  bothered me about the original implementation of builtin-fetch.
  Now is just as good of a time as any to cleanup the code and make
  it more maintainable.  I think the overall total line count is
  reduced by these three patches.
* Ensure builtin-fetch honors {fetch,transfer}.unpackLimit
* Fix memory leaks when disconnecting transport instances
  Fixes two known (but minor) outstanding bugs.  At this point
  I do not know of any other bugs in builtin-fetch so I would
  really appreciate testing reports from other people, especially
  those whose uses cases might stray outside of my workflow.  Hah,
  I did not tell you my workflow.  ;-)
-- 
Shawn.
Daniel Barkalow· Sep 20, 2007, 02:40 UTC · re: Shawn O. Pearce · lore

Re: [PATCH 0/5] Yet another builtin-fetch round

On Wed, 19 Sep 2007, Shawn O. Pearce wrote:
> Another short series for db/fetch-pack, still in pu.  Aside from
> optimizing the pipeline on the native transport (so we only invoke
> the remote process we need once vs. twice) I'm actually now quite
> comfortable with this whole series and think it is ready for next.

While it's still in pu, should these series of corrections be amended into the original series (for the ones that correct new code)? Most of the before-fixing states aren't worth saving as project history.

Show 5 quoted lines
> I'm certainly running it in production, and will be until it is
> merged.  The performance difference is too big for me (and at least
> some of my coworkers) to not be doing so.  If there are any specific
> reasons why this topic is not ready for next or is unsuitable for
> merging please let me know so I can take the time to correct it.

Good to hear that it's working for you. It's been working for me since July, for my usage patterns, but they're not very extensive, and I was mostly relying on the tests.

Show 9 quoted lines
> 1/5  Rename remote.uri to remote.url within remote handling internals
> 2/5  Refactor struct transport_ops inlined into struct transport
> 3/5  Always obtain fetch-pack arguments from struct fetch_pack_args
> 
>   These three are basic code cleanups for small issues that
>   bothered me about the original implementation of builtin-fetch.
>   Now is just as good of a time as any to cleanup the code and make
>   it more maintainable.  I think the overall total line count is
>   reduced by these three patches.
All of these look right.
Show 8 quoted lines
> * Ensure builtin-fetch honors {fetch,transfer}.unpackLimit
> * Fix memory leaks when disconnecting transport instances
> 
>   Fixes two known (but minor) outstanding bugs.  At this point
>   I do not know of any other bugs in builtin-fetch so I would
>   really appreciate testing reports from other people, especially
>   those whose uses cases might stray outside of my workflow.  Hah,
>   I did not tell you my workflow.  ;-)
Looks good, but I didn't really check over them.
	-Daniel
*This .sig left intentionally blank*
Junio C Hamano· Sep 20, 2007, 04:08 UTC · re: Daniel Barkalow · lore

Re: [PATCH 0/5] Yet another builtin-fetch round

Daniel Barkalow <barkalow@iabervon.org> writes:
Show 10 quoted lines
> On Wed, 19 Sep 2007, Shawn O. Pearce wrote:
>
>> Another short series for db/fetch-pack, still in pu.  Aside from
>> optimizing the pipeline on the native transport (so we only invoke
>> the remote process we need once vs. twice) I'm actually now quite
>> comfortable with this whole series and think it is ready for next.
>
> While it's still in pu, should these series of corrections be amended into 
> the original series (for the ones that correct new code)? Most of the 
> before-fixing states aren't worth saving as project history.

Yeah, I was wondering if that is a sane thing to do. It is merely additional work to arrive at the same tree state, but might be a good investment in the longer term.

Junio C Hamano· Sep 20, 2007, 05:09 UTC · re: Junio C Hamano · lore

Re: [PATCH 0/5] Yet another builtin-fetch round

Junio C Hamano <gitster@pobox.com> writes:
Show 16 quoted lines
> Daniel Barkalow <barkalow@iabervon.org> writes:
>
>> On Wed, 19 Sep 2007, Shawn O. Pearce wrote:
>>
>>> Another short series for db/fetch-pack, still in pu.  Aside from
>>> optimizing the pipeline on the native transport (so we only invoke
>>> the remote process we need once vs. twice) I'm actually now quite
>>> comfortable with this whole series and think it is ready for next.
>>
>> While it's still in pu, should these series of corrections be amended into 
>> the original series (for the ones that correct new code)? Most of the 
>> before-fixing states aren't worth saving as project history.
>
> Yeah, I was wondering if that is a sane thing to do.  It is
> merely additional work to arrive at the same tree state, but
> might be a good investment in the longer term.

Heh, I did not realize that they are now all part of 'next' so that's moot.

← back to recent threads