Subject: [GSoC][PATCH v2 0/5] Add refs optimize subcommand

From: Meet Soni <[email-masked]>
Date: Sat, 6 Sep 2025 13:21:42 +0530

This series introduces `git refs optimize` as a modern replacement for
`git pack-refs`, continuing the effort to consolidate commands
under the `git refs` namespace.

changes in v2:
- Updated documentation.
- moved `pack_refs_core()` from `builtin/pack-refs.c` to `pack-refs.c`.

Meet Soni (5):
  builtin/pack-refs: factor out core logic into a shared library
  doc: factor out common option
  builtin/refs: add optimize subcommand
  t0601: refactor tests to be shareable
  t: add test for git refs optimize subcommand

 Documentation/git-pack-refs.adoc     |  54 +---
 Documentation/git-refs.adoc          |  10 +
 Documentation/pack-refs-options.adoc |  52 ++++
 Makefile                             |   1 +
 builtin/pack-refs.c                  |  55 +---
 builtin/refs.c                       |  16 +
 meson.build                          |   1 +
 pack-refs.c                          |  56 ++++
 pack-refs.h                          |  23 ++
 t/meson.build                        |   3 +-
 t/pack-refs-tests.sh                 | 431 +++++++++++++++++++++++++++
 t/t0601-reffiles-pack-refs.sh        | 430 +-------------------------
 t/t1463-refs-optimize.sh             |  17 ++
 13 files changed, 616 insertions(+), 533 deletions(-)
 create mode 100644 Documentation/pack-refs-options.adoc
 create mode 100644 pack-refs.c
 create mode 100644 pack-refs.h
 create mode 100644 t/pack-refs-tests.sh
 create mode 100755 t/t1463-refs-optimize.sh

Range-diff against v1:
1:  0268933403 < -:  ---------- builtin/pack-refs: factor out core logic into a helper
-:  ---------- > 1:  67a9187b59 builtin/pack-refs: factor out core logic into a shared library
2:  ec14212c7b = 2:  422eaa0c8b doc: factor out common option
3:  d3a4d7cb67 ! 3:  067a2baa97 builtin/refs: add optimize subcommand
    @@ Documentation/git-refs.adoc: list::
      	linkgit:git-for-each-ref[1] and offers identical functionality.
      
     +optimize::
    -+        Pack references into a single file to improve repository performance
    -+        and reduce storage usage. This subcommand is an alias for
    -+        linkgit:git-pack-refs[1] and offers identical functionality.
    ++	Optimizes references to improve repository performance and reduce disk
    ++	usage. This subcommand is an alias for linkgit:git-pack-refs[1] and
    ++	offers identical functionality.
     +
      OPTIONS
      -------
4:  16fa3f5445 = 4:  640ebd9a4f t0601: refactor tests to be shareable
5:  22620613d9 = 5:  37ca586bb9 t: add test for git refs optimize subcommand

base-commit: 1fa68948c3d76328236cac73d2adf33c905bd8e3
-- 
2.34.1