git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Bug report between git hooks and git worktree

From
PWPreston Tunnell Wilson <prestontunnellwilson@gmail.com>
Date
Jan 7, 2023, 18:59 UTC
Message-ID
<CAC-j02OVoFDFjeGUjcs0ZMwPSXKLL_GBme2m2-ttzGTbxXNP-w@mail.gmail.com>
Hello!

I ran into a strange issue using git-worktree with git-hooks. I have attached the output of `git bugreport` below. More concrete steps to reproduce are available in https://github.com/prestontw/git_hook-git_worktree-minimal-repo. I've run into this both in macOS and Fedora---I've included the system information from both of these systems below.

What did you do before the bug happened? (Steps to reproduce your issue)

Add a git hook that executes git commands inside of another folder. Let's call this other folder `FolderA`. (This might sound weird, but `flutter` distributes itself through a `git` folder in some circumstances and uses `git` commands to see which version the user has installed, etc.).

Add a git worktree branch/folder, `cd` to it, and commit something there. Let's call this git worktree folder `FolderW`.

(Steps are outlined in more detail with an example in https://github.com/prestontw/git_hook-git_worktree-minimal-repo.)

What did you expect to happen? (Expected behavior)
The git command would report details from `FolderA`.
What happened instead? (Actual behavior)
The git command outputs details from `FolderW`.
What's different between what you expected and what actually happened?

I would expect the git command to output details from `FolderA`. It's confusing to me that there is a difference in behavior between the "main" branch and `FolderW` in git hooks.

Anything else you want to add:

I'm seeing this both in macOS and Fedora. I've added that system info below.

[System Info] git version: git version 2.32.0 (Apple Git-132) cpu: arm64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Darwin 21.4.0 Darwin Kernel Version 21.4.0: Mon Feb 21 20:35:58 PST 2022; root:xnu-8020.101.4~2/RELEASE_ARM64_T6000 arm64 compiler info: clang: 13.1.6 (clang-1316.0.21.2) libc info: no libc information available $SHELL (typically, interactive shell): /bin/zsh

[Enabled Hooks] pre-commit

[System Info] git version: git version 2.37.3 cpu: aarch64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Linux 6.0.7-301.fc37.aarch64 #1 SMP PREEMPT_DYNAMIC Fri Nov 4 18:13:35 U> compiler info: gnuc: 12.2 libc info: glibc: 2.36 $SHELL (typically, interactive shell): /bin/bash

[Enabled Hooks] pre-commit

Next: Preston Tunnell Wilson
Message 1 of 3 in “Bug report between git hooks and git worktree”
  1. Preston Tunnell WilsonJan 7, 2023
  2. Preston Tunnell WilsonJan 7, 2023
  3. Eric SunshineJan 8, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.