Subject: [GSoC PATCH v6 0/6] preserve promisor files content after repack

From: LorenzoPegorari <[email-masked]>
Date: Sat, 18 Apr 2026 16:16:46 +0200

The goal of this patch is to solve the NEEDSWORK comment added by
5374a290 (fetch-pack: write fetched refs to .promisor, 14/10/2019). This
is done by adding a helper function that takes the content of all
.promisor files in the `repository`, and copies it inside the first
.promisor file created by the repack.

Also, I added a comment explaining what is the purpose of the content of
the .promisor files, since this wasn't explained anywhere (I found
information regarding this only in the message of the previously cited
commit).

Finally, I added some tests to "t7700-repack.sh" and
"t7703-repack-geometric.sh" that check if the content of .promisor files
are correctly copied into the .promisor files created by a repack.

V6 DIFF:
 * changed the name of the helper function to
   `write_promisor_file_after_repack`.
 * modified the helper function to create the ".promisor" file, so that
   is not required anymore.
 * modified the logic of the helper function (as suggested by Tian
   Yuchen)
 * modified the helper function to check for possible errors, and to
   check if the lines of the ".promisor" files are correctly formed.
 * fixed memory leak.
 * improved comments.

LorenzoPegorari (6):
  pack-write: add explanation to promisor file content
  repack-promisor add helper to fill promisor file after repack
  repack-promisor: preserve content of promisor files after repack
  t7700: test for promisor file content after repack
  t7703: test for promisor file content after geometric repack
  repack-promisor: add missing headers

 Documentation/git-repack.adoc |   4 +-
 pack-write.c                  |   9 ++
 repack-promisor.c             | 194 ++++++++++++++++++++++++++++++----
 t/t7700-repack.sh             |  61 +++++++++++
 t/t7703-repack-geometric.sh   |  33 ++++++
 5 files changed, 280 insertions(+), 21 deletions(-)

-- 
2.53.0.584.g6b87e8e9dd