All of lore.kernel.org
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Patrick Steinhardt <ps@pks.im>,
	git@vger.kernel.org, Justin Tobler <jltobler@gmail.com>
Subject: Re: [PATCH 0/9] object-file: move writing of loose objects into "loose" source
Date: Sat, 18 Jul 2026 21:39:40 +0200	[thread overview]
Message-ID: <alvWfOJb6vAsusai@szeder.dev> (raw)
In-Reply-To: <20260717-pks-odb-move-loose-object-writing-v1-0-46446a3cb5b7@pks.im>

Hi Junio,


On Fri, Jul 17, 2026 at 11:32:08AM +0200, Patrick Steinhardt wrote:
> Hi,
> 
> this patch series refactors "object-file.c" so that we can move the
> logic that writes loose objects into "odb/source-loose.c". This ensures
> that the logic to read and write loose objects is mostly self-contained
> within that source's implementation now.
> 
> To achieve that, this series first refactors `force_object_loose()` so
> that it can work on top of the generic `odb_source_write_object()`
> instead of having to call into `write_loose_object()`. This is the bulk
> of the patch series.
> 
> This patch series is built on top of 44de1520f0 (Merge branch 'master'
> of https://github.com/j6t/git-gui, 2026-07-16) with the following two
> topics merged into it:
> 
>   - jt/receive-pack-use-odb-transaction at bdee7b3013
>     (builtin/receive-pack: stage incoming objects via ODB transactions,
>     2026-07-10).
> 
>   - jk/git-hash-cleanups at 9e396aa553 (hash: check ctx->active flag in
>     all wrapper functions, 2026-07-07).
> 
> Note that jt/receive-pack-use-odb-transaction requires an evil merge:
> 
> diff --git a/odb/source-packed.c b/odb/source-packed.c
> index 06b31dd743..cbb06da038 100644
> --- a/odb/source-packed.c
> +++ b/odb/source-packed.c
> @@ -545,7 +545,8 @@ static int odb_source_packed_write_object_stream(struct odb_source *source UNUSE
>  }
> 
>  static int odb_source_packed_begin_transaction(struct odb_source *source UNUSED,
> -                                              struct odb_transaction **out UNUSED)
> +                                              struct odb_transaction **out UNUSED,
> +                                              enum odb_transaction_flags flags UNUSED)
>  {
>         return error("packed backend cannot begin transactions");
>  }

It seems that you performed this evil merge when merging the topic
jt/receive-pack-use-odb-transaction into jch as 9727bd8447 (Merge
branch 'jt/receive-pack-use-odb-transactions' into jch, 2026-07-17),
but forgot to do so when creating the base for this patch series as
1d64e64326 (Merge branch 'jt/receive-pack-use-odb-transactions' into
ps/odb-move-loose-object-writing, 2026-07-17).  Consequently, neither
1d64e64326 nor any of the the commits of this patch series can be
built because of the mismatching function signature:

  GIT_VERSION=2.55.0.256.g1d64e64326
  odb/source-packed.c: In function ‘odb_source_packed_new’:
  odb/source-packed.c:778:40: error: assignment to ‘int (*)(struct odb_source *, struct odb_transaction **, enum odb_transaction_flags)’ from incompatible pointer type ‘int (*)(struct odb_source *, struct odb_transaction **)’ [-Werror=incompatible-pointer-types]
    778 |         packed->base.begin_transaction = odb_source_packed_begin_transaction;
        |                                        ^
  cc1: all warnings being treated as errors
  make: *** [Makefile:2924: odb/source-packed.o] Error 1



  parent reply	other threads:[~2026-07-18 19:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-17  9:32 [PATCH 0/9] object-file: move writing of loose objects into "loose" source Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 1/9] odb: compute compat object ID in `odb_write_object_ext()` Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 2/9] t/u-odb-inmemory: implement wrapper for writing objects Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 3/9] odb: compute object hash in `odb_write_object_ext()` Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 4/9] odb: lift object existence check out of the "loose" backend Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 5/9] odb: support setting mtime when writing objects Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 6/9] object-file: fix memory leak in `force_object_loose()` Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 7/9] object-file: force objects loose via generic interface Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 8/9] object-file: move `force_object_loose()` Patrick Steinhardt
2026-07-17  9:32 ` [PATCH 9/9] object-file: move logic to write loose objects Patrick Steinhardt
2026-07-18 19:39 ` SZEDER Gábor [this message]
2026-07-19  1:04   ` [PATCH 0/9] object-file: move writing of loose objects into "loose" source Junio C Hamano
2026-07-19  5:48     ` Junio C Hamano

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=alvWfOJb6vAsusai@szeder.dev \
    --to=szeder.dev@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jltobler@gmail.com \
    --cc=ps@pks.im \
    /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.