Hi, this small patch series contains some improvements for ref storage formats and their interaction with submodules. Notably: - Use the correct format for submodules in situations where the parent repository uses a different ref storage format than the submodule. - Wire up `--ref-format=` for git-submodule(1), such that users can explicitly use a different ref format for their submodules. - Propagate the `--ref-format=` flag of git-clone(1) into submodules when using `--recursive`. The first three patches implement improvements for the above three issues and introduce tests. The test did hit some memory leaks, which get fixed by patches 3 to 6 such that the new test can be marked as leak free. Thanks! Patrick Patrick Steinhardt (6): builtin/submodule: allow cloning with different ref storage format builtin/clone: propagate ref storage format to submodules refs: fix ref storage format for submodule ref stores submodule: fix leaking fetch tasks submodule: fix leaking seen submodule names object: fix leaking packfiles when closing object store Documentation/git-submodule.txt | 5 +- builtin/clone.c | 10 ++- builtin/submodule--helper.c | 30 +++++++ git-submodule.sh | 9 ++ object.c | 9 ++ refs.c | 2 +- submodule.c | 18 ++-- t/t5572-pull-submodule.sh | 1 + t/t7418-submodule-sparse-gitmodules.sh | 1 + t/t7424-submodule-mixed-ref-formats.sh | 120 +++++++++++++++++++++++++ 10 files changed, 191 insertions(+), 14 deletions(-) create mode 100755 t/t7424-submodule-mixed-ref-formats.sh -- 2.46.0.dirty
Attachment:
signature.asc
Description: PGP signature