git/list[1] front-page[2] threads[3] people[4] search[5] about
wed 2026-10-07 18:03 UTC

Re: [GSoC PATCH v3 4/5] t7700: test for promisor file content after repack

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 7, 2026, 18:10 UTC
Message-ID
<xmqqwlyi4p6t.fsf@gitster.g>
In-Reply-To
<8e58c1263d15fb8dba8ce1d2866d369e938bf2b6.1775431990.git.lorenzo.pegorari2002@gmail.com>
LorenzoPegorari <lorenzo.pegorari2002@gmail.com> writes:
Show 54 quoted lines
> 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.

Previous: Junio C HamanoNext: Lorenzo Pegorari
Message 32 of 79 in “preserve promisor files content after repack”
  1. 0/3 preserve promisor files content after repackLorenzoPegorari, Mar 21, 2026
  2. 1/3 pack-write: add explanation to promisor file contentLorenzoPegorari, Mar 21, 2026
  3. 2/3 pack-write: add helper to fill promisor file after repackLorenzoPegorari, Mar 21, 2026
  4. 3/3 repack-promisor: preserve content of promisor files after repackLorenzoPegorari, Mar 21, 2026
  5. Eric SunshineMar 22, 2026
  6. Lorenzo PegorariMar 22, 2026
  7. 0/4 preserve promisor files content after repackLorenzoPegorari, Mar 22, 2026
  8. 1/4 pack-write: add explanation to promisor file contentLorenzoPegorari, Mar 22, 2026
  9. 2/4 pack-write: add helper to fill promisor file after repackLorenzoPegorari, Mar 22, 2026
  10. 3/4 repack-promisor: preserve content of promisor files after repackLorenzoPegorari, Mar 22, 2026
  11. 4/4 t7700: test for promisor file content after repackLorenzoPegorari, Mar 22, 2026
  12. Eric SunshineMar 23, 2026
  13. Junio C HamanoMar 23, 2026
  14. Junio C HamanoMar 23, 2026
  15. Junio C HamanoMar 23, 2026
  16. Lorenzo PegorariMar 25, 2026
  17. Lorenzo PegorariMar 26, 2026
  18. Lorenzo PegorariMar 26, 2026
  19. Lorenzo PegorariMar 26, 2026
  20. 0/5 preserve promisor files content after repackLorenzoPegorari, Apr 6, 2026
  21. 1/5 pack-write: add explanation to promisor file contentLorenzoPegorari, Apr 6, 2026
  22. 2/5 pack-write: add helper to fill promisor file after repackLorenzoPegorari, Apr 6, 2026
  23. 3/5 repack-promisor: preserve content of promisor files after repackLorenzoPegorari, Apr 6, 2026
  24. 4/5 t7700: test for promisor file content after repackLorenzoPegorari, Apr 6, 2026
  25. 5/5 t7703: test for promisor file content after geometric repackLorenzoPegorari, Apr 6, 2026
  26. Tian YuchenApr 6, 2026
  27. Lorenzo PegorariApr 6, 2026
  28. Junio C HamanoApr 6, 2026
  29. Junio C HamanoApr 6, 2026
  30. Junio C HamanoApr 6, 2026
  31. Junio C HamanoApr 7, 2026
  32. Junio C HamanoApr 7, 2026
  33. Lorenzo PegorariApr 7, 2026
  34. Lorenzo PegorariApr 7, 2026
  35. Junio C HamanoApr 7, 2026
  36. Lorenzo PegorariApr 7, 2026
  37. Lorenzo PegorariApr 7, 2026
  38. Lorenzo PegorariApr 7, 2026
  39. Lorenzo PegorariApr 8, 2026
  40. 0/5 preserve promisor files content after repackLorenzoPegorari, Apr 10, 2026
  41. 1/5 pack-write: add explanation to promisor file contentLorenzoPegorari, Apr 10, 2026
  42. 2/5 pack-write: add helper to fill promisor file after repackLorenzoPegorari, Apr 10, 2026
  43. 3/5 repack-promisor: preserve content of promisor files after repackLorenzoPegorari, Apr 10, 2026
  44. 4/5 t7700: test for promisor file content after repackLorenzoPegorari, Apr 10, 2026
  45. 5/5 t7703: test for promisor file content after geometric repackLorenzoPegorari, Apr 10, 2026
  46. Junio C HamanoApr 10, 2026
  47. Junio C HamanoApr 10, 2026
  48. Lorenzo PegorariApr 10, 2026
  49. Lorenzo PegorariApr 10, 2026
  50. CodingGuidelines: st_mtimespec vs st_mtim vs st_mtimeJunio C Hamano, Apr 10, 2026
  51. 0/6 preserve promisor files content after repackLorenzoPegorari, Apr 10, 2026
  52. 1/6 pack-write: add explanation to promisor file contentLorenzoPegorari, Apr 10, 2026
  53. 2/6 repack-promisor add helper to fill promisor file after repackLorenzoPegorari, Apr 10, 2026
  54. 3/6 repack-promisor: preserve content of promisor files after repackLorenzoPegorari, Apr 10, 2026
  55. 4/6 t7700: test for promisor file content after repackLorenzoPegorari, Apr 10, 2026
  56. 5/6 t7703: test for promisor file content after geometric repackLorenzoPegorari, Apr 10, 2026
  57. 6/6 repack-promisor: add missing headersLorenzoPegorari, Apr 10, 2026
  58. Junio C HamanoApr 10, 2026
  59. Junio C HamanoApr 10, 2026
  60. Lorenzo PegorariApr 11, 2026
  61. Junio C HamanoApr 11, 2026
  62. Lorenzo PegorariApr 11, 2026
  63. Tian YuchenApr 11, 2026
  64. Tian YuchenApr 11, 2026
  65. Junio C HamanoApr 12, 2026
  66. Elijah NewrenApr 16, 2026
  67. Lorenzo PegorariApr 17, 2026
  68. Lorenzo PegorariApr 17, 2026
  69. Lorenzo PegorariApr 17, 2026
  70. Junio C HamanoApr 17, 2026
  71. 0/6 preserve promisor files content after repackLorenzoPegorari, Apr 18, 2026
  72. 1/6 pack-write: add explanation to promisor file contentLorenzoPegorari, Apr 18, 2026
  73. 2/6 repack-promisor add helper to fill promisor file after repackLorenzoPegorari, Apr 18, 2026
  74. 3/6 repack-promisor: preserve content of promisor files after repackLorenzoPegorari, Apr 18, 2026
  75. 4/6 t7700: test for promisor file content after repackLorenzoPegorari, Apr 18, 2026
  76. 5/6 t7703: test for promisor file content after geometric repackLorenzoPegorari, Apr 18, 2026
  77. 6/6 repack-promisor: add missing headersLorenzoPegorari, Apr 18, 2026
  78. Junio C HamanoMay 12, 2026
  79. Lorenzo PegorariMay 19, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.