From: Lorenzo Pegorari <lorenzo.pegorari2002@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Derrick Stolee <stolee@gmail.com>,
Patrick Steinhardt <ps@pks.im>, Taylor Blau <me@ttaylorr.com>,
Elijah Newren <newren@gmail.com>,
Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [GSoC PATCH v3 4/5] t7700: test for promisor file content after repack
Date: Wed, 8 Apr 2026 02:38:56 +0200 [thread overview]
Message-ID: <adWjoIENaTDDHerq@lorenzo-VM> (raw)
In-Reply-To: <adWPLhGeo-4Mqfbh@lorenzo-VM>
On Wed, Apr 08, 2026 at 01:11:42AM +0200, Lorenzo Pegorari wrote:
> On Tue, Apr 07, 2026 at 11:10:02AM -0700, Junio C Hamano wrote:
> > LorenzoPegorari <lorenzo.pegorari2002@gmail.com> writes:
> >
> > > Add tests that checks if the content of ".promisor" files are correctly
> > > copied inside the ".promisor" files created by a repack.
> > >
> > > Signed-off-by: LorenzoPegorari <lorenzo.pegorari2002@gmail.com>
> > > ---
> > > t/t7700-repack.sh | 63 +++++++++++++++++++++++++++++++++++++++++++++++
> > > 1 file changed, 63 insertions(+)
> > >
> > > diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh
> > > index 63ef63fc50..89a2116641 100755
> > > --- a/t/t7700-repack.sh
> > > +++ b/t/t7700-repack.sh
> > > @@ -904,4 +904,67 @@ test_expect_success 'pending objects are repacked appropriately' '
> > > )
> > > '
> > >
> > > +test_expect_success 'check one .promisor file content after repack' '
> > > + test_when_finished rm -rf prom_test &&
> > > + git init prom_test &&
> > > + path=prom_test/.git/objects/pack &&
> > > +
> > > + (
> > > + test_commit_bulk -C prom_test --start=1 1 &&
> > > +
> > > + # Simulate .promisor file by creating it manually
> > > + prom=$(ls $path/*.pack | sed "s/\.pack/.promisor/") &&
> > > + oid=$(git -C prom_test rev-parse HEAD) &&
> > > + echo "$oid ref" >$prom &&
> > > +
> > > + # Save the current .promisor content, repack, and check if correct
> > > + prom_before_repack=$(cat $prom) &&
> > > + git -C prom_test repack -a -d &&
> > > + prom=$(ls $path/*.pack | sed "s/\.pack/.promisor/") &&
> > > + # $prom should contain "$prom_before_repack <date>"
> > > + test_grep "$prom_before_repack " $prom &&
> > > +
> > > + # Save the current .promisor content, repack, and check if correct
> > > + cat $prom >prom_before_repack &&
> > > + git -C prom_test repack -a -d &&
> > > + prom=$(ls $path/*.pack | sed "s/\.pack/.promisor/") &&
> > > + # $prom should be exactly the same as prom_before_repack
> > > + test_cmp prom_before_repack $prom
> > > + )
> > > +'
> > > +
> > > +test_expect_success 'check multiple .promisor file content after repack' '
> > > +...
> > > +
> > > + # Repack, and check if correct compared to previous saved .promisor content
> > > + git -C prom_test repack -a -d &&
> > > + prom=$(ls $path/*.pack | sed "s/\.pack/.promisor/") &&
> > > + # $prom should contain "$prom_before_repack1 <date>" & "$prom_before_repack2 <date>"
> > > + test_grep "$prom_before_repack1 " $prom &&
> > > + test_grep "$prom_before_repack2 " $prom &&
> >
> > This test seems to be flakey.
> >
> > https://github.com/git/git/actions/runs/24095497271/job/70292906676#step:10:5274
> >
> > shows that $prom gets two file names, and because test_grep is
> > expecting a single source to grep inside, the first test_grep
> > fails.
>
> Uff yeah, I see.
>
> I also saw your other mail regarding the "SQUASH???" commit you made
> (inside the `seen` branch). I'm not so sure if it is useful to solve
> this issue tho.
>
> It looks like, for some reason, `repack -a` fails to repack everything
> into a single pack, but I believe that `repack -a -f` should force it to
> repack everything no matter what (I think??).
Ok, I think that I have fixed it. Forked the repo and tested multiple
times with the GitHub Actions-based CI. Issue doesn't appear anymore.
Thank you super much for the help Junio.
May I ask you for a tiny bit more of your time to answer the following
question that I originally asked in the cover letter:
>The "CodingGuidelines" explicitly state that:
> "A C file must directly include the header files that declare the
> functions and the types it uses, except for the functions and types
> that are made available to it by including one of the header files
> it must include by the previous rule"
> where "the previous rule" is (if I understand correctly), the one related
> to "<git-compat-util.h>". From what I understand then, I should have
> added an include for "strmap.h" (which is needed for `strset`), correct?
> And if I am correct, shouldn't "strbuf.h", "hash.h", "odb.h",
> "string-list.h" and "strvec.h" also be included?
Thank you so much in advance. Pretty sure the next patch version will be
the last one.
Lorenzo
next prev parent reply other threads:[~2026-04-08 0:39 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-21 21:28 [GSoC PATCH 0/3] preserve promisor files content after repack LorenzoPegorari
2026-03-21 21:28 ` [GSoC PATCH 1/3] pack-write: add explanation to promisor file content LorenzoPegorari
2026-03-21 21:28 ` [GSoC PATCH 2/3] pack-write: add helper to fill promisor file after repack LorenzoPegorari
2026-03-22 2:04 ` Eric Sunshine
2026-03-22 18:50 ` Lorenzo Pegorari
2026-03-21 21:29 ` [GSoC PATCH 3/3] repack-promisor: preserve content of promisor files " LorenzoPegorari
2026-03-22 19:16 ` [GSoC PATCH v2 0/4] preserve promisor files content " LorenzoPegorari
2026-03-22 19:16 ` [GSoC PATCH v2 1/4] pack-write: add explanation to promisor file content LorenzoPegorari
2026-03-23 21:07 ` Junio C Hamano
2026-03-25 21:33 ` Lorenzo Pegorari
2026-03-22 19:18 ` [GSoC PATCH v2 2/4] pack-write: add helper to fill promisor file after repack LorenzoPegorari
2026-03-23 20:27 ` Eric Sunshine
2026-03-26 16:15 ` Lorenzo Pegorari
2026-03-23 21:30 ` Junio C Hamano
2026-03-26 2:01 ` Lorenzo Pegorari
2026-03-22 19:18 ` [GSoC PATCH v2 3/4] repack-promisor: preserve content of promisor files " LorenzoPegorari
2026-03-23 21:48 ` Junio C Hamano
2026-03-26 2:12 ` Lorenzo Pegorari
2026-03-22 19:18 ` [GSoC PATCH v2 4/4] t7700: test for promisor file content " LorenzoPegorari
2026-04-06 0:23 ` [GSoC PATCH v3 0/5] preserve promisor files " LorenzoPegorari
2026-04-06 0:24 ` [GSoC PATCH v3 1/5] pack-write: add explanation to promisor file content LorenzoPegorari
2026-04-06 0:24 ` [GSoC PATCH v3 2/5] pack-write: add helper to fill promisor file after repack LorenzoPegorari
2026-04-06 17:22 ` Tian Yuchen
2026-04-06 18:40 ` Lorenzo Pegorari
2026-04-06 21:17 ` Junio C Hamano
2026-04-07 21:46 ` Lorenzo Pegorari
2026-04-07 2:01 ` Junio C Hamano
2026-04-07 21:52 ` Lorenzo Pegorari
2026-04-07 22:03 ` Junio C Hamano
2026-04-06 21:34 ` Junio C Hamano
2026-04-07 22:07 ` Lorenzo Pegorari
2026-04-06 0:25 ` [GSoC PATCH v3 3/5] repack-promisor: preserve content of promisor files " LorenzoPegorari
2026-04-06 0:25 ` [GSoC PATCH v3 4/5] t7700: test for promisor file content " LorenzoPegorari
2026-04-06 22:05 ` Junio C Hamano
2026-04-07 23:28 ` Lorenzo Pegorari
2026-04-07 18:10 ` Junio C Hamano
2026-04-07 23:11 ` Lorenzo Pegorari
2026-04-08 0:38 ` Lorenzo Pegorari [this message]
2026-04-06 0:25 ` [GSoC PATCH v3 5/5] t7703: test for promisor file content after geometric repack LorenzoPegorari
2026-04-10 15:01 ` [GSoC PATCH v4 0/5] preserve promisor files content after repack LorenzoPegorari
2026-04-10 15:02 ` [GSoC PATCH v4 1/5] pack-write: add explanation to promisor file content LorenzoPegorari
2026-04-10 15:02 ` [GSoC PATCH v4 2/5] pack-write: add helper to fill promisor file after repack LorenzoPegorari
2026-04-10 16:01 ` Junio C Hamano
2026-04-10 16:34 ` Lorenzo Pegorari
2026-04-10 18:10 ` [PATCH] CodingGuidelines: st_mtimespec vs st_mtim vs st_mtime Junio C Hamano
2026-04-16 23:46 ` Elijah Newren
2026-04-17 4:25 ` Junio C Hamano
2026-04-10 15:03 ` [GSoC PATCH v4 3/5] repack-promisor: preserve content of promisor files after repack LorenzoPegorari
2026-04-10 15:04 ` [GSoC PATCH v4 4/5] t7700: test for promisor file content " LorenzoPegorari
2026-04-10 15:04 ` [GSoC PATCH v4 5/5] t7703: test for promisor file content after geometric repack LorenzoPegorari
2026-04-10 15:47 ` [GSoC PATCH v4 0/5] preserve promisor files content after repack Junio C Hamano
2026-04-10 16:44 ` Lorenzo Pegorari
2026-04-10 22:54 ` [GSoC PATCH v5 0/6] " LorenzoPegorari
2026-04-10 22:54 ` [GSoC PATCH v5 1/6] pack-write: add explanation to promisor file content LorenzoPegorari
2026-04-10 22:55 ` [GSoC PATCH v5 2/6] repack-promisor add helper to fill promisor file after repack LorenzoPegorari
2026-04-10 23:30 ` Junio C Hamano
2026-04-11 1:59 ` Lorenzo Pegorari
2026-04-12 6:27 ` Junio C Hamano
2026-04-17 0:30 ` Lorenzo Pegorari
2026-04-10 22:55 ` [GSoC PATCH v5 3/6] repack-promisor: preserve content of promisor files " LorenzoPegorari
2026-04-11 18:25 ` Tian Yuchen
2026-04-17 0:34 ` Lorenzo Pegorari
2026-04-10 22:55 ` [GSoC PATCH v5 4/6] t7700: test for promisor file content " LorenzoPegorari
2026-04-10 22:56 ` [GSoC PATCH v5 5/6] t7703: test for promisor file content after geometric repack LorenzoPegorari
2026-04-11 18:49 ` Tian Yuchen
2026-04-17 0:46 ` Lorenzo Pegorari
2026-04-10 22:56 ` [GSoC PATCH v5 6/6] repack-promisor: add missing headers LorenzoPegorari
2026-04-18 14:16 ` [GSoC PATCH v6 0/6] preserve promisor files content after repack LorenzoPegorari
2026-04-18 14:16 ` [GSoC PATCH v6 1/6] pack-write: add explanation to promisor file content LorenzoPegorari
2026-04-18 14:17 ` [GSoC PATCH v6 2/6] repack-promisor add helper to fill promisor file after repack LorenzoPegorari
2026-04-18 14:17 ` [GSoC PATCH v6 3/6] repack-promisor: preserve content of promisor files " LorenzoPegorari
2026-04-18 14:17 ` [GSoC PATCH v6 4/6] t7700: test for promisor file content " LorenzoPegorari
2026-04-18 14:17 ` [GSoC PATCH v6 5/6] t7703: test for promisor file content after geometric repack LorenzoPegorari
2026-04-18 14:17 ` [GSoC PATCH v6 6/6] repack-promisor: add missing headers LorenzoPegorari
2026-05-12 6:49 ` [GSoC PATCH v6 0/6] preserve promisor files content after repack Junio C Hamano
2026-04-10 23:05 ` [GSoC PATCH v4 0/5] " Junio C Hamano
2026-04-11 2:02 ` Junio C Hamano
2026-04-11 14:05 ` Lorenzo Pegorari
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=adWjoIENaTDDHerq@lorenzo-VM \
--to=lorenzo.pegorari2002@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=me@ttaylorr.com \
--cc=newren@gmail.com \
--cc=ps@pks.im \
--cc=stolee@gmail.com \
--cc=sunshine@sunshineco.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.