Skip to content

repo: add paths.git_dir to 'git repo info'#2242

Open
jayesh0104 wants to merge 1 commit intogit:masterfrom
jayesh0104:master
Open

repo: add paths.git_dir to 'git repo info'#2242
jayesh0104 wants to merge 1 commit intogit:masterfrom
jayesh0104:master

Conversation

@jayesh0104
Copy link

@jayesh0104 jayesh0104 commented Mar 17, 2026

Teach git repo info a new key, paths.git_dir, which reports the repository’s gitdir path (equivalent to git rev-parse --git-dir).

Documentation and tests are included.

Tests:

  • make test T=t1900-repo-info.sh

cc: Karthik Nayak karthik.188@gmail.com
cc: Justin Tobler jltobler@gmail.com
cc: Ayush Chandekar ayu.chandekar@gmail.com
cc: Siddharth Asthana siddharthasthana31@gmail.com

@gitgitgadget-git
Copy link

Welcome to GitGitGadget

Hi @jayesh0104, and welcome to GitGitGadget, the GitHub App to send patch series to the Git mailing list from GitHub Pull Requests.

Please make sure that either:

  • Your Pull Request has a good description, if it consists of multiple commits, as it will be used as cover letter.
  • Your Pull Request description is empty, if it consists of a single commit, as the commit message should be descriptive enough by itself.

You can CC potential reviewers by adding a footer to the PR description with the following syntax:

CC: Revi Ewer <revi.ewer@example.com>, Ill Takalook <ill.takalook@example.net>

NOTE: DO NOT copy/paste your CC list from a previous GGG PR's description,
because it will result in a malformed CC list on the mailing list. See
example.

Also, it is a good idea to review the commit messages one last time, as the Git project expects them in a quite specific form:

  • the lines should not exceed 76 columns,
  • the first line should be like a header and typically start with a prefix like "tests:" or "revisions:" to state which subsystem the change is about, and
  • the commit messages' body should be describing the "why?" of the change.
  • Finally, the commit messages should end in a Signed-off-by: line matching the commits' author.

It is in general a good idea to await the automated test ("Checks") in this Pull Request before contributing the patches, e.g. to avoid trivial issues such as unportable code.

Contributing the patches

Before you can contribute the patches, your GitHub username needs to be added to the list of permitted users. Any already-permitted user can do that, by adding a comment to your PR of the form /allow. A good way to find other contributors is to locate recent pull requests where someone has been /allowed:

Both the person who commented /allow and the PR author are able to /allow you.

An alternative is the channel #git-devel on the Libera Chat IRC network:

<newcontributor> I've just created my first PR, could someone please /allow me? https://github.com/gitgitgadget/git/pull/12345
<veteran> newcontributor: it is done
<newcontributor> thanks!

Once on the list of permitted usernames, you can contribute the patches to the Git mailing list by adding a PR comment /submit.

If you want to see what email(s) would be sent for a /submit request, add a PR comment /preview to have the email(s) sent to you. You must have a public GitHub email address for this. Note that any reviewers CC'd via the list in the PR description will not actually be sent emails.

After you submit, GitGitGadget will respond with another comment that contains the link to the cover letter mail in the Git mailing list archive. Please make sure to monitor the discussion in that thread and to address comments and suggestions (while the comments and suggestions will be mirrored into the PR by GitGitGadget, you will still want to reply via mail).

If you do not want to subscribe to the Git mailing list just to be able to respond to a mail, you can download the mbox from the Git mailing list archive (click the (raw) link), then import it into your mail program. If you use GMail, you can do this via:

curl -g --user "<EMailAddress>:<Password>" \
    --url "imaps://imap.gmail.com/INBOX" -T /path/to/raw.txt

To iterate on your change, i.e. send a revised patch or patch series, you will first want to (force-)push to the same branch. You probably also want to modify your Pull Request description (or title). It is a good idea to summarize the revision by adding something like this to the cover letter (read: by editing the first comment on the PR, i.e. the PR description):

Changes since v1:
- Fixed a typo in the commit message (found by ...)
- Added a code comment to ... as suggested by ...
...

To send a new iteration, just add another PR comment with the contents: /submit.

Need help?

New contributors who want advice are encouraged to join git-mentoring@googlegroups.com, where volunteers who regularly contribute to Git are willing to answer newbie questions, give advice, or otherwise provide mentoring to interested contributors. You must join in order to post or view messages, but anyone can join.

You may also be able to find help in real time in the developer IRC channel, #git-devel on Libera Chat. Remember that IRC does not support offline messaging, so if you send someone a private message and log out, they cannot respond to you. The scrollback of #git-devel is archived, though.

@gitgitgadget-git
Copy link

Invalid author email in e2accc1: "86013121+jayesh0104@users.noreply.github.com"

@gitgitgadget-git
Copy link

Invalid author email in 6963ae0: "86013121+jayesh0104@users.noreply.github.com"

@gitgitgadget-git
Copy link

Invalid author email in f07605e: "86013121+jayesh0104@users.noreply.github.com"

