From: Patrick Steinhardt <ps@pks.im>
To: Karthik Nayak <karthik.188@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Elijah Newren <newren@gmail.com>,
Justin Tobler <jltobler@gmail.com>
Subject: Re: [PATCH v3 2/6] upload-pack: generate packfiles via the object database
Date: Thu, 20 Aug 2026 13:38:55 +0200 [thread overview]
Message-ID: <aobnT6mmINHBmV4g@pks.im> (raw)
In-Reply-To: <CAOLa=ZQcZ93R6wRyDiQtyATBNfj_6Eu0zXtEx7kbfzihvyP5qg@mail.gmail.com>
On Thu, Aug 20, 2026 at 06:24:09AM -0400, Karthik Nayak wrote:
> Patrick Steinhardt <ps@pks.im> writes:
>
> > When serving a fetch, git-upload-pack(1) spawns git-pack-objects(1)
> > directly to generate the packfile that gets sent to the client. This
> > hard-codes the assumption that the object database is able to serve
> > packfiles via git-pack-objects(1), which is specific to the "files"
> > backend.
> >
>
> Naive question, the previous patch says that only the primary odb source
> will be used to generate the packfile and we added the implementation
> for the files backend.
>
> Does this mean that this will only work if the files backend is the
> primary backend?
The primary backend is the one that will generate packs in the first
place. For now, the only primary backend that we ever have is the
"files" backend. But if we ever add a different backend then that would
of course implement its own implementation for generating packs.
So at the status quo: yes, but with the added infrastructure it's now
pluggable and can be implemented by other backends, too.
> > diff --git a/upload-pack.c b/upload-pack.c
> > index a52856d869..75a857eaa8 100644
> > --- a/upload-pack.c
> > +++ b/upload-pack.c
[snip]
> > + if (odb_generate_pack(the_repository->objects, &generator, &opts))
> > + die("git upload-pack: unable to fork git-pack-objects");
>
> Nit: should we still talk about 'forking' here? As far as upload-pack is
> considered, it handed over the task to the odb, 'forking' is an internal
> implementation detail.
Fair, we should probably just say "unable to pack objects" here.
Patrick
next prev parent reply other threads:[~2026-08-20 11:39 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 10:45 [PATCH 0/5] odb: make packfile generation pluggable Patrick Steinhardt
2026-08-07 10:45 ` [PATCH 1/5] odb: introduce interface to generate packfiles Patrick Steinhardt
2026-08-07 10:45 ` [PATCH 2/5] upload-pack: generate packfiles via the object database Patrick Steinhardt
2026-08-07 10:45 ` [PATCH 3/5] send-pack: " Patrick Steinhardt
2026-08-07 10:45 ` [PATCH 4/5] builtin/bundle: refactor option handling for progress meter Patrick Steinhardt
2026-08-07 10:45 ` [PATCH 5/5] bundle: generate packfiles via the object database Patrick Steinhardt
2026-08-13 18:00 ` Junio C Hamano
2026-08-14 7:40 ` Patrick Steinhardt
2026-08-07 21:05 ` [PATCH 0/5] odb: make packfile generation pluggable Junio C Hamano
2026-08-10 5:25 ` Patrick Steinhardt
2026-08-12 23:41 ` Taylor Blau
2026-08-13 5:47 ` Patrick Steinhardt
2026-08-13 17:35 ` Junio C Hamano
2026-08-17 5:39 ` [PATCH v2 0/6] " Patrick Steinhardt
2026-08-17 5:39 ` [PATCH v2 1/6] odb: introduce interface to generate packfiles Patrick Steinhardt
2026-08-19 16:56 ` Elijah Newren
2026-08-20 6:01 ` Patrick Steinhardt
2026-08-17 5:39 ` [PATCH v2 2/6] upload-pack: generate packfiles via the object database Patrick Steinhardt
2026-08-17 5:39 ` [PATCH v2 3/6] send-pack: " Patrick Steinhardt
2026-08-17 5:39 ` [PATCH v2 4/6] builtin/bundle: refactor option handling for progress meter Patrick Steinhardt
2026-08-17 5:39 ` [PATCH v2 5/6] bundle: get (mostly) rid of `the_repository` Patrick Steinhardt
2026-08-17 16:47 ` Junio C Hamano
2026-08-18 5:26 ` Patrick Steinhardt
2026-08-17 5:39 ` [PATCH v2 6/6] bundle: generate packfiles via the object database Patrick Steinhardt
2026-08-19 21:52 ` Justin Tobler
2026-08-20 6:01 ` Patrick Steinhardt
2026-08-20 7:55 ` [PATCH v3 0/6] odb: make packfile generation pluggable Patrick Steinhardt
2026-08-20 7:55 ` [PATCH v3 1/6] odb: introduce interface to generate packfiles Patrick Steinhardt
2026-08-20 10:16 ` Karthik Nayak
2026-08-20 11:38 ` Patrick Steinhardt
2026-08-20 17:04 ` Junio C Hamano
2026-08-20 7:55 ` [PATCH v3 2/6] upload-pack: generate packfiles via the object database Patrick Steinhardt
2026-08-20 10:24 ` Karthik Nayak
2026-08-20 11:38 ` Patrick Steinhardt [this message]
2026-08-20 7:55 ` [PATCH v3 3/6] send-pack: " Patrick Steinhardt
2026-08-20 7:55 ` [PATCH v3 4/6] builtin/bundle: refactor option handling for progress meter Patrick Steinhardt
2026-08-20 11:17 ` Karthik Nayak
2026-08-20 7:55 ` [PATCH v3 5/6] bundle: get (mostly) rid of `the_repository` Patrick Steinhardt
2026-08-20 7:55 ` [PATCH v3 6/6] bundle: generate packfiles via the object database Patrick Steinhardt
2026-08-20 11:19 ` Karthik Nayak
2026-08-20 11:38 ` Patrick Steinhardt
2026-08-20 11:20 ` [PATCH v3 0/6] odb: make packfile generation pluggable Karthik Nayak
2026-08-20 11:40 ` Patrick Steinhardt
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=aobnT6mmINHBmV4g@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jltobler@gmail.com \
--cc=karthik.188@gmail.com \
--cc=newren@gmail.com \
/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.