From: Lorenzo Pegorari Date: Tue, 07 Apr 2026 23:11:42 GMT Subject: Re: [GSoC PATCH v3 4/5] t7700: test for promisor file content after repack Message-ID: In-Reply-To: On Tue, Apr 07, 2026 at 11:10:02AM -0700, Junio C Hamano wrote: > LorenzoPegorari 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 > > --- > > 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 " > > + 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 " & "$prom_before_repack2 " > > + 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??).