Re: [PATCH 5/6] fetch: teach independent negotiation (no packfile)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes:

> There are 2 code paths that do not go through fetch_refs_via_pack() that
> needed to be individually excluded: the bundle transport (excluded
> through requiring smart_options, which the bundle transport doesn't
> support) and transport helpers that do not support takeover.
> Fortunately, none of these support protocol v2.

I am a bit puzzled by this mention of "Fortunately".  If one says
"this shiny new feature only works with protocol v2" and "transport
X does not support protocol v2", doesn't it imply that the shiny new
feature cannot be used with the transport X, which is unfortunate?

I can understand "while interacting with the bundle transport, you
cannot do independent negotiation, but there is nothing to negotiate
with a static file that is a bundle anyway, so nothing is lost" as
an explanation, though.

>  Documentation/technical/protocol-v2.txt |  8 +++
>  builtin/fetch.c                         | 27 +++++++-
>  fetch-pack.c                            | 89 +++++++++++++++++++++++--
>  fetch-pack.h                            | 11 +++
>  object.h                                |  2 +-
>  t/t5701-git-serve.sh                    |  2 +-
>  t/t5702-protocol-v2.sh                  | 89 +++++++++++++++++++++++++
>  transport-helper.c                      | 10 +++
>  transport.c                             | 30 +++++++--
>  transport.h                             |  6 ++
>  upload-pack.c                           | 18 +++--
>  11 files changed, 275 insertions(+), 17 deletions(-)

It is a bit surprising that there isn't much code removed, as I
expected that we'd be factoring out and reusing existing code used
in negotiation for fetching into a new helper function (hence the
existing codepath would lose a lot of code to be replaced by a call
to a new helper function), but that is apparently not what is going
on.

I'll have to revisit this step and the next step tomorrow.

Thanks.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux