From: K Jayatheerth <jayatheerthkulkarni2005@gmail.com>
To: jayatheerthkulkarni2005@gmail.com
Cc: git@vger.kernel.org, gitster@pobox.com, jltobler@gmail.com,
lucasseikioshiro@gmail.com
Subject: [GSoC Patch v3 0/7] repo: add more path keys to git repo info
Date: Sun, 26 Jul 2026 16:13:36 +0530 [thread overview]
Message-ID: <20260726104343.16933-1-jayatheerthkulkarni2005@gmail.com> (raw)
In-Reply-To: <20260716012138.6714-1-jayatheerthkulkarni2005@gmail.com>
Series adds keys to git repo info.
Keys output paths of repository components:
* path.toplevel: repository tree.
* path.superproject-working-tree: superproject tree from submodules.
* path.objects: repository objects.
* path.hooks: repository hooks.
* path.index: repository index.
* path.grafts: repository grafts.
* path.git-prefix: prefix offset.
Keys support suffixes for format.
Commits contain documentation and tests.
Changes since v2:
* path.index: no functional change; documented that the returned path
reflects the default/configured index location even in a bare
repository or when the file doesn't exist yet, and added a test
covering path.index inside a bare repository.
* path.grafts: no functional change; documented that the path is
returned even if the grafts file doesn't currently exist on disk.
* path.git-prefix: no change since v2 (already addressed the stray
include and misleading "validation" in the subject).
K Jayatheerth (7):
repo: add path.toplevel with absolute and relative suffix formatting
repo: add path.superproject-working-tree with absolute and relative
suffixes
repo: add path.objects with absolute and relative suffix formatting
repo: add path.hooks with absolute and relative suffix formatting
repo: add path.index with absolute and relative suffix formatting
repo: add path.grafts with absolute and relative suffix formatting
repo: add path.git-prefix path key
Documentation/git-repo.adoc | 64 ++++++++++++++
builtin/repo.c | 166 ++++++++++++++++++++++++++++++++++++
t/t1900-repo-info.sh | 125 +++++++++++++++++++++++++++
3 files changed, 355 insertions(+)
Range-diff against v2:
1: 297d625ea1 = 1: 297d625ea1 repo: add path.toplevel with absolute and relative suffix formatting
2: 8a84aaa2a1 = 2: 8a84aaa2a1 repo: add path.superproject-working-tree with absolute and relative suffixes
3: 159166ce85 = 3: 159166ce85 repo: add path.objects with absolute and relative suffix formatting
4: ff5e382043 = 4: ff5e382043 repo: add path.hooks with absolute and relative suffix formatting
5: d906735e3d ! 5: 917d3a5076 repo: add path.index with absolute and relative suffix formatting
@@ Documentation/git-repo.adoc: values that they return:
+`path.index.absolute`::
+ The canonical absolute path to the repository's current index file.
-+ Respects the `GIT_INDEX_FILE` environment override.
++ Respects the `GIT_INDEX_FILE` environment override. The returned path
++ reflects the configured/default index location regardless of whether the
++ repository is bare or whether the file currently exists.
+
+`path.index.relative`::
+ The path to the repository's current index file relative to the current
+ working directory. Respects the `GIT_INDEX_FILE` environment override.
++ The returned path reflects the configured/default index location regardless
++ of whether the repository is bare or whether the file currently exists.
+
`path.objects.absolute`::
The canonical absolute path to the repository's object database directory.
@@ t/t1900-repo-info.sh: test_repo_info_path 'hooks with core.hooksPath override' '
+test_repo_info_path 'index with GIT_INDEX_FILE override' 'index' \
+ 'custom-index-file' \
+ 'GIT_INDEX_FILE="$ROOT/custom-index-file" && export GIT_INDEX_FILE'
++
++test_expect_success 'path.index in a bare repository returns default index location' '
++ test_when_finished "rm -rf bare.git" &&
++ git init --bare bare.git &&
++ (
++ cd bare.git &&
++ ROOT="$(test-tool path-utils real_path .)" &&
++
++ echo "path.index.absolute=$ROOT/index" >expect.abs &&
++ git repo info path.index.absolute >actual.abs &&
++ test_cmp expect.abs actual.abs &&
++
++ echo "path.index.relative=index" >expect.rel &&
++ git repo info path.index.relative >actual.rel &&
++ test_cmp expect.rel actual.rel
++ )
++'
+
test_repo_info_path 'objects standard' 'objects' '.git/objects'
6: 2d21f9536c ! 6: d47a5701d5 repo: add path.grafts with absolute and relative suffix formatting
@@ Documentation/git-repo.adoc: values that they return:
+`path.grafts.absolute`::
+ The canonical absolute path to the repository grafts file.
-+ Respects the `GIT_GRAFT_FILE` environment override.
++ Respects the `GIT_GRAFT_FILE` environment override. The path is returned
++ regardless of whether the file currently exists on disk.
+
+`path.grafts.relative`::
+ The path to the repository grafts file relative to the current working
-+ directory. Respects the `GIT_GRAFT_FILE` environment override.
++ directory. Respects the `GIT_GRAFT_FILE` environment override. The path
++ is returned regardless of whether the file currently exists on disk.
+
`path.hooks.absolute`::
The canonical absolute path to the repository's hooks directory.
7: 1dbe191176 = 7: fd90b0b3b5 repo: add path.git-prefix path key
--
2.55.GIT
next prev parent reply other threads:[~2026-07-26 10:44 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-16 1:21 [GSoC Patch 0/7] repo: add more path keys to git repo info K Jayatheerth
2026-07-16 1:21 ` [GSoC Patch 1/7] repo: add path.toplevel with absolute and relative suffix formatting K Jayatheerth
2026-07-16 1:21 ` [GSoC Patch 2/7] repo: add path.superproject-working-tree with absolute and relative suffixes K Jayatheerth
2026-07-16 1:21 ` [GSoC Patch 3/7] repo: add path.objects with absolute and relative suffix formatting K Jayatheerth
2026-07-16 1:21 ` [GSoC Patch 4/7] repo: add path.hooks " K Jayatheerth
2026-07-16 1:21 ` [GSoC Patch 5/7] repo: add path.index " K Jayatheerth
2026-07-16 1:21 ` [GSoC Patch 6/7] repo: add path.grafts " K Jayatheerth
2026-07-16 1:21 ` [GSoC Patch 7/7] repo: add path.git-prefix path key validation K Jayatheerth
2026-07-16 3:23 ` Junio C Hamano
2026-07-16 15:36 ` K Jayatheerth
2026-07-17 13:30 ` [GSoC Patch v2 0/7] repo: add more path keys to git repo info K Jayatheerth
2026-07-17 13:30 ` [GSoC Patch v2 1/7] repo: add path.toplevel with absolute and relative suffix formatting K Jayatheerth
2026-07-17 13:30 ` [GSoC Patch v2 2/7] repo: add path.superproject-working-tree with absolute and relative suffixes K Jayatheerth
2026-07-17 13:30 ` [GSoC Patch v2 3/7] repo: add path.objects with absolute and relative suffix formatting K Jayatheerth
2026-07-17 13:30 ` [GSoC Patch v2 4/7] repo: add path.hooks " K Jayatheerth
2026-07-17 13:30 ` [GSoC Patch v2 5/7] repo: add path.index " K Jayatheerth
2026-07-20 0:35 ` Lucas Seiki Oshiro
2026-07-24 17:49 ` K Jayatheerth
2026-07-24 19:21 ` Junio C Hamano
2026-07-17 13:30 ` [GSoC Patch v2 6/7] repo: add path.grafts " K Jayatheerth
2026-07-20 0:20 ` Lucas Seiki Oshiro
2026-07-20 4:01 ` Junio C Hamano
2026-07-21 2:19 ` K Jayatheerth
2026-07-17 13:30 ` [GSoC Patch v2 7/7] repo: add path.git-prefix path key K Jayatheerth
2026-07-26 10:43 ` K Jayatheerth [this message]
2026-07-26 10:43 ` [PATCH v3 1/7] repo: add path.toplevel with absolute and relative suffix formatting K Jayatheerth
2026-07-27 8:45 ` Junio C Hamano
2026-07-26 10:43 ` [PATCH v3 2/7] repo: add path.superproject-working-tree with absolute and relative suffixes K Jayatheerth
2026-07-26 10:43 ` [PATCH v3 3/7] repo: add path.objects with absolute and relative suffix formatting K Jayatheerth
2026-07-26 10:43 ` [PATCH v3 4/7] repo: add path.hooks " K Jayatheerth
2026-07-26 10:43 ` [PATCH v3 5/7] repo: add path.index " K Jayatheerth
2026-07-26 10:43 ` [PATCH v3 6/7] repo: add path.grafts " K Jayatheerth
2026-07-26 10:43 ` [PATCH v3 7/7] repo: add path.git-prefix path key K Jayatheerth
2026-07-26 16:29 ` [GSoC Patch v3 0/7] repo: add more path keys to git repo info Junio C Hamano
2026-07-26 17:00 ` K Jayatheerth
2026-07-27 0:57 ` Lucas Seiki Oshiro
2026-07-27 5:55 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260726104343.16933-1-jayatheerthkulkarni2005@gmail.com \
--to=jayatheerthkulkarni2005@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jltobler@gmail.com \
--cc=lucasseikioshiro@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.