From: "Gabriel Nützi" <gnuetzi@gmail.com>
To: git@vger.kernel.org
Subject: Bug: `git init` with hook `reference-transaction` running `git rev-parse --git-dir` fails
Date: Fri, 20 Sep 2024 12:07:53 +0200 [thread overview]
Message-ID: <0084cc18b6d90ba14849a7f788939f4a1d0d61c9.camel@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2101 bytes --]
Thank you for filling out a Git bug report!
Please answer the following questions to help us understand your issue.
What did you do before the bug happened? (Steps to reproduce your
issue)
I set `git config --global core.hooksPath ~/myhooks` and placed a
`reference-transaction` hook in `~/myhooks/reference-transaction`
with the content:
```shell
#!/usr/bin/env bash
set -e
echo "$GIT_DIR"
git rev-parse --absolute-git-dir
```
then I ran
```shell
mkdir ~/test && cd test
git init
```
What did you expect to happen? (Expected behavior)
The Git repo `~/test` should have been initialized (and the hook
`reference-transaction` would have passed successfully.)
What happened instead? (Actual behavior)
The hook `reference-transaction` crashes since `git rev-parse --
absolute-git-dir` with
```
failed: not a git repository: ...
```
What's different between what you expected and what actually happened?
The documentation says that `git rev-parse --absolute-git-dir` inside
the `reference-transaction` hooks read "$GIT_DIR" if defined (which is
defined!) so the `reference-transaction` should have passed. I assume
that hooks should be executed on properly initialized repositories,
right? Therefore I do not understand why `git rev-parse --absolute-git-
dir` fails -> Bug?
Anything else you want to add:
This came up with `Githooks` hooks manager
https://github.com/gabyx/Githooks where we use this command
to locate the current Git dir...
Please review the rest of the bug report below.
You can delete any lines you don't wish to share.
[System Info]
git version:
git version 2.46.0
cpu: x86_64
no commit associated with this build
sizeof-long: 8
sizeof-size_t: 8
shell-path: /nix/store/izpf49b74i15pcr9708s3xdwyqs4jxwl-bash-
5.2p32/bin/bash
libcurl: 8.9.1
OpenSSL: OpenSSL 3.0.14 4 Jun 2024
zlib: 1.3.1
uname: Linux 6.6.45 #1-NixOS SMP PREEMPT_DYNAMIC Sun Aug 11 10:47:28
UTC 2024 x86_64
compiler info: gnuc: 13.3
libc info: glibc: 2.39
$SHELL (typically, interactive shell): /run/current-system/sw/bin/zsh
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next reply other threads:[~2024-09-20 10:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-20 10:07 Gabriel Nützi [this message]
2024-09-20 10:42 ` Bug: `git init` with hook `reference-transaction` running `git rev-parse --git-dir` fails Gabriel Nützi
2024-10-07 8:03 ` Patrick Steinhardt
2024-10-07 10:54 ` Gabriel Nützi
2024-10-07 10:57 ` Patrick Steinhardt
2024-10-07 11:02 ` Gabriel Nützi
2024-10-07 11:24 ` Patrick Steinhardt
2024-10-07 21:02 ` Junio C Hamano
2024-10-09 9:39 ` Patrick Steinhardt
2024-10-09 10:09 ` Karthik Nayak
2024-10-09 11:53 ` Gabriel Nützi
2024-10-09 12:19 ` Patrick Steinhardt
[not found] ` <B0631C6D-0914-4C25-AAF7-E742129836FC@gmail.com>
2024-10-14 12:25 ` Patrick Steinhardt
2024-10-09 17:31 ` 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=0084cc18b6d90ba14849a7f788939f4a1d0d61c9.camel@gmail.com \
--to=gnuetzi@gmail.com \
--cc=git@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).