From: eslam reda via GitGitGadget Date: Fri, 27 Feb 2026 19:30:29 GMT Subject: [PATCH v5 00/11] repo info: add category/path keys and --path-format Message-ID: In-Reply-To: This series now focuses only on git repo info improvements. =========================================================== It introduces category-aware key requests, adds path-oriented keys (path.*), and adds --path-format=(absolute|relative) so scripts can request stable path rendering behavior. What this PR does ================= For git repo info, this series: * introduces explicit info-context plumbing in the codepath, * adds category-key expansion (for example, layout expands to layout.*), * adds path-oriented keys (path.*) for common repository locations, * adds --path-format=(absolute|relative) to control path output style. Tests and documentation are updated accordingly. What this PR does NOT do ======================== * No git repo structure feature changes. * No t1901 structure test changes. * No structure metrics/docs additions. Why this change =============== * Makes git repo info more script-friendly by reducing the need for multiple plumbing calls. * Improves output ergonomics through category requests and explicit path formatting. * Keeps this series narrowly scoped and non-overlapping with in-flight repo structure work. Commit structure ================ * repo: teach info context and category keys * repo: add path keys to repo info * repo: add --path-format for info path output * t1900: cover repo info path keys and path-format * docs: describe repo info path keys All commits are signed off with the same real-name identity. Changes since previous revision =============================== * Dropped all repo structure code, tests, and docs from this PR. * Kept only the repo info subset and matching t1900/documentation updates. * Preserved split, review-friendly commit structure. Validation ========== Focused: * make -C t test T=t1900-repo.sh (Linux container): passed. Full: * make test in Linux Docker environment: failed 0 (with expected prereq-based broken/skipped categories). Eslam reda ragheb (11): repo: teach info context and category keys repo: add path keys to repo info repo: add --path-format for info path output repo: add structure max object size metrics repo: add structure topology and path-depth metrics repo: add aggregate structure totals to keyvalue output t1900: cover repo info path keys and path-format t1901: extend structure metric coverage and portability docs: describe repo info path keys and structure metrics repo: reduce repetition in structure keyvalue output repo: refine path keys for repo info Documentation/git-repo.adoc | 61 +++- builtin/repo.c | 559 ++++++++++++++++++++++++++++++++---- t/t1900-repo.sh | 192 +++++++++++++ t/t1901-repo-structure.sh | 250 ++++++++++++---- 4 files changed, 942 insertions(+), 120 deletions(-) base-commit: 7c02d39fc2ed2702223c7674f73150d9a7e61ba4 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2208%2Feslam-reda-div%2Fgsoc-contribute-v5 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2208/eslam-reda-div/gsoc-contribute-v5 Pull-Request: https://github.com/git/git/pull/2208 Range-diff vs v4: 1: 99c8058298 = 1: 99c8058298 repo: teach info context and category keys 2: 6d5b9ff075 = 2: 6d5b9ff075 repo: add path keys to repo info 3: 5c438d045b = 3: 5c438d045b repo: add --path-format for info path output 4: 504d9cf7a0 = 4: 504d9cf7a0 repo: add structure max object size metrics 5: 4b502925c9 = 5: 4b502925c9 repo: add structure topology and path-depth metrics 6: 1751181950 = 6: 1751181950 repo: add aggregate structure totals to keyvalue output 7: fd18f28db0 = 7: fd18f28db0 t1900: cover repo info path keys and path-format 8: 0525ed4cd9 = 8: 0525ed4cd9 t1901: extend structure metric coverage and portability 9: f17c0f03e5 = 9: f17c0f03e5 docs: describe repo info path keys and structure metrics 10: 1bc100d6ca = 10: 1bc100d6ca repo: reduce repetition in structure keyvalue output -: ---------- > 11: 8af17ad831 repo: refine path keys for repo info -- gitgitgadget