From: Junio C Hamano <gitster@pobox.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: "brian m. carlson" <sandals@crustytoothpaste.net>,
Milan Hauth <milahu@gmail.com>,
git@vger.kernel.org
Subject: Re: Git dumb HTTP protocol should work without update-server-info
Date: Mon, 08 Sep 2025 07:43:20 -0700 [thread overview]
Message-ID: <xmqqy0qpxawn.fsf@gitster.g> (raw)
In-Reply-To: <aL6kevExmhesoEWN@pks.im> (Patrick Steinhardt's message of "Mon, 8 Sep 2025 11:40:10 +0200")
Patrick Steinhardt <ps@pks.im> writes:
> On Sun, Sep 07, 2025 at 03:07:11PM +0000, brian m. carlson wrote:
>> I will also note that the dumb HTTP protocol doesn't work with reftable
>> and there was some suggestion of removing it for Git 3.0. It certainly
>> will not work out of the box with Git 3.0, since the default is
>> reftable.
>
> Yes, indeed. In theory though reftables could also be the solution to
> the underlying issue: the client can be tought to read the "tables.list"
> file and then fetch all tables listed therein. The result would be fully
> consistent, unless any of the tables gets garbage collected. The client
> would notice and abort the operation, after which it could restart the
> operation.
>
> In that case there would be no need for git-update-server-info(1)
> anymore. The "tables.list" file sits in a well-known location,
> identifies all other tables we have to download, and there are no
> atomicity issues anymore.
Does tables.list list what pack files there are in the repository?
I somehow doubt it.
The dumb HTTP transport was meant to be able to operate with a truly
dumb HTTP server, that does not even have to support WebDAV at all,
so there needs some tables at known name that lists _all_ the files
the cloners are expected to be able to download from. We still need
the output from update-server-info [*] to tell what packs are there
even if tables.list is stored at the known path.
[Footnote]
* ... or its equivalent generated offline and uploaded manually to
the repository, which was what I did before I got an account at
kernel.org. There was a small web space at local ISP provided for
its subscribers, so my "push" was to ftp upload the loose objects,
packs, refs, and the info/refs + objects/info/packs files there X-<.
next prev parent reply other threads:[~2025-09-08 14:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-07 11:24 Git dumb HTTP protocol should work without update-server-info Milan Hauth
2025-09-07 15:07 ` brian m. carlson
2025-09-07 17:23 ` Milan Hauth
2025-09-07 17:42 ` brian m. carlson
2025-09-08 9:40 ` Patrick Steinhardt
2025-09-08 14:43 ` Junio C Hamano [this message]
2025-09-09 5:26 ` Patrick Steinhardt
2025-09-08 0:05 ` Jeff King
2025-09-08 4:14 ` Junio C Hamano
2025-09-08 21:27 ` brian m. carlson
2025-09-09 1:35 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqy0qpxawn.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=milahu@gmail.com \
--cc=ps@pks.im \
--cc=sandals@crustytoothpaste.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.