RE: [PATCH v2 3/3] archive: support remote archive from stateless transport
- From
rsbecker@nexbridge.com <rsbecker@nexbridge.com>
- Date
- Sep 24, 2023, 23:58 UTC
- Message-ID
- <007601d9ef43$00731690$015943b0$@nexbridge.com>
- In-Reply-To
- <CANYiYbFkG+CvrNFBkdNewZs7ADROVsjd051SDQsU0zVq8eBhew@mail.gmail.com>
On Sunday, September 24, 2023 7:40 PM, Jiang Xin wrote:
Show 33 quoted lines
>On Sun, Sep 24, 2023 at 2:52 PM Eric Sunshine <sunshine@sunshineco.com>
>wrote:
>>
>> On Sat, Sep 23, 2023 at 11:22 AM Jiang Xin <worldhello.net@gmail.com> wrote:
>> > Even though we can establish a stateless connection, we still cannot
>> > archive the remote repository using a stateless HTTP protocol. Try
>> > the following steps to make it work.
>> > [...]
>> > Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
>> > ---
>> > diff --git a/http-backend.c b/http-backend.c @@ -639,10 +640,19 @@
>> > static void check_content_type(struct strbuf *hdr, const char *accepted_type)
>> > - const char *argv[] = {NULL, "--stateless-rpc", ".", NULL};
>> > + const char *argv[4];
>> >
>> > + if (!strcmp(service_name, "git-upload-archive")) {
>> > + argv[1] = ".";
>> > + argv[2] = NULL;
>> > + } else {
>> > + argv[1] = "--stateless-rpc";
>> > + argv[2] = ".";
>> > + argv[3] = NULL;
>> > + }
>>
>> It may not be worth a reroll, but since you're touching this code
>> anyhow, these days we'd use `strvec` for this:
>>
>> struct strvec argv = STRVEC_INIT;
>> if (strcmp(service_name, "git-upload-archive"))
>> strvec_push(&argv, "--stateless-rpc");
>> strvec_push(&argv, ".");
>
>Good suggestion, I'll queue this up as part of next reroll.Which test covers this change?
Thanks, Randall