@jayesh0104 jayesh0104 marked this pull request as draft March 17, 2026 14:30
@jayesh0104 jayesh0104 marked this pull request as ready for review March 17, 2026 15:38
@gitgitgadget-git
Copy link

There are issues in commit f80434e:
Add get_paths_git_dir function to repo.c

  • Commit checks stopped - the message is too short
  • Commit not signed off

@gitgitgadget-git
Copy link

There is an issue in commit d373fd9:
Document 'paths.git_dir' key in git-repo

  • Commit not signed off

@gitgitgadget-git
Copy link

There is an issue in commit c71df10:
Add test for paths.git_dir consistency

  • Commit not signed off

Copy link

@leuasseurfarrelds247-arch leuasseurfarrelds247-arch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

064fe7f3312418007dea2b49a19844a9ee378f49

@jayesh0104
Copy link
Author

/preview

@gitgitgadget-git
Copy link

Error: User jayesh0104 is not yet permitted to use GitGitGadget

@dscho
Copy link
Member

dscho commented Mar 17, 2026

cc: Karthik Nayak karthik.188@gmail.com cc: Justin Tobler jltobler@gmail.com cc: Ayush Chandekar ayu.chandekar@gmail.com cc: Siddharth Asthana siddharthasthana31@gmail.com

Please read the instructions carefully. This Cc: list goes into the PR description, not just a random PR comment anywhere in the PR.

@jayesh0104
Copy link
Author

cc: Karthik Nayak karthik.188@gmail.com cc: Justin Tobler jltobler@gmail.com cc: Ayush Chandekar ayu.chandekar@gmail.com cc: Siddharth Asthana siddharthasthana31@gmail.com

Please read the instructions carefully. This Cc: list goes into the PR description, not just a random PR comment anywhere in the PR.

Thanks for the clarification , got it. I’ve updated the PR description to include the Cc: list in the correct place instead of adding it as a separate comment. Please let me know if anything else needs adjustment.

@dscho
Copy link
Member

dscho commented Mar 17, 2026

@jayesh0104 also, if you want to avoid being yelled at by the Git maintainer, you will want to reconsider those commit messages. Have a look around via git log, and you will see that one-liners or two-liners, especially ones without that Signed-off-by: trailer, will never ever make it into Git proper.

You definitly will want to follow the guidance in https://github.blog/2022-06-30-write-better-commits-build-better-projects/ to improve it, in particular with a strong focus on this part:

  What you’re doing Why you’re doing it
High-level (strategic) Intent (what does this accomplish?) Context (why does the code do what it does now?)
Low-level (tactical) Implementation (what did you do to accomplish your goal?) Justification (why is this change being made?)

@dscho
Copy link
Member

dscho commented Mar 17, 2026

Finally, the changes of those three commits seem to belong into a single commit. You will want to squash them into a single one as described here.

Introduce a new repo info key `paths.git_dir` to expose the
repository's gitdir path, equivalent to `git rev-parse --git-dir`.

This improves consistency and allows tools to retrieve the gitdir
path without invoking external commands.

The implementation adds support in repo.c and integrates it into
the repo info reporting mechanism. Documentation is updated to
describe the new key, and tests are added to verify that the value
matches the output of `git rev-parse --git-dir`.

Signed-off-by: jayesh0104 <jayeshdaga99@gmail.com>
@jayesh0104
Copy link
Author

Finally, the changes of those three commits seem to belong into a single commit. You will want to squash them into a single one as described here.

Thanks for pointing this out, I understand the issue now. I’ll rework the commit messages to follow Git’s conventions, including adding proper structure and the required Signed-off-by: trailer.

I’ll also review git log examples and update the messages to clearly explain both the what and the why, as suggested. I’ll push an updated version shortly.

@dscho
Copy link
Member

dscho commented Mar 17, 2026

/allow

@gitgitgadget-git
Copy link

Error: User jayesh0104 is not yet permitted to use GitGitGadget

@jayesh0104
Copy link
Author

/submit

@gitgitgadget-git
Copy link

User jayesh0104 is now allowed to use GitGitGadget.

WARNING: jayesh0104 has no public email address set on GitHub; GitGitGadget needs an email address to Cc: you on your contribution, so that you receive any feedback on the Git mailing list. Go to https://github.com/settings/profile to make your preferred email public to let GitGitGadget know which email address to use.

@gitgitgadget-git
Copy link

Submitted as pull.2242.git.git.1773766519857.gitgitgadget@gmail.com

To fetch this version into FETCH_HEAD:

git fetch https://github.com/gitgitgadget/git/ pr-git-2242/jayesh0104/master-v1

To fetch this version to local tag pr-git-2242/jayesh0104/master-v1:

git fetch --no-tags https://github.com/gitgitgadget/git/ tag pr-git-2242/jayesh0104/master-v1

@dscho
Copy link
Member

dscho commented Mar 17, 2026

@jayesh0104 you will want to learn some patience, otherwise this will not be the best of experiences you'll get in your life. If you /preview before the /allow automation was allowed to finish, and then proceed to /submit after receiving an error message that the /preview failed, you will not enjoy the waiting times while reviewers are too busy to look at your patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants